browser(webkit): pass some of the modernizr checks (#7593)

This commit is contained in:
Pavel Feldman 2021-07-13 17:45:00 -07:00 committed by GitHub
parent c602a50b4c
commit 77afd6bdad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 444 additions and 42 deletions

View File

@ -1,2 +1,2 @@
1510
Changed: aslushnikov@gmail.com Wed Jul 14 03:26:24 MSK 2021
1511
Changed: pavel.feldman@gmail.com Wed Jul 14 03:36:24 MSK 2021

View File

@ -926,10 +926,19 @@ index 882a2d56befef0aba460cc8ff041969e0d2c1ed3..71d4bfc4a4bc5a43bd2b98aefa316b4e
],
"events": [
diff --git a/Source/JavaScriptCore/inspector/protocol/Page.json b/Source/JavaScriptCore/inspector/protocol/Page.json
index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169038e8226 100644
index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..35b44b9fc9bbde387991155e6fa3d26a0fd368d5 100644
--- a/Source/JavaScriptCore/inspector/protocol/Page.json
+++ b/Source/JavaScriptCore/inspector/protocol/Page.json
@@ -27,7 +27,7 @@
@@ -21,13 +21,15 @@
"ShowDebugBorders",
"ShowRepaintCounter",
"WebRTCEncryptionEnabled",
- "WebSecurityEnabled"
+ "WebSecurityEnabled",
+ "DeviceOrientationEventEnabled",
+ "SpeechRecognitionEnabled"
]
},
{
"id": "ResourceType",
"type": "string",
@ -938,7 +947,7 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169
"description": "Resource type as it was perceived by the rendering engine."
},
{
@@ -49,6 +49,12 @@
@@ -49,6 +51,12 @@
"enum": ["Light", "Dark"],
"description": "Page appearance name."
},
@ -951,7 +960,7 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169
{
"id": "Frame",
"type": "object",
@@ -112,6 +118,51 @@
@@ -112,6 +120,51 @@
{ "name": "secure", "type": "boolean", "description": "True if cookie is secure." },
{ "name": "sameSite", "$ref": "CookieSameSitePolicy", "description": "Cookie Same-Site policy." }
]
@ -1003,7 +1012,7 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169
}
],
"commands": [
@@ -131,6 +182,14 @@
@@ -131,6 +184,14 @@
{ "name": "revalidateAllResources", "type": "boolean", "optional": true, "description": "If true, all cached subresources will be revalidated when the main resource loads. Otherwise, only expired cached subresources will be revalidated (the default behavior for most WebKit clients)." }
]
},
@ -1018,7 +1027,7 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169
{
"name": "navigate",
"description": "Navigates current page to the given URL.",
@@ -204,7 +263,8 @@
@@ -204,7 +265,8 @@
"name": "setBootstrapScript",
"targetTypes": ["page"],
"parameters": [
@ -1028,7 +1037,7 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169
]
},
{
@@ -270,6 +330,28 @@
@@ -270,6 +332,28 @@
{ "name": "appearance", "$ref": "Appearance", "optional": true }
]
},
@ -1057,7 +1066,7 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169
{
"name": "snapshotNode",
"description": "Capture a snapshot of the specified node that does not include unrelated layers.",
@@ -290,7 +372,8 @@
@@ -290,7 +374,8 @@
{ "name": "y", "type": "integer", "description": "Y coordinate" },
{ "name": "width", "type": "integer", "description": "Rectangle width" },
{ "name": "height", "type": "integer", "description": "Rectangle height" },
@ -1067,7 +1076,7 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169
],
"returns": [
{ "name": "dataURL", "type": "string", "description": "Base64-encoded image data (PNG)." }
@@ -308,12 +391,77 @@
@@ -308,12 +393,77 @@
{
"name": "setScreenSizeOverride",
"description": "Overrides screen size exposed to DOM and used in media queries for testing with provided values.",
@ -1146,7 +1155,7 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169
}
],
"events": [
@@ -321,14 +469,16 @@
@@ -321,14 +471,16 @@
"name": "domContentEventFired",
"targetTypes": ["page"],
"parameters": [
@ -1165,7 +1174,7 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169
]
},
{
@@ -338,6 +488,14 @@
@@ -338,6 +490,14 @@
{ "name": "frame", "$ref": "Frame", "description": "Frame object." }
]
},
@ -1180,7 +1189,7 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169
{
"name": "frameDetached",
"description": "Fired when frame has been detached from its parent.",
@@ -377,6 +535,22 @@
@@ -377,6 +537,22 @@
{ "name": "frameId", "$ref": "Network.FrameId", "description": "Id of the frame that has cleared its scheduled navigation." }
]
},
@ -1203,7 +1212,7 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..5f7add78fefc2bf8718ff8af7c49c169
{
"name": "defaultAppearanceDidChange",
"description": "Fired when page's default appearance changes, even if there is a forced appearance.",
@@ -385,6 +559,28 @@
@@ -385,6 +561,28 @@
"parameters": [
{ "name": "appearance", "$ref": "Appearance", "description": "Name of the appearance that is active (not considering any forced appearance.)" }
]
@ -1940,7 +1949,7 @@ index e7331574bbfe695080432c506a393ed218d0e651..8333ecf890ba03175aa5fa9afe89217f
InspectorWindowFrame:
type: String
diff --git a/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml b/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml
index 9ecb7a3d6b39ca23ddd3258326a1fdc2f016ce30..66fbf9a9d6706b3d449eb73d842dde7a4a211a89 100644
index 9ecb7a3d6b39ca23ddd3258326a1fdc2f016ce30..743a455ad64684fd9fc35e4cd92056a9ba744e52 100644
--- a/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml
+++ b/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml
@@ -622,9 +622,9 @@ MaskWebGLStringsEnabled:
@ -1955,6 +1964,15 @@ index 9ecb7a3d6b39ca23ddd3258326a1fdc2f016ce30..66fbf9a9d6706b3d449eb73d842dde7a
# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
MediaCapabilitiesExtensionsEnabled:
@@ -964,7 +964,7 @@ SpeechRecognitionEnabled:
WebKitLegacy:
default: false
WebKit:
- "HAVE(SPEECHRECOGNIZER) && ENABLE(MEDIA_STREAM)": true
+ "ENABLE(MEDIA_STREAM)": true
default: false
WebCore:
default: false
diff --git a/Source/WTF/wtf/DateMath.cpp b/Source/WTF/wtf/DateMath.cpp
index ebd69a4c76cd7acb0a233be552071158ca2171ca..2ee388e94a56d3de9c9fb2506d2ddead2db1ef87 100644
--- a/Source/WTF/wtf/DateMath.cpp
@ -2465,6 +2483,19 @@ index 4436fd8ca990af2e5cc147047fc39c2470104e64..9ebf2f8e499066a5e7461cfa1f8287f5
bool AccessibilityObject::accessibilityIsIgnored() const
{
AXComputedObjectAttributeCache* attributeCache = nullptr;
diff --git a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h
index 7790e27189a050ff4a8c37e431b01632975d27a4..8660a68fcba1d3950305669a2cbb3f36771cc9c8 100644
--- a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h
+++ b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h
@@ -88,6 +88,8 @@ namespace WebCore {
macro(Database) \
macro(DataTransferItem) \
macro(DataTransferItemList) \
+ macro(DeviceMotionEvent) \
+ macro(DeviceOrientationEvent) \
macro(DocumentTimeline) \
macro(EnterPictureInPictureEvent) \
macro(ExtendableEvent) \
diff --git a/Source/WebCore/css/MediaQueryEvaluator.cpp b/Source/WebCore/css/MediaQueryEvaluator.cpp
index a47b2fe549a89414a207864aabe897d07a59727c..53357bc9ce111bcb1241256647c3630ae767213d 100644
--- a/Source/WebCore/css/MediaQueryEvaluator.cpp
@ -2523,6 +2554,30 @@ index b084ee416512652220e43a6d4bcccaff7c666d5a..b250f3d0161817efef7e2634a16713b0
static Ref<DataTransfer> createForDragStartEvent(const Document&);
static Ref<DataTransfer> createForDrop(const Document&, std::unique_ptr<Pasteboard>&&, OptionSet<DragOperation>, bool draggingFiles);
static Ref<DataTransfer> createForUpdatingDropTarget(const Document&, std::unique_ptr<Pasteboard>&&, OptionSet<DragOperation>, bool draggingFiles);
diff --git a/Source/WebCore/dom/DeviceMotionEvent.idl b/Source/WebCore/dom/DeviceMotionEvent.idl
index cb64adcd7af56fb2977d2403b110ff3fb74c4408..ba037ac019ed8c47fd73df234a88cbef6f7254d8 100644
--- a/Source/WebCore/dom/DeviceMotionEvent.idl
+++ b/Source/WebCore/dom/DeviceMotionEvent.idl
@@ -25,6 +25,7 @@
[
Conditional=DEVICE_ORIENTATION,
+ EnabledBySetting=DeviceOrientationEvent,
Exposed=Window
] interface DeviceMotionEvent : Event {
readonly attribute Acceleration? acceleration;
diff --git a/Source/WebCore/dom/DeviceOrientationEvent.idl b/Source/WebCore/dom/DeviceOrientationEvent.idl
index 1c1cbc1f55089ea7c73c83f04db3caddc5a8b3b3..f1ccf42cf7f699747b31873ab9d96b3f7afc8fd3 100644
--- a/Source/WebCore/dom/DeviceOrientationEvent.idl
+++ b/Source/WebCore/dom/DeviceOrientationEvent.idl
@@ -25,6 +25,7 @@
[
Conditional=DEVICE_ORIENTATION,
+ EnabledBySetting=DeviceOrientationEvent,
Exposed=Window
] interface DeviceOrientationEvent : Event {
readonly attribute unrestricted double? alpha;
diff --git a/Source/WebCore/dom/PointerEvent.cpp b/Source/WebCore/dom/PointerEvent.cpp
index f21879fdfbc64e7d2f11ab084d46794a9e601110..151c9b72f0f552c2ff741305c4c0a8c7f51a92e3 100644
--- a/Source/WebCore/dom/PointerEvent.cpp
@ -3861,7 +3916,7 @@ index 7cdc5865e58e9a9a30ea25202692d4b9aa77b2d6..7c42be0cbadf9a594926cbe89ce510b0
std::unique_ptr<Inspector::NetworkFrontendDispatcher> m_frontendDispatcher;
diff --git a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp
index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263a43f6604 100644
index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..3a63079e3bba97ef638224c476169e42752ccb97 100644
--- a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp
+++ b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp
@@ -32,19 +32,25 @@
@ -3997,7 +4052,29 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
Protocol::ErrorStringOr<void> InspectorPageAgent::navigate(const String& url)
{
UserGestureIndicator indicator { ProcessingUserGesture };
@@ -696,9 +742,13 @@ Protocol::ErrorStringOr<std::tuple<String, bool /* base64Encoded */>> InspectorP
@@ -439,6 +485,10 @@ Protocol::ErrorStringOr<void> InspectorPageAgent::overrideSetting(Protocol::Page
inspectedPageSettings.setAuthorAndUserStylesEnabledInspectorOverride(value);
return { };
+ case Protocol::Page::Setting::DeviceOrientationEventEnabled:
+ inspectedPageSettings.setDeviceOrientationEventEnabled(value.value_or(false));
+ return { };
+
case Protocol::Page::Setting::ICECandidateFilteringEnabled:
inspectedPageSettings.setICECandidateFilteringEnabledInspectorOverride(value);
return { };
@@ -476,6 +526,10 @@ Protocol::ErrorStringOr<void> InspectorPageAgent::overrideSetting(Protocol::Page
inspectedPageSettings.setShowRepaintCounterInspectorOverride(value);
return { };
+ case Protocol::Page::Setting::SpeechRecognitionEnabled:
+ inspectedPageSettings.setSpeechRecognitionEnabled(value.value_or(false));
+ return { };
+
case Protocol::Page::Setting::WebRTCEncryptionEnabled:
inspectedPageSettings.setWebRTCEncryptionEnabledInspectorOverride(value);
return { };
@@ -696,9 +750,13 @@ Protocol::ErrorStringOr<std::tuple<String, bool /* base64Encoded */>> InspectorP
return { { content, base64Encoded } };
}
@ -4013,7 +4090,7 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
return { };
}
@@ -801,15 +851,16 @@ Protocol::ErrorStringOr<void> InspectorPageAgent::setShowPaintRects(bool show)
@@ -801,15 +859,16 @@ Protocol::ErrorStringOr<void> InspectorPageAgent::setShowPaintRects(bool show)
return { };
}
@ -4035,7 +4112,7 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
}
void InspectorPageAgent::frameNavigated(Frame& frame)
@@ -817,13 +868,23 @@ void InspectorPageAgent::frameNavigated(Frame& frame)
@@ -817,13 +876,23 @@ void InspectorPageAgent::frameNavigated(Frame& frame)
m_frontendDispatcher->frameNavigated(buildObjectForFrame(&frame));
}
@ -4062,7 +4139,7 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
}
Frame* InspectorPageAgent::frameForId(const Protocol::Network::FrameId& frameId)
@@ -835,20 +896,18 @@ String InspectorPageAgent::frameId(Frame* frame)
@@ -835,20 +904,18 @@ String InspectorPageAgent::frameId(Frame* frame)
{
if (!frame)
return emptyString();
@ -4089,7 +4166,7 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
}
Frame* InspectorPageAgent::assertFrame(Protocol::ErrorString& errorString, const Protocol::Network::FrameId& frameId)
@@ -859,11 +918,6 @@ Frame* InspectorPageAgent::assertFrame(Protocol::ErrorString& errorString, const
@@ -859,11 +926,6 @@ Frame* InspectorPageAgent::assertFrame(Protocol::ErrorString& errorString, const
return frame;
}
@ -4101,7 +4178,7 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
void InspectorPageAgent::frameStartedLoading(Frame& frame)
{
m_frontendDispatcher->frameStartedLoading(frameId(&frame));
@@ -884,6 +938,12 @@ void InspectorPageAgent::frameClearedScheduledNavigation(Frame& frame)
@@ -884,6 +946,12 @@ void InspectorPageAgent::frameClearedScheduledNavigation(Frame& frame)
m_frontendDispatcher->frameClearedScheduledNavigation(frameId(&frame));
}
@ -4114,7 +4191,7 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
#if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT)
void InspectorPageAgent::defaultAppearanceDidChange(bool useDarkAppearance)
{
@@ -893,13 +953,22 @@ void InspectorPageAgent::defaultAppearanceDidChange(bool useDarkAppearance)
@@ -893,13 +961,22 @@ void InspectorPageAgent::defaultAppearanceDidChange(bool useDarkAppearance)
void InspectorPageAgent::didClearWindowObjectInWorld(Frame& frame, DOMWrapperWorld& world)
{
@ -4140,7 +4217,7 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
}
void InspectorPageAgent::didPaint(RenderObject& renderer, const LayoutRect& rect)
@@ -943,6 +1012,52 @@ void InspectorPageAgent::didRecalculateStyle()
@@ -943,6 +1020,52 @@ void InspectorPageAgent::didRecalculateStyle()
m_overlay->update();
}
@ -4193,7 +4270,7 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
Ref<Protocol::Page::Frame> InspectorPageAgent::buildObjectForFrame(Frame* frame)
{
ASSERT_ARG(frame, frame);
@@ -1079,11 +1194,13 @@ Protocol::ErrorStringOr<String> InspectorPageAgent::snapshotNode(Protocol::DOM::
@@ -1079,11 +1202,13 @@ Protocol::ErrorStringOr<String> InspectorPageAgent::snapshotNode(Protocol::DOM::
return snapshot->toDataURL("image/png"_s, std::nullopt, PreserveResolution::Yes);
}
@ -4208,7 +4285,7 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
IntRect rectangle(x, y, width, height);
auto snapshot = snapshotFrameRect(m_inspectedPage.mainFrame(), rectangle, WTFMove(options));
@@ -1094,6 +1211,47 @@ Protocol::ErrorStringOr<String> InspectorPageAgent::snapshotRect(int x, int y, i
@@ -1094,6 +1219,47 @@ Protocol::ErrorStringOr<String> InspectorPageAgent::snapshotRect(int x, int y, i
return snapshot->toDataURL("image/png"_s, std::nullopt, PreserveResolution::Yes);
}
@ -4256,7 +4333,7 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
#if ENABLE(WEB_ARCHIVE) && USE(CF)
Protocol::ErrorStringOr<String> InspectorPageAgent::archive()
{
@@ -1106,7 +1264,6 @@ Protocol::ErrorStringOr<String> InspectorPageAgent::archive()
@@ -1106,7 +1272,6 @@ Protocol::ErrorStringOr<String> InspectorPageAgent::archive()
}
#endif
@ -4264,7 +4341,7 @@ index 64117425ba5c5b6a71d190dfc8f1eefb4ffc637c..8fa02250a9c5736a7a8099840bf8f263
Protocol::ErrorStringOr<void> InspectorPageAgent::setScreenSizeOverride(std::optional<int>&& width, std::optional<int>&& height)
{
if (width.has_value() != height.has_value())
@@ -1121,6 +1278,595 @@ Protocol::ErrorStringOr<void> InspectorPageAgent::setScreenSizeOverride(std::opt
@@ -1121,6 +1286,595 @@ Protocol::ErrorStringOr<void> InspectorPageAgent::setScreenSizeOverride(std::opt
m_inspectedPage.mainFrame().setOverrideScreenSize(FloatSize(width.value_or(0), height.value_or(0)));
return { };
}
@ -7140,6 +7217,92 @@ index fd39633380b947a2050a7b8680c57990f6d75cb6..a9e564cee2d4b8e72344f31491a15619
#endif
#if PLATFORM(IOS_FAMILY)
diff --git a/Source/WebCore/platform/SourcesGLib.txt b/Source/WebCore/platform/SourcesGLib.txt
index df273e58adfa61c6d25332b321f6f7d7775c6167..36befc1a01b6a06f2157d80a00d42ef56eee024f 100644
--- a/Source/WebCore/platform/SourcesGLib.txt
+++ b/Source/WebCore/platform/SourcesGLib.txt
@@ -29,6 +29,7 @@ platform/glib/KeyedEncoderGlib.cpp
platform/glib/LowPowerModeNotifierGLib.cpp
platform/glib/SharedBufferGlib.cpp
platform/glib/UserAgentGLib.cpp
+platform/glib/PlatformSpeechSynthesizerGLib.cpp
platform/network/glib/DNSResolveQueueGLib.cpp
platform/network/glib/NetworkStateNotifierGLib.cpp
diff --git a/Source/WebCore/platform/glib/PlatformSpeechSynthesizerGLib.cpp b/Source/WebCore/platform/glib/PlatformSpeechSynthesizerGLib.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f0c3a183e5bc44bdfa4201e0db2067b41bf51580
--- /dev/null
+++ b/Source/WebCore/platform/glib/PlatformSpeechSynthesizerGLib.cpp
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "PlatformSpeechSynthesizer.h"
+
+#if ENABLE(SPEECH_SYNTHESIS)
+
+namespace WebCore {
+
+PlatformSpeechSynthesizer::PlatformSpeechSynthesizer(PlatformSpeechSynthesizerClient* client)
+ : m_speechSynthesizerClient(client)
+{
+}
+
+PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer()
+{
+}
+
+void PlatformSpeechSynthesizer::initializeVoiceList()
+{
+}
+
+void PlatformSpeechSynthesizer::pause()
+{
+}
+
+void PlatformSpeechSynthesizer::resume()
+{
+}
+
+void PlatformSpeechSynthesizer::speak(RefPtr<PlatformSpeechSynthesisUtterance>&& utterance)
+{
+}
+
+void PlatformSpeechSynthesizer::cancel()
+{
+}
+
+void PlatformSpeechSynthesizer::resetState()
+{
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(SPEECH_SYNTHESIS)
diff --git a/Source/WebCore/platform/graphics/FontCascade.h b/Source/WebCore/platform/graphics/FontCascade.h
index 6dade9146fe99078ac1a58b28cf0c5dd0c351095..16a641f4237a8a3a7a40461e3429551f7ca96203 100644
--- a/Source/WebCore/platform/graphics/FontCascade.h
@ -10551,7 +10714,7 @@ index a4391be7b637fd96d880cb06838b6deb5db552b6..3f7d5e6c9debc1cf1155da11bad14fc5
UIProcess/gtk/WebPasteboardProxyGtk.cpp
UIProcess/gtk/WebPopupMenuProxyGtk.cpp
diff --git a/Source/WebKit/SourcesWPE.txt b/Source/WebKit/SourcesWPE.txt
index f8fb1511f2a019a08a896f7cbf45ca470da28185..c086fd981369d998ae39b836d4a71504d9b1aeea 100644
index f8fb1511f2a019a08a896f7cbf45ca470da28185..eca7474a51db8dcf86fd4c538addd69633ffebe9 100644
--- a/Source/WebKit/SourcesWPE.txt
+++ b/Source/WebKit/SourcesWPE.txt
@@ -86,6 +86,7 @@ Shared/glib/ProcessExecutablePathGLib.cpp
@ -10570,7 +10733,15 @@ index f8fb1511f2a019a08a896f7cbf45ca470da28185..c086fd981369d998ae39b836d4a71504
UIProcess/API/glib/WebKitContextMenuClient.cpp @no-unify
UIProcess/API/glib/WebKitCookieManager.cpp @no-unify
UIProcess/API/glib/WebKitCredential.cpp @no-unify
@@ -198,6 +200,7 @@ UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
@@ -182,6 +184,7 @@ UIProcess/API/wpe/InputMethodFilterWPE.cpp @no-unify
UIProcess/API/wpe/PageClientImpl.cpp @no-unify
UIProcess/API/wpe/TouchGestureController.cpp @no-unify
UIProcess/API/wpe/WebKitColor.cpp @no-unify
+UIProcess/API/wpe/WebKitDataListSuggestionsDropdown.cpp @no-unify
UIProcess/API/wpe/WebKitInputMethodContextWPE.cpp @no-unify
UIProcess/API/wpe/WebKitPopupMenu.cpp @no-unify
UIProcess/API/wpe/WebKitRectangle.cpp @no-unify
@@ -198,6 +201,7 @@ UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
UIProcess/geoclue/GeoclueGeolocationProvider.cpp
@ -10578,7 +10749,7 @@ index f8fb1511f2a019a08a896f7cbf45ca470da28185..c086fd981369d998ae39b836d4a71504
UIProcess/glib/WebPageProxyGLib.cpp
UIProcess/glib/WebProcessPoolGLib.cpp
UIProcess/glib/WebProcessProxyGLib.cpp
@@ -220,6 +223,10 @@ UIProcess/linux/MemoryPressureMonitor.cpp
@@ -220,6 +224,10 @@ UIProcess/linux/MemoryPressureMonitor.cpp
UIProcess/soup/WebCookieManagerProxySoup.cpp
UIProcess/soup/WebProcessPoolSoup.cpp
@ -10589,7 +10760,7 @@ index f8fb1511f2a019a08a896f7cbf45ca470da28185..c086fd981369d998ae39b836d4a71504
UIProcess/wpe/WebPageProxyWPE.cpp
WebProcess/GPU/media/gstreamer/VideoLayerRemoteGStreamer.cpp
@@ -248,6 +255,8 @@ WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp
@@ -248,6 +256,8 @@ WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp
WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
@ -11631,10 +11802,18 @@ index ecbe433ed888353b1e6013943b4463835c3582d2..7385877fe664515814fc5c3380a2b729
#include <webkit2/WebKitContextMenu.h>
#include <webkit2/WebKitContextMenuActions.h>
diff --git a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp
index 9631a3f19d24c29286ab634c0bd65cfbc83f9334..eb465be92781c91a7c6df0b52f7b637694cfdd76 100644
index 9631a3f19d24c29286ab634c0bd65cfbc83f9334..15c2813f21b419fc9067ae88231de2b12829c38f 100644
--- a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp
+++ b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp
@@ -194,7 +194,7 @@ WebCore::IntPoint PageClientImpl::accessibilityScreenToRootView(const WebCore::I
@@ -34,6 +34,7 @@
#include "WPEView.h"
#include "WebContextMenuProxy.h"
#include "WebContextMenuProxyWPE.h"
+#include "WebKitDataListSuggestionsDropdown.h"
#include "WebKitPopupMenu.h"
#include <WebCore/ActivityState.h>
#include <WebCore/DOMPasteAccess.h>
@@ -194,7 +195,7 @@ WebCore::IntPoint PageClientImpl::accessibilityScreenToRootView(const WebCore::I
WebCore::IntRect PageClientImpl::rootViewToAccessibilityScreen(const WebCore::IntRect& rect)
{
@ -11643,6 +11822,33 @@ index 9631a3f19d24c29286ab634c0bd65cfbc83f9334..eb465be92781c91a7c6df0b52f7b6376
}
void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent&, bool)
@@ -446,4 +447,11 @@ void PageClientImpl::selectionDidChange()
m_view.selectionDidChange();
}
+#if ENABLE(DATALIST_ELEMENT)
+RefPtr<WebKit::WebDataListSuggestionsDropdown> PageClientImpl::createDataListSuggestionsDropdown(WebKit::WebPageProxy& page)
+{
+ return WebKitDataListSuggestionsDropdown::create(page);
+}
+#endif
+
} // namespace WebKit
diff --git a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h
index 8ab8db715db64616a15a06bb2b4760a40ad5f254..0307a117cbd5c4fb767c4905e9e3370efd5ebf9a 100644
--- a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h
+++ b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h
@@ -166,6 +166,10 @@ private:
void selectionDidChange() override;
+#if ENABLE(DATALIST_ELEMENT)
+ RefPtr<WebKit::WebDataListSuggestionsDropdown> createDataListSuggestionsDropdown(WebKit::WebPageProxy& page) override;
+#endif
+
WKWPE::View& m_view;
};
diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitBrowserInspector.h b/Source/WebKit/UIProcess/API/wpe/WebKitBrowserInspector.h
new file mode 100644
index 0000000000000000000000000000000000000000..cb1a540d341b07581ec87b922b7d007ce45ba989
@ -11730,6 +11936,131 @@ index 0000000000000000000000000000000000000000..cb1a540d341b07581ec87b922b7d007c
+G_END_DECLS
+
+#endif
diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitDataListSuggestionsDropdown.cpp b/Source/WebKit/UIProcess/API/wpe/WebKitDataListSuggestionsDropdown.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..afafef2b7fb433e006b1763e653e200bc80edcbd
--- /dev/null
+++ b/Source/WebKit/UIProcess/API/wpe/WebKitDataListSuggestionsDropdown.cpp
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2019 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WebKitDataListSuggestionsDropdown.h"
+
+#if ENABLE(DATALIST_ELEMENT)
+
+#include "WebPageProxy.h"
+
+namespace WebKit {
+
+WebKitDataListSuggestionsDropdown::WebKitDataListSuggestionsDropdown(WebPageProxy& page)
+ : WebDataListSuggestionsDropdown(page)
+{
+}
+
+WebKitDataListSuggestionsDropdown::~WebKitDataListSuggestionsDropdown()
+{
+}
+
+void WebKitDataListSuggestionsDropdown::show(WebCore::DataListSuggestionInformation&& information)
+{
+}
+
+void WebKitDataListSuggestionsDropdown::handleKeydownWithIdentifier(const String& key)
+{
+}
+
+void WebKitDataListSuggestionsDropdown::close()
+{
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(DATALIST_ELEMENT)
diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitDataListSuggestionsDropdown.h b/Source/WebKit/UIProcess/API/wpe/WebKitDataListSuggestionsDropdown.h
new file mode 100644
index 0000000000000000000000000000000000000000..0a099832c3dd959f456fcae49a1d62a9477d2758
--- /dev/null
+++ b/Source/WebKit/UIProcess/API/wpe/WebKitDataListSuggestionsDropdown.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2019 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(DATALIST_ELEMENT)
+
+#include "WebDataListSuggestionsDropdown.h"
+
+namespace WebKit {
+
+class WebPageProxy;
+
+class WebKitDataListSuggestionsDropdown final : public WebDataListSuggestionsDropdown {
+public:
+ static Ref<WebKitDataListSuggestionsDropdown> create(WebPageProxy& page)
+ {
+ return adoptRef(*new WebKitDataListSuggestionsDropdown(page));
+ }
+
+ ~WebKitDataListSuggestionsDropdown();
+
+private:
+ WebKitDataListSuggestionsDropdown(WebPageProxy&);
+
+ void show(WebCore::DataListSuggestionInformation&&) final;
+ void handleKeydownWithIdentifier(const String&) final;
+ void close() final;
+};
+
+} // namespace WebKit
+
+#endif // ENABLE(DATALIST_ELEMENT)
diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitWebViewBackend.cpp b/Source/WebKit/UIProcess/API/wpe/WebKitWebViewBackend.cpp
index e0fc205b39095cf8aae201a1dcca520461c60de4..872186ad99a7b82f0c61705ff6c5ae4453e5e1d4 100644
--- a/Source/WebKit/UIProcess/API/wpe/WebKitWebViewBackend.cpp
@ -13869,7 +14200,7 @@ index a2239cec8e18850f35f7f88a9c4ebadc62bf4023..79f3ff84327dc075ec96983e04db4b10
} // namespace WebKit
diff --git a/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.cpp b/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.cpp
index ed4e6f30b8c35966075573dccee801daceec865e..2357769f3f78a7fda3d3fff1005e77c5d082948d 100644
index ed4e6f30b8c35966075573dccee801daceec865e..6e0bf726a6e8e8773940041bc87f3c7e14403d34 100644
--- a/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.cpp
+++ b/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.cpp
@@ -26,13 +26,21 @@
@ -14154,7 +14485,7 @@ index ed4e6f30b8c35966075573dccee801daceec865e..2357769f3f78a7fda3d3fff1005e77c5
}
void WebPageInspectorController::willDestroyProvisionalPage(const ProvisionalPageProxy& provisionalPage)
@@ -267,4 +457,20 @@ void WebPageInspectorController::browserExtensionsDisabled(HashSet<String>&& ext
@@ -267,4 +457,27 @@ void WebPageInspectorController::browserExtensionsDisabled(HashSet<String>&& ext
m_enabledBrowserAgent->extensionsDisabled(WTFMove(extensionIDs));
}
@ -14172,6 +14503,13 @@ index ed4e6f30b8c35966075573dccee801daceec865e..2357769f3f78a7fda3d3fff1005e77c5
+ // Enable popup debugging.
+ // TODO: allow to set preferences over the inspector protocol or find a better place for this.
+ m_inspectedPage.preferences().setJavaScriptCanOpenWindowsAutomatically(true);
+
+ // Enable media stream.
+ if (!m_inspectedPage.preferences().mediaStreamEnabled()) {
+ m_inspectedPage.preferences().setMediaDevicesEnabled(true);
+ m_inspectedPage.preferences().setMediaStreamEnabled(true);
+ m_inspectedPage.preferences().setPeerConnectionEnabled(true);
+ }
+}
+
} // namespace WebKit
@ -17961,6 +18299,45 @@ index 0000000000000000000000000000000000000000..8006336003a4512b4c63bc8272d4b350
+} // namespace API
+
+#endif // ENABLE(REMOTE_INSPECTOR)
diff --git a/Source/WebKit/UIProcess/glib/WebPageProxyGLib.cpp b/Source/WebKit/UIProcess/glib/WebPageProxyGLib.cpp
index 521df7840ab6d376c25130e87ea500942398c8b6..c733d9d5cd304889640e5af4423860717be94725 100644
--- a/Source/WebKit/UIProcess/glib/WebPageProxyGLib.cpp
+++ b/Source/WebKit/UIProcess/glib/WebPageProxyGLib.cpp
@@ -57,4 +57,34 @@ void WebPageProxy::loadRecentSearches(const String&, CompletionHandler<void(Vect
completionHandler({ });
}
+#if ENABLE(SPEECH_SYNTHESIS)
+void WebPageProxy::didStartSpeaking(WebCore::PlatformSpeechSynthesisUtterance&)
+{
+}
+
+void WebPageProxy::didFinishSpeaking(WebCore::PlatformSpeechSynthesisUtterance&)
+{
+}
+
+void WebPageProxy::didPauseSpeaking(WebCore::PlatformSpeechSynthesisUtterance&)
+{
+}
+
+void WebPageProxy::didResumeSpeaking(WebCore::PlatformSpeechSynthesisUtterance&)
+{
+}
+
+void WebPageProxy::speakingErrorOccurred(WebCore::PlatformSpeechSynthesisUtterance&)
+{
+}
+
+void WebPageProxy::boundaryEventOccurred(WebCore::PlatformSpeechSynthesisUtterance&, WebCore::SpeechBoundary speechBoundary, unsigned charIndex)
+{
+}
+
+void WebPageProxy::voicesDidChange()
+{
+}
+#endif // ENABLE(SPEECH_SYNTHESIS)
+
}
diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.h b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.h
index 39aeff71fe05354cf63d3b3701d363642d63aca4..32e96cdd0bdbd8c5dcde43fdf60052ac13a226f7 100644
--- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.h
@ -20812,7 +21189,7 @@ index 0000000000000000000000000000000000000000..dd6a53e2d57318489b7e49dd7373706d
+ LIBVPX_LIBRARIES
+)
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
index 7de2d6046a98839687ed277009bd9fd4eb5c2fe0..177951f94be605c998c7dc9f7bd2d0f1f3a3270e 100644
index 7de2d6046a98839687ed277009bd9fd4eb5c2fe0..ca67eefec0f255c88122351d845f7daab88f6a16 100644
--- a/Source/cmake/OptionsGTK.cmake
+++ b/Source/cmake/OptionsGTK.cmake
@@ -5,6 +5,8 @@ WEBKIT_OPTION_BEGIN()
@ -20862,7 +21239,15 @@ index 7de2d6046a98839687ed277009bd9fd4eb5c2fe0..177951f94be605c998c7dc9f7bd2d0f1
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK PUBLIC ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS PUBLIC ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CRYPTO PUBLIC ON)
@@ -180,6 +186,12 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PRIVATE ON)
@@ -163,7 +169,6 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_MONTH PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_TIME PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_WEEK PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYOUT_FORMATTING_CONTEXT PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MHTML PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MOUSE_CURSOR_SCALE PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETSCAPE_PLUGIN_API PRIVATE OFF)
@@ -180,6 +185,16 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_API_STATISTICS PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
@ -20871,12 +21256,16 @@ index 7de2d6046a98839687ed277009bd9fd4eb5c2fe0..177951f94be605c998c7dc9f7bd2d0f1
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_TRAILING_WORD PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CURSOR_VISIBILITY PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DEVICE_ORIENTATION PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GAMEPAD PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS PRIVATE ON)
+
include(GStreamerDependencies)
# Finalize the value for all options. Do not attempt to use an option before
diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake
index ed79aed95af5c7cf5525f8647258f4747a5b2553..660b1dc93f1d7dae6f3aaeca58131d32a696eda4 100644
index ed79aed95af5c7cf5525f8647258f4747a5b2553..9ddf39dabf46e4b405418cd4a02c418dcf90f6d7 100644
--- a/Source/cmake/OptionsWPE.cmake
+++ b/Source/cmake/OptionsWPE.cmake
@@ -3,6 +3,7 @@ include(VersioningUtils)
@ -20887,7 +21276,15 @@ index ed79aed95af5c7cf5525f8647258f4747a5b2553..660b1dc93f1d7dae6f3aaeca58131d32
set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
find_package(Cairo 1.14.0 REQUIRED)
@@ -67,15 +68,23 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL2 PRIVATE OFF)
@@ -50,7 +51,6 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_TYPED_OM PRIVATE ${ENABLE_EXPERIMENT
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILTERS_LEVEL_2 PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GPU_PROCESS PRIVATE OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYOUT_FORMATTING_CONTEXT PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MHTML PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETSCAPE_PLUGIN_API PRIVATE OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NOTIFICATIONS PRIVATE ON)
@@ -67,15 +67,28 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL2 PRIVATE OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBXR PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
@ -20896,8 +21293,13 @@ index ed79aed95af5c7cf5525f8647258f4747a5b2553..660b1dc93f1d7dae6f3aaeca58131d32
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_TRAILING_WORD PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CURSOR_VISIBILITY PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DARK_MODE_CSS PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATALIST_ELEMENT PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT PUBLIC ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DEVICE_ORIENTATION PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GAMEPAD PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS PRIVATE ON)
+
# Public options specific to the WPE port. Do not add any options here unless
# there is a strong reason we should support changing the value of the option,