Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream 2024-12-08 #45

Merged
merged 7,036 commits into from
Dec 23, 2024
Merged

Merge upstream 2024-12-08 #45

merged 7,036 commits into from
Dec 23, 2024

Conversation

mnutt
Copy link
Member

@mnutt mnutt commented Dec 23, 2024

Notes

  • disable TEST_SUPPORT by default - unfortunately, there are now conflicting symbols between WebCoreTestSupport and WebCore. QtWebKit has WebKitLegacy depending on WebCoreTestSupport which ends up with conflicting symbols in qtwebkit.so. So we have to disable for now until we can unwind the dependencies.
  • deprecate GraphicsContextPlatformPrivate
  • use tzone allocator in more places
  • a bunch of minor things

csaavedra and others added 30 commits December 8, 2024 17:42
…hesizerSpiel

https://bugs.webkit.org/show_bug.cgi?id=283971

Reviewed by Philippe Normand.

* Source/WebCore/platform/spiel/PlatformSpeechSynthesizerSpiel.cpp:
(WebCore::SpielSpeechWrapper::initializeVoiceList):

Canonical link: https://commits.webkit.org/287279@main
https://bugs.webkit.org/show_bug.cgi?id=283910

Reviewed by Tim Nguyen.

Upstream commit: web-platform-tests/wpt@2cb65c5

* LayoutTests/imported/w3c/resources/resource-files.json:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/Document-write-appending-line-feed-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/Document-write-appending-line-feed.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests-none.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests-expected.txt: Removed.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.html: Removed.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/TrustedTypePolicyFactory-getAttributeType-event-handler-content-attributes.tentative-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/TrustedTypePolicyFactory-getAttributeType-event-handler-content-attributes.tentative.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/TrustedTypePolicyFactory-getPropertyType.tentative-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/TrustedTypePolicyFactory-getPropertyType.tentative.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/block-string-assignment-to-Document-parseHTMLUnsafe.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/block-string-assignment-to-Element-insertAdjacentHTML.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttribute-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttribute.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/block-string-assignment-to-ShadowRoot-innerHTML-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/block-string-assignment-to-ShadowRoot-innerHTML.html: Copied from LayoutTests/imported/w3c/web-platform-tests/trusted-types/block-string-assignment-to-ShadowRoot-setHTMLUnsafe.html.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/block-string-assignment-to-ShadowRoot-setHTMLUnsafe.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/default-policy-callback-arguments.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-csp-tt-default-policy-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-csp-tt-default-policy-mutate-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-csp-tt-default-policy-mutate.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-csp-tt-default-policy.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-csp-tt-no-default-policy-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-csp-tt-no-default-policy.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-function-constructor-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-function-constructor-untrusted-arguments-and-applying-default-policy-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-function-constructor-untrusted-arguments-and-applying-default-policy.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-function-constructor.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-no-csp-no-tt-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/eval-no-csp-no-tt.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/legacy-trusted-script-urls-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/legacy-trusted-script-urls.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/modify-attributes-in-callback-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/modify-attributes-in-callback.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/support/namespaces.js: Added.
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/support/navigation-report-only-support.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/support/navigation-support.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/support/navigation-support.js: Added.
(navigateToJavascriptURL):
(getAndPreparareNavigationElement):
(location.search.includes):
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/support/w3c-import.log:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/trusted-types-navigation-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/trusted-types-navigation.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/trusted-types-reporting-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/trusted-types-reporting.html:
* LayoutTests/imported/w3c/web-platform-tests/trusted-types/w3c-import.log:
* LayoutTests/tests-options.json:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/trusted-types/trusted-types-reporting-expected.txt:
* LayoutTests/platform/win/imported/w3c/web-platform-tests/trusted-types/TrustedTypePolicyFactory-getAttributeType-event-handler-content-attributes.tentative-expected.txt: Added.

Canonical link: https://commits.webkit.org/287280@main
rdar://140852669

Add explicit types for the parameters of this C++ lambda function.

* Source/WebCore/editing/cocoa/DictionaryLookup.mm:
(WebCore::DictionaryLookup::stringForPDFSelection):

Canonical link: https://commits.webkit.org/287281@main
https://bugs.webkit.org/show_bug.cgi?id=283874
rdar://140796551

Reviewed by Devin Rousso.

In 284749@main, I made WebInspectorUI::m_inspectedPageIdentifier a std::optional,
as part of making ObjectIdentifier non-nullable. Whenever m_inspectedPageIdentifier
was using to send IPC, I started dereferencing m_inspectedPageIdentifier, expecting
the identifier to always be valid when sending IPC. However, this assumption turned
out to be incorrect and it would cause us to dereference std::nullopt when opening
WebInspector on an empty tab (no page loaded).

To restore the pre-284749@main behavior, I now null-check m_inspectedPageIdentifier
and use 0 as identifier for sending the IPC if m_inspectedPageIdentifier is std::nullopt.
This behaves exactly like prior to 284749@main. I have verified locally that it makes
the crash go away and Web Inspector correctly opens up on the empty page.

* Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::updateConnection):
(WebKit::WebInspectorUI::frontendLoaded):
(WebKit::WebInspectorUI::startWindowDrag):
(WebKit::WebInspectorUI::bringToFront):
(WebKit::WebInspectorUI::closeWindow):
(WebKit::WebInspectorUI::reopen):
(WebKit::WebInspectorUI::resetState):
(WebKit::WebInspectorUI::setForcedAppearance):
(WebKit::WebInspectorUI::effectiveAppearanceDidChange):
(WebKit::WebInspectorUI::requestSetDockSide):
(WebKit::WebInspectorUI::changeAttachedWindowHeight):
(WebKit::WebInspectorUI::changeAttachedWindowWidth):
(WebKit::WebInspectorUI::changeSheetRect):
(WebKit::WebInspectorUI::openURLExternally):
(WebKit::WebInspectorUI::revealFileExternally):
(WebKit::WebInspectorUI::save):
(WebKit::WebInspectorUI::load):
(WebKit::WebInspectorUI::pickColorFromScreen):
(WebKit::WebInspectorUI::inspectedURLChanged):
(WebKit::WebInspectorUI::showCertificate):
(WebKit::WebInspectorUI::setInspectorPageDeveloperExtrasEnabled):
(WebKit::WebInspectorUI::sendMessageToBackend):
* Source/WebKit/WebProcess/Inspector/WebInspectorUI.h:

Canonical link: https://commits.webkit.org/287282@main
https://bugs.webkit.org/show_bug.cgi?id=283975

Reviewed by Michael Catanzaro.

* Source/WebCore/platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::beginPainting):
(WebCore::TextureMapper::endPainting):

Canonical link: https://commits.webkit.org/287283@main
…Event`

https://bugs.webkit.org/show_bug.cgi?id=283958
rdar://140220599

Reviewed by Pascoe.

This is a partial revert of the message check changes done for site isolation in 285922@main.

Some UI -> WCP messages use a completion handler when an event has been handled, instead of explicitly
sending DidReceiveEvent. If a completion handler returns because a WCP has terminated, we won’t have an
IPC::Connection& to use for the message checks in didReceiveEvent, leading to a release assertion failure
when attempting to access the connection for the mainframe process. We should revert these changes until
we have a better way to get an IPC::Connection using sendWithAsyncReply with site isolated web processes.

* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processNextQueuedMouseEvent):
(WebKit::WebPageProxy::sendPreventableTouchEvent):
(WebKit::WebPageProxy::handlePreventableTouchEvent):
(WebKit::WebPageProxy::handleTouchEvent):
(WebKit::WebPageProxy::mouseEventHandlingCompleted):
(WebKit::WebPageProxy::keyEventHandlingCompleted):
(WebKit::WebPageProxy::didReceiveEvent):
* Source/WebKit/UIProcess/WebPageProxy.h:

Canonical link: https://commits.webkit.org/287284@main
https://bugs.webkit.org/show_bug.cgi?id=252208
rdar://105421820

Reviewed by Antti Koivisto.

Parse block-step-round according to: https://drafts.csswg.org/css-rhythm/#block-step-round

* LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-round-computed-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-round-computed.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-round-invalid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-round-invalid.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-round-valid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-round-valid.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/property-list.js:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/platform/ipad/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* Source/WebCore/css/CSSPrimitiveValueMappings.h:
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle const):
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::conservativelyCollectChangedAnimatableProperties const):
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
* Source/WebCore/rendering/style/RenderStyleConstants.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
(WebCore::RenderStyle::blockStepRound const):
(WebCore::RenderStyle::initialBlockStepRound):
* Source/WebCore/rendering/style/RenderStyleSetters.h:
(WebCore::RenderStyle::setBlockStepRound):
* Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):
(WebCore::StyleRareNonInheritedData::dumpDifferences const):
* Source/WebCore/rendering/style/StyleRareNonInheritedData.h:

Canonical link: https://commits.webkit.org/287285@main
https://bugs.webkit.org/show_bug.cgi?id=274345

Update the test expectation as per recent bots results
and local run confirmations.

* Tools/TestWebKitAPI/glib/TestExpectations.json:

Canonical link: https://commits.webkit.org/287286@main
…'[]' is ambiguous (with operand types 'ASCIILiteral' and 'int')

https://bugs.webkit.org/show_bug.cgi?id=283768

Reviewed by Fujii Hironori.

Specify the type of the integer literal to be size_t to disambiguate
which operator[] to use. I'm not actually sure where the built-in
operator[]s are coming from, but that probably doesn't matter since we
surely want to use the one defined in ASCIILiteral.

* Source/WebCore/svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::append32BitCode):
(WebCore::SVGToOTFFontConverter::appendTable):

Canonical link: https://commits.webkit.org/287287@main
…ailures

rdar://136525714
https://bugs.webkit.org/show_bug.cgi?id=280202

Reviewed by Chris Dumez.

We relax a bit the URL request class check to allow both mutable ans immutable NS url request classes.
ResourceRequest can either wrap a NSURLRequest or recreate a NSMutableURLRequest, depending on how the request is sent through IPC or manipulated.
If ResourceLoad delegates were API, it might be worth ensuring that the exposed request is NSURLRequest.
But this is not needed for this API test.

* Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
(LoadInfo)):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST(ResourceLoadStatistics, StorageAccessOnRedirectSitesWithQuirk)):
(TEST(ResourceLoadStatistics, StorageAccessGrantMultipleSubFrameDomains)):

Canonical link: https://commits.webkit.org/287288@main
https://bugs.webkit.org/show_bug.cgi?id=283977
rdar://problem/140857659

Reviewed by Tim Nguyen.

Fix typo in WPT test exporter script.

* Tools/Scripts/webkitpy/w3c/test_exporter.py:
(parse_args):

Canonical link: https://commits.webkit.org/287289@main
https://bugs.webkit.org/show_bug.cgi?id=283859#
<rdar://problem/140734847>

Reviewed by Antti Koivisto.

We end up producing 2 'last' lines which confuses the 'clear' gap computation.

e.g. some content<br><span></span>

The first (and correct) 'last' line is "some content<br>" while we also mark the
trailing (and completely collapsed) "<span></span>" content as last line (even though this content does not generate any display content).

* LayoutTests/fast/block/float/clear-followed-by-empty-content-expected.html: Added.
* LayoutTests/fast/block/float/clear-followed-by-empty-content.html: Added.
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::isLastLineWithInlineContent const):

Canonical link: https://commits.webkit.org/287290@main
https://bugs.webkit.org/show_bug.cgi?id=283979

HEVC tests are asserting in Debug

Reverted changeset:

"RTCVideoDecoderH264 should report its last available frame as not reordered"
https://bugs.webkit.org/show_bug.cgi?id=283909
https://commits.webkit.org/287220@main

Canonical link: https://commits.webkit.org/287291@main
Update test expectations of tests passing.

* LayoutTests/http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral.https-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-expected.txt.
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/gtk/TestExpectations:
* LayoutTests/platform/wpe/TestExpectations:

Canonical link: https://commits.webkit.org/287292@main
…o-finger pans to scroll

https://bugs.webkit.org/show_bug.cgi?id=283931
rdar://139834901

Reviewed by Abrar Rahman Protyasha.

On iPad, when scrolling via 2-finger swipe on a connected trackpad, `wheel` events are dispatched to
the page via the `WebPage::dispatchWheelEventWithoutScrolling` IPC message. As the name suggests,
this only dispatches `wheel` DOM events to the page, and returns a boolean result back to the UI
process indicating whether or not scrolling should be allowed to commence. UIKit will then only
drive the default scroll animation on the native scroll view under the pointer if the event was not
`handled`.

Whether the event is handled or not depends on the return value of `EventHandler::handleWheelEvent`.
In the case of the Outlook native app's Channels tab, which is comprised of a large full-viewport
subscrollable overflow container, it returns `true` only because the body and root elements have
`overscroll-behavior: none;`, causing us to exit early in `handleWheelEventInternal` with `true`:

```
HandleUserInputEventResult EventHandler::handleWheelEventInternal(…)
{
…
    auto adjustedWheelEvent = event;
    auto filteredDelta = adjustedWheelEvent.delta();
    filteredDelta = view->deltaForPropagation(filteredDelta);
    if (view->shouldBlockScrollPropagation(filteredDelta))
        return true;                                            // <---
```

...and subsequently causes us to block scrolling on the subscrollable container. In this same
codepath on macOS, we also return `true` here, but the key difference is that treating the wheel
event as `handled := true` here doesn't simply block scrolling — that only happens if we've blocked
scrolling due to `preventDefault` being called.

To fix this impedance mismatch between the return value of `handleWheelEvent()` and how it's
interpreted within `WebPage::dispatchWheelEventWithoutScrolling`, we plumb the `EventHandling`
result alongside `HandleUserInputEventResult` up from WebCore to WebKit as a `std::pair`, and
consult the event handling result (i.e. whether or not `EventHandling::DefaultPrevented` is set) in
addition to checking whether the event was handled.

* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):

Make this return a `std::pair<HandleUserInputEventResult, OptionSet<EventHandling>>`, and plumb it
through to the client layer (see `WebPage` changes below) so that we can check if the default was
prevented (not just if the event was handled) in `dispatchWheelEventWithoutScrolling`.

(WebCore::EventHandler::passWheelEventToWidget):
* Source/WebCore/page/EventHandler.h:
* Source/WebCore/page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::wheelEvent):
* Source/WebCore/page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::wheelEvent):
(WebCore::EventHandler::passWheelEventToWidget):
* Source/WebCore/platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::shouldBlockScrollPropagation const):

Drive-by fix: rewrite this method to be more readable:

-   Cache the results of calling `(horizontal|vertical)OverscrollBehaviorPreventsPropagation` in
    local variables instead of calling the respective methods multiple times.

-   Split the return value into several early returns that achieve the same result, but (more
    clearly) represent the scenarios in which this is true: either both axes stop propagation, or
    only one axis stops propagation but the biased delta amount for the opposite axis is 0.

* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView scrollView:handleScrollUpdate:completion:]):
* Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::dispatchWheelEvent):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::handleWheelEvent):
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::dispatchWheelEventWithoutScrolling):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:

Rename this variable to reflect that this result flag represents whether or not scrolling should be
prevented, not just whether the event was handled.

* Tools/TestWebKitAPI/Tests/ios/WKScrollViewTests.mm:
(-[WKWebView synchronouslyHandleScrollEventWithPhase:location:delta:]):
(TEST(WKScrollViewTests, AsynchronousWheelEventHandling)):
(TEST(WKScrollViewTests, OverscrollBehaviorShouldNotPreventScrolling)):

Add a new API test to exercise this change, by verifying that scrolling is not prevented when
dispatching wheel events over an overflow scrollable region inside of a root and body element with
`overscroll-behavior: contain;`. Also verify that scrolling is (correctly) prevented if the page
explicitly calls `preventDefault()` on the wheel event.

Canonical link: https://commits.webkit.org/287293@main
…rollable when text outside of the container is selected

https://bugs.webkit.org/show_bug.cgi?id=283804
rdar://140308383

Reviewed by Richard Robinson.

On iOS, when `SelectionHonorsOverflowScrolling` is enabled, the text selection display interaction
can be installed under arbitrary compositing views in the UI-side layer tree/compositing view
hierarchy. However, this exposes a bug in which the text selection display interaction's managed
selection views (i.e. native container views that encapsulate the selection highlight view, range
adjustment handles, and other UI affordances managed by the interaction) will block hit-testing
underneath the `WKScrollView`, if the compositing view that contains the selection contains child
scroll views. This prevents UIKit from routing `UITouchEvent`s to the proper child scroll view under
the gesture location (and therefore prevents scrolling), if the text selection display interaction
is installed on anything that covers the child scroller.

From manual testing, it seems generally safe to mark these selection display interaction containers
with `userInteractionEnabled := NO`, since their child views (e.g. range adjustment handles) have
user interaction enabled, and the only other gesture relevant to this interaction is tapping to
toggle edit menu visibility, which isn't affected by whether or not these container views are
interactive due to the fact that the text tap gesture is installed over the content view. To limit
unnecessary bincompat risk (and because this probably uniquely affects WebKit's integration of the
selection display interaction), we mitigate this by overriding `-[WKScrollView hitTest:withEvent:]`
and forcing `userInteractionEnabled` to be `NO` for these managed container views over the scope of
hit-testing.

* LayoutTests/editing/selection/ios/scroll-overflow-container-with-selection-expected.txt: Added.
* LayoutTests/editing/selection/ios/scroll-overflow-container-with-selection.html: Added.

Add a layout test to exercise the bug, by selecting text in the mainframe and then attempting to
scroll an overflow container below it via pan gesture.

* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView makeTextSelectionViewsNonInteractiveForScope]):

Add a helper method that returns a RAII object (`ScopeExit`), which callers can use to temporarily
make selection container views non-interactive. See above for more details.

* Source/WebKit/UIProcess/ios/WKScrollView.mm:
(-[WKScrollView hitTest:withEvent:]):

Call `-makeTextSelectionViewsNonInteractiveForScope` when hit-testing.

* Source/WebKit/UIProcess/ios/WKTextInteractionWrapper.h:
* Source/WebKit/UIProcess/ios/WKTextInteractionWrapper.mm:
(-[WKTextInteractionWrapper managedTextSelectionViews]):
(-[WKTextInteractionWrapper prepareToMoveSelectionContainer:]):

Add logic to keep track of all the managed views of the text selection display interaction, by
observing which views were introduced to the target container view as a result of invoking
`-didMoveToView:`.

Canonical link: https://commits.webkit.org/287294@main
…2 if appropriate for storage type

https://bugs.webkit.org/show_bug.cgi?id=283941
rdar://140773922

Reviewed by Yusuke Suzuki and Keith Miller.

Generates a Const32Value in OMG instead of a Const64Value when
zero-initializing fields in struct.new_default when the field
storage types are 32-bit or smaller. This satisfies the B3
validator which expects an Int32 input for Stores of 32 bits or
smaller.

* JSTests/wasm/stress/struct-new_default-small-members.js: Added.
* Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp:
(JSC::Wasm::OMGIRGenerator::addStructNewDefault):
* Source/JavaScriptCore/wasm/WasmOMGIRGenerator32_64.cpp:
(JSC::Wasm::OMGIRGenerator::addStructNewDefault):

Canonical link: https://commits.webkit.org/287295@main
https://bugs.webkit.org/show_bug.cgi?id=283146

Reviewed by Jonathan Bedard.

By default, git-cherry-pick disallows cherry-picking an empty
commit. However, it's not unreasonable to submit a PR with an empty
commit where later commits gets squashed into it, especially when
there's benefit in preserving history for review.

Note that this _doesn't_ result in redundant commits (i.e., those
which have become empty due to an earlier commit) being allowed, it
only allows commits which were originally empty.

* Tools/CISupport/ews-build/steps.py:
(CheckOutPullRequest.run):
* Tools/CISupport/ews-build/steps_unittest.py:
(TestCheckOutPullRequest.test_success):
(TestCheckOutPullRequest.test_success_apple):
(TestCheckOutPullRequest.test_success_integration_remote):
(TestCheckOutPullRequest.test_success_win):

Canonical link: https://commits.webkit.org/287296@main
https://bugs.webkit.org/show_bug.cgi?id=283143

Reviewed by Jonathan Bedard.

This has been unused since we moved to Python 3, and clearly has never
been updated. We nowadays have checks for Python version in
__init__.py files within our packages, thus always checking the
version, rather than it needing to be opted into.

* Tools/Scripts/webkitpy/common/version_check.py: Removed.

Canonical link: https://commits.webkit.org/287297@main
https://bugs.webkit.org/show_bug.cgi?id=283253

Reviewed by Jonathan Bedard.

This makes it much more possible to test how we rewrite the message in
isolation.

* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/canonicalize/message.py:
(main):
(rewrite_message):

Canonical link: https://commits.webkit.org/287298@main
https://bugs.webkit.org/show_bug.cgi?id=283250

Reviewed by Jonathan Bedard.

Previously, we strictly required arguments to
Terminal.assert_writeable_stream and Terminal.override_atty to be
specific types of file-like objects (specifically: those inheriting
from io.IOBase, as on Python 3 all three options are either io.IOBase
or subclasses thereof).

This unfortunately means that they then throw when passed another
file-like object (e.g., something inheriting from the typing.IO ABC).

The status of file-like objects in the Python system is a bit of a
mess, and requiring them to be specific types is almost certainly
unworkable, thus we should just rely on duck-typing and checking we
have something that looks like a file-like object.

* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py:
(Terminal.assert_writeable_stream):
(Terminal.override_atty):
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/terminal_unittest.py:
(TerminalTests.test_interrupt_decorator):
(TerminalTests):
(TerminalTests.test_assert_writeable_stream):
(TerminalTests.test_override_atty):

Canonical link: https://commits.webkit.org/287299@main
https://bugs.webkit.org/show_bug.cgi?id=283978
rdar://140857707

This reverts commit d9758a8fd190860ac6c4a468dfdea906786530e5.

Unreviewed revert of 286488@main

Canonical link: https://commits.webkit.org/287300@main
https://bugs.webkit.org/show_bug.cgi?id=283948
rdar://140572152

Reviewed by Darin Adler and Brady Eidson.

I recently made it so that RunLoop::Timer will protect the object it is calling
the "timeout" function on, either via a RefPtr or a CheckedPtr. Given that
ResponsivenessTimer subclassed CanMakeCheckedPtr, it would use a CheckedPtr.

As a speculative fix for the crash, make ResponsivenessTimer RefCounted. As a
result, RunLoop::Timer will now ref the ResponsivenessTimer before calling
`timerFired()` on it, which should be safer than a CheckedPtr. One could
imagine `timerFired()` causing the ResponsivenessTimer to get destroyed
otherwise, since it calls some client functions.

* Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::stopResponsivenessTimer):
(WebKit::AuxiliaryProcessProxy::startResponsivenessTimer):
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
(WebKit::AuxiliaryProcessProxy::protectedResponsivenessTimer):
(WebKit::AuxiliaryProcessProxy::protectedResponsivenessTimer const):
(WebKit::AuxiliaryProcessProxy::checkedResponsivenessTimer): Deleted.
(WebKit::AuxiliaryProcessProxy::checkedResponsivenessTimer const): Deleted.
* Source/WebKit/UIProcess/ResponsivenessTimer.h:
(WebKit::ResponsivenessTimer::ref const):
(WebKit::ResponsivenessTimer::deref const):

Canonical link: https://commits.webkit.org/287301@main
https://bugs.webkit.org/show_bug.cgi?id=283990

It caused wrong line height in SVG text when zooming in the page

Reverted changeset:

"font-relative units of svg elements don't take zoom factors into account"
https://bugs.webkit.org/show_bug.cgi?id=199236
https://commits.webkit.org/284310@main

Canonical link: https://commits.webkit.org/287302@main
…r-scroll-position-try-009.html is flakily failing.

https://bugs.webkit.org/show_bug.cgi?id=283991
rdar://140867920

Unreviewed test gardening.

Adding test expectation for flakily failing test.

* LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/287303@main
…ility/content-visibility-070.html is flakily failing.

https://bugs.webkit.org/show_bug.cgi?id=283993
rdar://140868718

Unreviewed test gardening.

Adding test expectation for flakily failing test.

* LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/287304@main
…e flakily failing (image).

https://bugs.webkit.org/show_bug.cgi?id=283994
rdar://140869424

Unreviewed test gardening.

Adding test expectations for 2 flakily image failing tests.

* LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/287305@main
https://bugs.webkit.org/show_bug.cgi?id=283960

Reviewed by Alex Christensen.

Use more f-strings to concatenate strings and variables.
<https://docs.python.org/3.9/reference/lexical_analysis.html#formatted-string-literals>

`{` and `}` have to be encoded as `{{` and `}}`.

* Source/WebKit/Scripts/generate-serializers.py:
(Template.forward_declaration):
(Template.specialization):
(SerializedType.namespace_and_name):
(SerializedType.namespace_if_not_wtf_and_name):
(SerializedType.namespace_and_name_for_construction):
(SerializedType.cf_wrapper_type):
(SerializedType.name_declaration_for_serialized_type_info):
(SerializedType.subclass_enum_name):
(SerializedType.cpp_struct_or_class_name):
(SerializedEnum.namespace_and_name):
(SerializedEnum.parameter):
(MemberVariable.__init__):
(MemberVariable.ns_type_pointer):
(MemberVariable.type_check):
(MemberVariable.dictionary_type):
(one_argument_coder_declaration_cf):
(one_argument_coder_declaration):
(generate_forward_declarations):
(generate_header):
(check_type_members):
(check_type_members.is):
(encode_cf_type):
(encode_type):
(decode_cf_type):
(decode_type):
(construct_type):
(generate_one_impl):
(generate_impl):
(generate_optional_tuple_type_info):
(generate_one_serialized_type_info):
(output_sorted_headers):
(generate_serialized_type_info):
(parse_serialized_types):
(generate_webkit_secure_coding_impl):
(generate_webkit_secure_coding_header):

Canonical link: https://commits.webkit.org/287306@main
https://bugs.webkit.org/show_bug.cgi?id=252211
rdar://105422915

Reviewed by Antti Koivisto.

Implement shorthand as specified by: https://drafts.csswg.org/css-rhythm/#block-step

* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-computed-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-computed.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-invalid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-invalid.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-valid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-rhythm/parsing/block-step-valid.html: Added.
* Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::blockStepShorthandValue):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle const):
* Source/WebCore/css/ShorthandSerializer.cpp:
(WebCore::ShorthandSerializer::serialize):
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::initialValueForLonghand):
(WebCore::CSSPropertyParser::consumeBlockStepShorthand):
(WebCore::CSSPropertyParser::parseShorthand):
* Source/WebCore/css/parser/CSSPropertyParser.h:

Canonical link: https://commits.webkit.org/287307@main
… are constantly failing (image).

https://bugs.webkit.org/show_bug.cgi?id=283995
rdar://140870687

Unreviewed test gardening.

Adding test expectations for 2 tests that are constantly image failing.

* LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/287308@main
rkirsling and others added 29 commits December 8, 2024 17:44
https://bugs.webkit.org/show_bug.cgi?id=284222

Unreviewed build fix.

* Source/WebCore/dom/AbstractRange.h:
Add missing include.

Canonical link: https://commits.webkit.org/287500@main
https://bugs.webkit.org/show_bug.cgi?id=283880

Unreviewed non-unified build fix. Added missing #include.

* Source/JavaScriptCore/bytecode/SuperSampler.cpp:
* Source/JavaScriptCore/dfg/DFGBasicBlock.h:
* Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp:
* Source/JavaScriptCore/heap/IsoMemoryAllocatorBase.cpp:
* Source/WebCore/Modules/filesystemaccess/FileSystemWritableFileStreamSink.cpp:
* Source/WebKit/NetworkProcess/cache/NetworkCacheCoders.cpp:
* Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp:

Canonical link: https://commits.webkit.org/287501@main
https://bugs.webkit.org/show_bug.cgi?id=284231
rdar://141095901

Unreviewed, fix the build by making WebFullScreenManager aware of
FullScreenMediaDetails.

* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h:

Canonical link: https://commits.webkit.org/287502@main
…tion

https://bugs.webkit.org/show_bug.cgi?id=284219

Reviewed by Pascoe.

This fixes a case where our frame accounting got messed up and led to
blank frames.  We had WebProcessProxy receiving the message that a frame
was destroyed and forwarding it to the WebPageProxy to broadcast to update
all the other processes's state.  However, if that message came from a
process other than the main frame's process, m_pageMap wouldn't contain
the page for a process that only had a RemotePageProxy associated with it.

Two changes were needed to get this working.  The first is that the
DidDestroyFrame message receiver was moved from WebProcessProxy to
WebPageProxy so the RemotePageProxy's message forwarding will make it
just arrive at the correct WebPageProxy.  The second is that if the UI
process has just told the web content process to destroy the frame or page,
then we need to not tell the UI process that the frame was destroyed.
Otherwise the broadcast messages would effectively echo.

* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didDestroyFrame): Deleted.
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/UIProcess/WebProcessProxy.messages.in:
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::invalidate):
* Source/WebKit/WebProcess/WebPage/WebFrame.h:
(WebKit::WebFrame::markAsRemovedInAnotherProcess):
(WebKit::WebFrame::wasRemovedInAnotherProcess const):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::frameWasRemovedInAnotherProcess):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::removeWebFrame):
* Source/WebKit/WebProcess/WebProcess.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::TEST(SiteIsolation, RemoveFrameFromRemoteFrame)):

Canonical link: https://commits.webkit.org/287503@main
https://bugs.webkit.org/show_bug.cgi?id=282083

Reviewed by Chris Dumez.

This change introduces the .inspect operator for Observables, using the
InternalObserver, and a new SubscriberCallbackInspect. .inspect is meant to act
as a pass-through operator, so there are no mutations on events.

Spec: <https://wicg.github.io/observable/#dom-observable-inspect>

There is also a new ObservableInspector IDL dictionary created, as well as a
ObservableInspectorAbortCallback. We could not just have used some generic
callback IDL, given we require a callback that accepts a JSC::Value, as we
forward abort reasons to this callback.

* LayoutTests/imported/w3c/web-platform-tests/dom/observable/tentative/observable-inspect.any-expected.txt: Rebaseline.
* LayoutTests/imported/w3c/web-platform-tests/dom/observable/tentative/observable-inspect.any.worker-expected.txt: Rebaseline.
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/dom/InternalObserverInspect.cpp: Added.
(WebCore::createSubscriberCallbackInspect):
* Source/WebCore/dom/InternalObserverInspect.h: Added.
* Source/WebCore/dom/Observable.cpp:
(WebCore::Observable::inspect):
* Source/WebCore/dom/Observable.h:
* Source/WebCore/dom/Observable.idl:
Exposes a `Observable inspect(inspectorUnion)` operator.
* Source/WebCore/dom/ObservableInspector.h: Added.
* Source/WebCore/dom/ObservableInspector.idl: Added.
* Source/WebCore/dom/ObservableInspectorAbortCallback.h: Added.
* Source/WebCore/dom/ObservableInspectorAbortCallback.idl: Added.

Canonical link: https://commits.webkit.org/287504@main
https://bugs.webkit.org/show_bug.cgi?id=284220
rdar://141085741

Reviewed by Geoffrey Garen.

Also, drop some unnecessary WebCore:: in the class and rename a function to facilitate search (as there is a function
has the same name and similar arguments).

* Source/WebCore/platform/network/NetworkStorageSession.cpp:
(WebCore::NetworkStorageSession::loginDomainMatchesRequestingDomain):
* Source/WebCore/platform/network/NetworkStorageSession.h:
* Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::cookiesForURLFromStorage):
(WebCore::NetworkStorageSession::httpCookiesForURL const):
(WebCore::cookiesForURL): Deleted.

Canonical link: https://commits.webkit.org/287505@main
…verting an input WebCore::IDLRecord<WebCore::IDLUSVString, WebCore::IDLUnion<WebCore::IDLUndefined, WebCore::IDLUSVString>>

https://bugs.webkit.org/show_bug.cgi?id=284132
rdar://141017497

Reviewed by Chris Dumez and Sihui Liu.

According to spec https://webidl.spec.whatwg.org/#js-record, we should use <bool createDataProperty(JSGlobalObject*, PropertyName, JSValue, bool shouldThrow)> to convert a native object to a IDL Record, not putDirect which is what's currently implemented and incorrectly assumes that the input property name is not an index.

* LayoutTests/js/dom/webidl-type-mapping-expected.txt:
* LayoutTests/js/dom/webidl-type-mapping.html:
* Source/WebCore/bindings/js/JSDOMConvertRecord.h:

Canonical link: https://commits.webkit.org/287506@main
https://bugs.webkit.org/show_bug.cgi?id=284221
rdar://problem/141086034

Reviewed by Richard Robinson and Mike Wyrzykowski.

* Source/WebKit/SaferCPPExpectations/UncountedCallArgsCheckerExpectations:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.cpp:
(WebKit::WebGPU::RemoteComputePassEncoderProxy::setBindGroup):

Canonical link: https://commits.webkit.org/287507@main
https://bugs.webkit.org/show_bug.cgi?id=284234
rdar://141095828

* Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp:

Canonical link: https://commits.webkit.org/287508@main
https://bugs.webkit.org/show_bug.cgi?id=283921

Reviewed by NOBODY

Converts the shadow and filter types to strongly typed CSS values.

Formerly, CSS shadows for `box-shadow` and `text-shadow` use the
same representation for CSS, a CSSValueList of CSSShadowValues.
Now, they have been split, to make it clear that `text-shadow`
supports a different set of functionality than `box-shadow`.

Similarly, CSS filters for both `filter` and `-apple-color-filter`
use the same representation, a CSSValueList of CSSFunctionValues.
Now they too have been split to make it clear that the set of
filter functions supported is different for the different properties.

Unlike previous conversions, this one focuses primarily on the
CSS side, as the representations used for shadows and filters
in style system are a bit tangled. However, structure on the
style side is put in place, and some modest wins are present,
such as the shrinking of the ShadowData type due to use of the new
Style::Length types.

To maintain backwards compatibility, extra plumbing was required
to construct DeprecatedCSSOMValues matching the shipping types.

* Source/WTF/wtf/StdLibExtras.h:
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/SaferCPPExpectations/RefCntblBaseVirtualDtorExpectations:
* Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations:
* Source/WebCore/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/animation/CSSPropertyAnimation.cpp:
* Source/WebCore/css/CSSAppleColorFilterPropertyValue.cpp: Added.
* Source/WebCore/css/CSSAppleColorFilterPropertyValue.h: Added.
* Source/WebCore/css/CSSBoxShadowPropertyValue.cpp: Added.
* Source/WebCore/css/CSSBoxShadowPropertyValue.h: Added.
* Source/WebCore/css/CSSFilterImageValue.cpp:
* Source/WebCore/css/CSSFilterImageValue.h:
* Source/WebCore/css/CSSFilterPropertyValue.cpp: Added.
* Source/WebCore/css/CSSFilterPropertyValue.h: Added.
* Source/WebCore/css/CSSGradientValue.cpp:
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/CSSShadowValue.cpp: Removed.
* Source/WebCore/css/CSSShadowValue.h: Removed.
* Source/WebCore/css/CSSTextShadowPropertyValue.cpp: Added.
* Source/WebCore/css/CSSTextShadowPropertyValue.h: Added.
* Source/WebCore/css/CSSValue.cpp:
* Source/WebCore/css/CSSValue.h:
* Source/WebCore/css/CSSValuePool.cpp:
* Source/WebCore/css/CSSValuePool.h:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
* Source/WebCore/css/ComputedStyleExtractor.h:
* Source/WebCore/css/DeprecatedCSSOMBoxShadowValue.cpp: Added.
* Source/WebCore/css/DeprecatedCSSOMBoxShadowValue.h: Added.
* Source/WebCore/css/DeprecatedCSSOMFilterFunctionValue.cpp: Added.
* Source/WebCore/css/DeprecatedCSSOMFilterFunctionValue.h: Added.
* Source/WebCore/css/DeprecatedCSSOMTextShadowValue.cpp: Added.
* Source/WebCore/css/DeprecatedCSSOMTextShadowValue.h: Added.
* Source/WebCore/css/DeprecatedCSSOMValue.h:
* Source/WebCore/css/DeprecatedCSSOMValueList.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Background.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Filter.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Filter.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+MetaConsumerDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+TextDecoration.cpp:
* Source/WebCore/css/typedom/CSSStyleValueFactory.cpp:
* Source/WebCore/css/values/CSSValueAggregates.h:
* Source/WebCore/css/values/CSSValueTypes.h:
* Source/WebCore/css/values/backgrounds/CSSBoxShadow.h: Added.
* Source/WebCore/css/values/backgrounds/CSSBoxShadowProperty.h: Added.
* Source/WebCore/css/values/color/CSSColor.h:
* Source/WebCore/css/values/filter-effects/CSSAppleColorFilterProperty.h: Added.
* Source/WebCore/css/values/filter-effects/CSSAppleInvertLightnessFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSBlurFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSBrightnessFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSContrastFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSDropShadowFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSFilterFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSFilterFunctionDescriptor.h: Renamed from Source/WebCore/css/CSSFilterFunctionDescriptor.h.
* Source/WebCore/css/values/filter-effects/CSSFilterProperty.h: Added.
* Source/WebCore/css/values/filter-effects/CSSFilterReference.cpp: Added.
* Source/WebCore/css/values/filter-effects/CSSFilterReference.h: Added.
* Source/WebCore/css/values/filter-effects/CSSGrayscaleFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSHueRotateFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSInvertFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSOpacityFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSSaturateFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSSepiaFunction.h: Added.
* Source/WebCore/css/values/primitives/CSSPrimitiveNumericRange.h:
* Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes+CSSValueVisitation.h:
* Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes+ComputedStyleDependencies.h:
* Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes+Serialization.h:
* Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes.h:
* Source/WebCore/css/values/text-decoration/CSSTextShadow.h: Added.
* Source/WebCore/css/values/text-decoration/CSSTextShadowProperty.h: Added.
* Source/WebCore/editing/Editor.cpp:
* Source/WebCore/editing/FontAttributeChanges.cpp:
* Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:
* Source/WebCore/rendering/BackgroundPainter.cpp:
* Source/WebCore/rendering/BackgroundPainter.h:
* Source/WebCore/rendering/EllipsisBoxPainter.cpp:
* Source/WebCore/rendering/TextDecorationPainter.cpp:
* Source/WebCore/rendering/TextPainter.cpp:
* Source/WebCore/rendering/style/RenderStyle.cpp:
* Source/WebCore/rendering/style/ShadowData.cpp:
* Source/WebCore/rendering/style/ShadowData.h:
* Source/WebCore/rendering/style/StyleFilterImage.cpp:
* Source/WebCore/style/FilterOperationsBuilder.cpp: Removed.
* Source/WebCore/style/StyleBuilderConverter.h:
* Source/WebCore/style/StyleBuilderCustom.h:
* Source/WebCore/style/StyleBuilderState.cpp:
* Source/WebCore/style/StyleBuilderState.h:
* Source/WebCore/style/values/StyleValueTypes.h:
* Source/WebCore/style/values/backgrounds/StyleBoxShadow.cpp: Added.
* Source/WebCore/style/values/backgrounds/StyleBoxShadow.h: Added.
* Source/WebCore/style/values/color/StyleColor.h:
* Source/WebCore/style/values/filter-effects/StyleAppleColorFilterProperty.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleAppleColorFilterProperty.h: Added.
* Source/WebCore/style/values/filter-effects/StyleAppleInvertLightnessFunction.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleAppleInvertLightnessFunction.h: Added.
* Source/WebCore/style/values/filter-effects/StyleBlurFunction.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleBlurFunction.h: Added.
* Source/WebCore/style/values/filter-effects/StyleBrightnessFunction.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleBrightnessFunction.h: Added.
* Source/WebCore/style/values/filter-effects/StyleContrastFunction.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleContrastFunction.h: Added.
* Source/WebCore/style/values/filter-effects/StyleDropShadowFunction.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleDropShadowFunction.h: Added.
* Source/WebCore/style/values/filter-effects/StyleFilterProperty.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleFilterProperty.h: Added.
* Source/WebCore/style/values/filter-effects/StyleGrayscaleFunction.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleGrayscaleFunction.h: Added.
* Source/WebCore/style/values/filter-effects/StyleHueRotateFunction.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleHueRotateFunction.h: Added.
* Source/WebCore/style/values/filter-effects/StyleInvertFunction.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleInvertFunction.h: Added.
* Source/WebCore/style/values/filter-effects/StyleOpacityFunction.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleOpacityFunction.h: Added.
* Source/WebCore/style/values/filter-effects/StyleSaturateFunction.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleSaturateFunction.h: Added.
* Source/WebCore/style/values/filter-effects/StyleSepiaFunction.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleSepiaFunction.h: Added.
* Source/WebCore/style/values/primitives/StyleNone.cpp: Added.
* Source/WebCore/style/values/primitives/StyleNone.h:
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Blending.h:
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Conversions.cpp:
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Conversions.h:
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Evaluation.h:
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Logging.cpp: Added
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Logging.h: Added.
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes.h:
* Source/WebCore/style/values/text-decoration/StyleTextShadow.cpp: Added.
* Source/WebCore/style/values/text-decoration/StyleTextShadow.h: Added

Canonical link: https://commits.webkit.org/287509@main
https://bugs.webkit.org/show_bug.cgi?id=284207

Reviewed by Darin Adler.

* Source/WebCore/html/track/TextTrackCueList.cpp:
(WebCore::TextTrackCueList::activeCues):
(WebCore::TextTrackCueList::add):
(WebCore::TextTrackCueList::remove):
(WebCore::TextTrackCueList::updateCueIndex):
* Source/WebCore/html/track/VTTCue.cpp:
(WebCore::VTTCue::settingName):
* Source/WebCore/html/track/VTTRegion.cpp:
(WebCore::VTTRegion::scanSettingName):
* Source/WebCore/html/track/VTTScanner.h:
(WebCore::VTTScanner::scan): Deleted.
* Source/WebCore/html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::collectTimingsAndSettings):

Canonical link: https://commits.webkit.org/287510@main
https://bugs.webkit.org/show_bug.cgi?id=284236
rdar://141103701

* Source/WebCore/DerivedSources-output.xcfilelist:

Canonical link: https://commits.webkit.org/287511@main
https://bugs.webkit.org/show_bug.cgi?id=284217

Reviewed by Darin Adler.

This patch addresses review comments[1] after 287431@main.

[1]: WebKit/WebKit#37419 (review)

* Source/JavaScriptCore/runtime/ArrayPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):

Canonical link: https://commits.webkit.org/287512@main
…1" iPad in portrait mode

https://bugs.webkit.org/show_bug.cgi?id=284235
rdar://98749450

Reviewed by Richard Robinson.

On 11-inch iPad in portrait mode, the left sidebar in the Stories creation form is hidden using
`display: none;`, due to a media query targeting `@media (max-width: 899px)`, even though (1)
there's enough space to fit the sidebar on screen, and (2) the sidebar is fully functional. To fix
this, add a quirk to override the resolved `display: none;` CSS value with `display: flex;` instead
(the expected value at `>= 900` viewport width).

* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::isFacebook const):
(WebCore::Quirks::requiresUserGestureToPauseInPictureInPicture const):

Make this use the new `isFacebook()` helper method.

(WebCore::accessibilityRole):
(WebCore::Quirks::shouldIgnoreContentObservationForClick const):
(WebCore::Quirks::needsFacebookStoriesCreationFormQuirk const):

Add a new quirk (see above). The container can be identified using several criteria:

1. The document domain is `facebook.com`, and the path starts with `/stories/create`.
2. The element has `role=navigation`.
3. The element subtree contains a `textarea`.

I'm also caching `m_facebookStoriesCreationFormContainer` here to avoid unnecessary DOM traversal
during style adjustment, once the container has been identified.

* Source/WebCore/page/Quirks.h:
* Source/WebCore/page/QuirksData.h:

Add cached state to represent whether or not the top domain is `facebook.com`.

* Source/WebCore/style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjustForSiteSpecificQuirks const):

Canonical link: https://commits.webkit.org/287513@main
https://bugs.webkit.org/show_bug.cgi?id=284115

Reviewed by Said Abou-Hallawa.

Serialize font-weight in the CanvasRenderingContext2D.font method output but
suppress the default value of 400.

* LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/text/2d.text.font.weight-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/text/2d.text.font.weight-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/text/2d.text.font.weight.worker-expected.txt:
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::State::fontString const):

Canonical link: https://commits.webkit.org/287514@main
…line-clamp/webkit-line-clamp-018.html

https://bugs.webkit.org/show_bug.cgi?id=284243

Unreviewed gardening.

* LayoutTests/TestExpectations:

Canonical link: https://commits.webkit.org/287515@main
…ss-text/text-transform/text-transform-capitalize-028.html

https://bugs.webkit.org/show_bug.cgi?id=284241

Unreviewed gardening.

* LayoutTests/TestExpectations:

Canonical link: https://commits.webkit.org/287516@main
https://webkit.org/b/284215

Reviewed by Timothy Hatcher.

Create a CMake option to enable WK_WEB_EXTENSIONS on Linux, and fixes issues regarding compile WebKitGtk with WK_WEB_EXTENSIONS enabled.

* Source/WTF/wtf/PlatformEnableGlib.h:
* Source/WebCore/platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::defaultWritingDirection const):
* Source/WebCore/platform/text/LocaleICU.h:
* Source/WebCore/platform/text/PlatformLocale.h:
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/Shared/Extensions/WebExtensionControllerParameters.h:
* Source/WebKit/Shared/Extensions/WebExtensionControllerParameters.serialization.in:
* Source/WebKit/Shared/Extensions/WebExtensionTab.serialization.in:
* Source/WebKit/Shared/Extensions/WebExtensionTabParameters.h:
* Source/WebKit/Shared/Extensions/WebExtensionWindow.serialization.in:
* Source/WebKit/Shared/Extensions/WebExtensionWindowParameters.h:
* Source/WebKit/UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::maskedURLSchemes const):
* Source/WebKit/UIProcess/Extensions/WebExtensionAction.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionController.cpp:
(WebKit::WebExtensionController::WebExtensionController):
* Source/WebKit/UIProcess/Extensions/WebExtensionController.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionControllerConfiguration.cpp:
* Source/WebKit/UIProcess/Extensions/WebExtensionControllerConfiguration.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionDataRecord.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionDynamicScripts.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionMatchPattern.cpp:
* Source/WebKit/UIProcess/Extensions/WebExtensionMessagePort.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionTab.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionWindow.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::m_pageForTesting):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::resourceLoadDidSendRequest):
(WebKit::WebPageProxy::resourceLoadDidPerformHTTPRedirection):
(WebKit::WebPageProxy::resourceLoadDidReceiveChallenge):
(WebKit::WebPageProxy::resourceLoadDidReceiveResponse):
(WebKit::WebPageProxy::resourceLoadDidCompleteWithError):
(WebKit::WebPageProxy::creationParameters):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIEvent.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPILocalization.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIWebNavigationEvent.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIWebRequestEvent.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIWindowsEvent.h:
* Source/WebKit/WebProcess/Extensions/Bindings/JSWebExtensionWrapper.h:
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h:
* Source/WebKit/WebProcess/Extensions/WebExtensionControllerProxy.h:
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::addParametersShared):
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
(WebKit::WebLocalFrameLoaderClient::dispatchDidStartProvisionalLoad):
(WebKit::WebLocalFrameLoaderClient::dispatchDidCommitLoad):
(WebKit::WebLocalFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebKit::WebLocalFrameLoaderClient::dispatchDidFailLoad):
(WebKit::WebLocalFrameLoaderClient::dispatchDidFinishLoad):
(WebKit::WebLocalFrameLoaderClient::dispatchGlobalObjectAvailable):
(WebKit::WebLocalFrameLoaderClient::dispatchServiceWorkerGlobalObjectAvailable):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_textAnimationController):
* Source/WebKit/WebProcess/WebPage/WebPage.h:

Canonical link: https://commits.webkit.org/287517@main
https://bugs.webkit.org/show_bug.cgi?id=283569
rdar://problem/140418270

Reviewed by Jean-Yves Avenard.

We update mock camera rotation testing to pass the camera ID.
This allows to use the rotationAngleForHorizonLevelDisplayChanged code path when the camera ID is given.
We update MockRealtimeVideoSource to support this, like done for AVVideoCaptureSource.

This allows to write a test for the clone camera track bug https://bugs.webkit.org/show_bug.cgi?id=283480.

* LayoutTests/fast/mediastream/video-rotation-clone-expected.txt: Added.
* LayoutTests/fast/mediastream/video-rotation-clone.html: Added.
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/webrtc/routines.js:
* Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::rotationAngleForHorizonLevelDisplayChanged):
(WebCore::MockRealtimeVideoSource::orientationChanged):
* Source/WebCore/platform/mock/MockRealtimeVideoSource.h:
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::mediaStreamTrackPersistentId):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
* Source/WebKit/UIProcess/API/C/WKPage.cpp:
(WKPageSetMockCameraOrientationForTesting):
(WKPageSetMockCameraOrientation): Deleted.
* Source/WebKit/UIProcess/API/C/WKPagePrivate.h:
* Source/WebKit/UIProcess/Cocoa/UserMediaPermissionRequestManagerProxy.mm:
(-[WKRotationCoordinatorObserver isMonitoringCaptureDeviceRotation:]):
(WebKit::UserMediaPermissionRequestManagerProxy::isMonitoringCaptureDeviceRotation):
* Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setMediaCaptureRotationForTesting):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setMockCameraOrientation):
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.h:
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::setMockCameraOrientation):
* Tools/WebKitTestRunner/TestController.h:
* Tools/WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

Canonical link: https://commits.webkit.org/287518@main
https://bugs.webkit.org/show_bug.cgi?id=284027

Reviewed by Fujii Hironori.

Rendering complex preserve-3D scenes might involve a lot of layer splitting.
These splits are handled using polygon clipping, but the current implementation
is inefficient. Each clip operation clears the full stencil buffer and masks
the clipped part using separate vertex buffer objects that are allocated on
demand. This places significant stress on the GPU and on hardware like rpi3 it
completely chokes the rendering pipeline.

To address this issue, polygon clip vertices for preserve-3d scenes should be
loaded to the GPU only once, leveraging cached VBOs. Additionally, stencil
buffer clearing should be optimized using scissors to restrict stencil clears to
relevant areas, avoiding full-buffer operations.

* Source/WebCore/platform/TextureMapper.cmake:
* Source/WebCore/platform/graphics/texmap/ClipPath.cpp: Added.
(WebCore::ClipPath::ClipPath):
(WebCore::ClipPath::data const):
* Source/WebCore/platform/graphics/texmap/ClipPath.h: Added.
* Source/WebCore/platform/graphics/texmap/TextureMapper.cpp:
(WebCore::nextPowerOf2):
(WebCore::TextureMapperGLData::initializeStencil):
(WebCore::TextureMapperGLData::getBufferFromPool):
(WebCore::TextureMapper::beginClip):
(WebCore::TextureMapper::updateProjectionMatrix):
(WebCore::TextureMapper::acquireBufferFromPool):
* Source/WebCore/platform/graphics/texmap/TextureMapper.h:
* Source/WebCore/platform/graphics/texmap/TextureMapperGPUBuffer.cpp: Added.
(WebCore::TextureMapperGPUBuffer::TextureMapperGPUBuffer):
(WebCore::TextureMapperGPUBuffer::~TextureMapperGPUBuffer):
(WebCore::TextureMapperGPUBuffer::updateData):
* Source/WebCore/platform/graphics/texmap/TextureMapperGPUBuffer.h: Added.
* Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintWith3DRenderingContext):
* Source/WebCore/platform/graphics/texmap/TextureMapperLayer3DRenderingContext.cpp:
(WebCore::TextureMapperLayer3DRenderingContext::paint):
(WebCore::TextureMapperLayer3DRenderingContext::traverseTree):
(WebCore::TextureMapperLayer3DRenderingContext::traverseTreeAndPaint): Deleted.
* Source/WebCore/platform/graphics/texmap/TextureMapperLayer3DRenderingContext.h:

Canonical link: https://commits.webkit.org/287519@main
…fication-allowed.html is a constant failure (flaky in EWS)

rdar://140875944
https://bugs.webkit.org/show_bug.cgi?id=283999

Reviewed by Chris Dumez.

http/tests/workers/service/shownotification-allowed.html was failing as we were:
- stopping the service worker due to network process crash
- recreating the service worker, but in a different process from the web page
- sending a message to the web page via self.clients
- But the web page is not reregistering it as a service worker client since it does not create a new connection to the network process.

To fix this, we make sure the web page recreates a connection to the network process and we make sure the service worker loops until it can send the message to at least one client.

* LayoutTests/http/tests/workers/service/resources/shownotification-worker.js:
(let.messageClients):
* LayoutTests/http/tests/workers/service/shownotification-allowed.html:
* LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/287520@main
…ified

https://bugs.webkit.org/show_bug.cgi?id=283308
rdar://140142957

Reviewed by Tim Nguyen.

If the origin is not specified, but clip is given as border-area,
set origin to border-box.

See w3c/csswg-drafts#11167

* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-shorthand-serialization-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-shorthand-serialization.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-valid-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-valid.html:
* Source/WebCore/css/ShorthandSerializer.cpp:
(WebCore::ShorthandSerializer::serializeLayered const):
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::consumeBackgroundShorthand):

Canonical link: https://commits.webkit.org/287521@main
https://bugs.webkit.org/show_bug.cgi?id=283494

Reviewed by Tim Nguyen.

This patch matches the new spec behaviour for when a popover is inside its invoker.

See whatwg/html#10770

* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-nested-in-button-expected.txt:
* Source/WebCore/html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler):
* Source/WebCore/html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::handlePopoverTargetAction const):
* Source/WebCore/html/HTMLFormControlElement.h:
* Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):

Canonical link: https://commits.webkit.org/287522@main
I think this is due to an unhandled edge case where VIDEO is enabled but
GSTREAMER is not used. Can leave this in place until we either re-enable
gstreamer or disable video entirely
The current dependency tree means that WebKitLegacy depends on
WebCoreTestSupport and we're running into duplicated symbols in
different autogenerated code that are unresolvable.
@mnutt mnutt merged commit 7e43fe7 into master Dec 23, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.