Skip to content

Merge upstream 2025-03-09#47

Merged
mnutt merged 4374 commits intomasterfrom
merge-upstream-2025-03-09
Jul 30, 2025
Merged

Merge upstream 2025-03-09#47
mnutt merged 4374 commits intomasterfrom
merge-upstream-2025-03-09

Conversation

@mnutt
Copy link
Member

@mnutt mnutt commented Jun 10, 2025

No description provided.

karimiy21 and others added 30 commits March 9, 2025 16:52
…e-record/MediaRecorder-disabled-tracks.https.html is a flaky failure.

https://bugs.webkit.org/show_bug.cgi?id=289183
rdar://146316848

Unreviewed test gardening.

Added a test expectation for a flakily failing test.

* LayoutTests/platform/mac-wk2/TestExpectations:
* LayoutTests/platform/mac/http/tests/media/fairplay/legacy-fairplay-mse-v2-expected.png: Added.

Canonical link: https://commits.webkit.org/291647@main
https://bugs.webkit.org/show_bug.cgi?id=288691
rdar://problem/145717488

Reviewed by Alexey Proskuryakov.

Swift can and does import C/C++ headers from WTF, however, it imports
macro definitions as constant values. Unlike C, swift's #if expressions
are parsed separately from module imports, and cannot be influenced by
imported code. The way to influence compilation conditions is with -D
arguments, controlled by the SWIFT_ACTIVE_COMPILATION_CONDITIONS build
setting in Xcode.

The result of this is that we've accumulated a handful of redeclarations
of out PlatformEnable.h flags in xcconfigs, which have to be carefully
maintained so that swift compilation matches clang. This change attempts
to fix this duplication and reestablish Platform.h as the source of
truth for WebKit's compile-time feature toggles.

Add a script to WTF that runs clang's preprocessor to generate an
arguments list of enabled features from <wtf/Platform.h>. This is
similar to what WebCore does in DerivedSources.make, however, it extends
WebCore's implementation by being able to solve simple indirection (e.g.
`#define ENABLE_FOO ENABLE_BAR` will look up the value of ENABLE_BAR).

Change the default OTHER_SWIFT_FLAGS xcconfig variable to include this
arguments list as a response file. Swift and Xcode record this as an
input dependency, so incremental changes to Platform.h and the arguments
list will invalidate swift code as well.

Replace some use of SWIFT_ACTIVE_COMPILATION_CONDITIONS with the
corresponding platform flags. I've left WK_ENABLE_SWIFTUI in place,
because that build setting influences other build settings regarding
SwiftUI project bringup.

Swift's compilation conditions have the same semantics as our ENABLE() /
HAVE() macros, where an undeclared macro is implicitly undefined, so
there is no need to come up with a way to make a record of
deliberately-not-defined features.

* Configurations/CommonBase.xcconfig:
* Configurations/Sanitizers.xcconfig: As a drive-by fix, remove the "=1"
  to silence "Conditional compilation flags do not have values" warning.
* Source/WTF/Scripts/generate-platform-args: Added.
* Source/WTF/WTF.xcodeproj/project.pbxproj: We need to generate one
  response file per compiler target. To do this while still declaring
  output dependencies, implement `generate-platform-args` as a build
  rule which is run once per architecture during the "Compile Sources"
  phase.
* Source/WebKit/Configurations/Base.xcconfig:
* Source/WebKit/UIProcess/API/Cocoa/WebKitSwiftOverlay.swift:
  WebKit_Private doesn't import successfully on macOS Sonoma, so use a
  compiler guard to only perform the import on newer releases. As a
  drive-by fix, remove a compiler guard that is no longer needed.

Canonical link: https://commits.webkit.org/291648@main
https://bugs.webkit.org/show_bug.cgi?id=289131
rdar://146170668

Reviewed by Ryosuke Niwa.

This patch unifies JSC's MicrotaskQueue and WebCore's MicrotaskQueue.
Integrating WebCore only concepts into JSC's MicrotaskQueue so that
WebCore can directly use JSC's MicrotaskQueue.

* Source/JavaScriptCore/runtime/GlobalObjectMethodTable.h:
* Source/JavaScriptCore/runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::queueMicrotask):
* Source/JavaScriptCore/runtime/JSGlobalObject.h:
* Source/JavaScriptCore/runtime/JSMicrotask.cpp:
(JSC::runJSMicrotask):
(): Deleted.
(JSC::createJSMicrotask): Deleted.
(JSC::JSMicrotask::run): Deleted.
* Source/JavaScriptCore/runtime/JSMicrotask.h:
* Source/JavaScriptCore/runtime/Microtask.h:
(JSC::Microtask::Microtask): Deleted.
(JSC::Microtask::~Microtask): Deleted.
(JSC::Microtask::identifier const): Deleted.
* Source/JavaScriptCore/runtime/MicrotaskQueue.cpp:
(JSC::QueuedTask::tryRun):
(JSC::QueuedTask::isRunnable const):
(JSC::MicrotaskQueue::~MicrotaskQueue):
(JSC::MicrotaskQueue::visitAggregateImpl):
(JSC::MicrotaskQueue::enqueue):
(JSC::MicrotaskQueue::performMicrotaskCheckpoint):
(JSC::MarkedMicrotaskDeque::hasMicrotasksForFullyActiveDocument const):
(JSC::MarkedMicrotaskDeque::visitAggregateImpl):
(JSC::QueuedTask::run): Deleted.
* Source/JavaScriptCore/runtime/MicrotaskQueue.h:
(JSC::QueuedTask::QueuedTask):
(JSC::QueuedTask::setDispatcher):
(JSC::QueuedTask::globalObject const):
(JSC::QueuedTask::job const):
(JSC::QueuedTask::arguments const):
(JSC::MarkedMicrotaskDeque::swap):
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::~VM):
(JSC::VM::drainMicrotasks):
(JSC::VM::beginMarking):
(JSC::VM::visitAggregateImpl):
* Source/JavaScriptCore/runtime/VM.h:
(JSC::VM::callOnEachMicrotaskTick):
* Source/WebCore/Headers.cmake:
* Source/WebCore/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/JSDOMMicrotask.cpp: Removed.
* Source/WebCore/bindings/js/JSDOMMicrotask.h: Removed.
* Source/WebCore/bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::queueMicrotaskToEventLoop):
* Source/WebCore/bindings/js/JSDOMWindowBase.h:
* Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::queueMicrotask):
* Source/WebCore/bindings/js/JSExecState.h:
(WebCore::JSExecState::runTask):
* Source/WebCore/bindings/js/JSShadowRealmGlobalScopeBase.cpp:
(WebCore::JSShadowRealmGlobalScopeBase::queueMicrotaskToEventLoop):
* Source/WebCore/bindings/js/JSShadowRealmGlobalScopeBase.h:
* Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::queueMicrotaskToEventLoop):
* Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h:
* Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::queueMicrotask):
* Source/WebCore/bindings/js/JSWorkletGlobalScopeBase.h:
* Source/WebCore/dom/EventLoop.cpp:
(WebCore::EventLoop::queueMicrotask):
(WebCore::EventLoop::run):
(WebCore::EventLoopTaskGroup::EventLoopTaskGroup):
(WebCore::EventLoopTaskGroup::~EventLoopTaskGroup):
(WebCore::EventLoopTaskGroup::jsMicrotaskDispatcher const):
(WebCore::EventLoopTaskGroup::queueMicrotask):
* Source/WebCore/dom/EventLoop.h:
* Source/WebCore/dom/Microtasks.cpp:
(WebCore::WebCoreMicrotaskDispatcher::currentRunnability const):
(WebCore::MicrotaskQueue::MicrotaskQueue):
(WebCore::MicrotaskQueue::append):
(WebCore::MicrotaskQueue::performMicrotaskCheckpoint):
(WebCore::MicrotaskQueue::hasMicrotasksForFullyActiveDocument const):
* Source/WebCore/dom/Microtasks.h:
(WebCore::WebCoreMicrotaskDispatcher::WebCoreMicrotaskDispatcher):
* Source/WebCore/workers/service/ExtendableEvent.cpp:
(WebCore::ExtendableEvent::addExtendLifetimePromise):
(): Deleted.

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

Reviewed by Geoffrey Garen.

Restrict dynamic_objc_cast<T>(U) to downcast only to match the semantics of downcast<T>(U).

* Source/WTF/wtf/cocoa/TypeCastsCocoa.h:
(WTF::checked_objc_cast):
(WTF::dynamic_objc_cast):
* Source/WebKit/Shared/API/APIObject.h:
(API::Object::wrapper const):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionDynamicScriptsCocoa.mm:
(WebKit::WebExtensionDynamicScripts::executeScript):
* Tools/TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm:
(TestWebKitAPI::TEST(TypeCastsCocoa, checked_objc_cast)):
(TestWebKitAPI::TEST(TypeCastsCocoa, dynamic_objc_cast_RetainPtr)):

Canonical link: https://commits.webkit.org/291650@main
https://bugs.webkit.org/show_bug.cgi?id=289188
rdar://problem/146320785

Reviewed by Charlie Wolfe.

This change may be useful for diagnosis purposes.

* Source/WebCore/contentextensions/ContentExtension.cpp:
(WebCore::ContentExtensions::ContentExtension::compileGlobalDisplayNoneStyleSheet):
* Source/WebCore/contentextensions/ContentExtensionRule.cpp:
(WebCore::ContentExtensions::DeserializedAction::deserialize):
(WebCore::ContentExtensions::DeserializedAction::serializedLength):

Canonical link: https://commits.webkit.org/291651@main
…ve regions and all non-root web areas on macOS

https://bugs.webkit.org/show_bug.cgi?id=289137
rdar://146185640

Reviewed by Chris Fleizach.

VoiceOver commonly sends remote search requests for all the live regions, and all the non-woot web areas on the page.
Prior to this commit, this always required a full tree traversal. With this commit, we eagerly maintain a pre-sorted
list of these objects, allowing us to answer these queries immediately. There are generally very few of these objects
on a page, so it's cheap to keep this list up-to-date.

To avoid confusion, the existing AXObjectCache::m_liveRegionObjects list is renamed to AXObjectCache::m_changedLiveRegions,
as that is what it actually holds (live regions that have changed and are waiting for notifications to be sent for them).

* LayoutTests/accessibility/mac/live-region-search-expected.txt: Added.
* LayoutTests/accessibility/mac/live-region-search.html: Added.
* Source/WebCore/accessibility/AXCoreObject.h:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::handleLiveRegionCreated):
(WebCore::AXObjectCache::postLiveRegionChangeNotification):
(WebCore::AXObjectCache::liveRegionChangedNotificationPostTimerFired):
(WebCore::AXObjectCache::handleRoleChanged):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
* Source/WebCore/accessibility/AXObjectCache.h:
* Source/WebCore/accessibility/AXSearchManager.cpp:
(WebCore::AXSearchManager::findMatchingObjectsInternal):
(WebCore::AXSearchManager::findMatchingRange):
(WebCore::AXSearchManager::findNextStartingFrom):
(WebCore::AXSearchManager::findAllMatchingObjectsIgnoringCache):
* Source/WebCore/accessibility/AXSearchManager.h:
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::updateRole):
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::updateRoleAfterChildrenCreation):
* Source/WebCore/accessibility/cocoa/AXCoreObjectCocoa.mm:
(WebCore::AXCoreObject::sortedDescendants const):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::sortedLiveRegions):
(WebCore::AXIsolatedTree::sortedNonRootWebAreas):
(WebCore::AXIsolatedTree::applyPendingChanges):
(WebCore::AXIsolatedTree::sortedLiveRegionsDidChange):
(WebCore::AXIsolatedTree::sortedNonRootWebAreasDidChange):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
* Source/WebCore/accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::allSortedLiveRegions const):
(WebCore::AXIsolatedObject::allSortedNonRootWebAreas const):
* Source/WebCore/accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::onDocumentRenderTreeCreation):
(WebCore::AXObjectCache::platformPerformDeferredCacheUpdate):
(WebCore::AXObjectCache::sortedLiveRegions const):
(WebCore::AXObjectCache::sortedNonRootWebAreas const):
(WebCore::AXObjectCache::addSortedObject):
(WebCore::AXObjectCache::removeLiveRegion):
(WebCore::AXObjectCache::initializeSortedIDLists):
* Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::allSortedLiveRegions const):
(WebCore::AccessibilityObject::allSortedNonRootWebAreas const):
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::createRenderTree):

Canonical link: https://commits.webkit.org/291652@main
https://bugs.webkit.org/show_bug.cgi?id=289123
rdar://146160787

Reviewed by Eric Carlson.

Static analysis told me to.

* Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::createElementRenderer):
(WebCore::YouTubePluginReplacement::installReplacement):
(WebCore::YouTubePluginReplacement::youTubeURL):

Canonical link: https://commits.webkit.org/291653@main
https://bugs.webkit.org/show_bug.cgi?id=289178
rdar://146312865

Reviewed by Brandon Stewart.

This function just marks the "needs item placement," bit on the
associated RenderGrid (and potentially ancestor RenderGrids if it is a
subgrid). Let's rename the function to setNeedsItemPlacement to make it
more clear that this is what this function does.

* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::updateGridPositionAfterStyleChange):
* Source/WebCore/rendering/RenderGrid.cpp:
(WebCore::RenderGrid::styleDidChange):
(WebCore::RenderGrid::setNeedsItemPlacement):
(WebCore::RenderGrid::dirtyGrid): Deleted.
* Source/WebCore/rendering/RenderGrid.h:
* Source/WebCore/rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::childFlowStateChangesAndAffectsParentBlock):
(WebCore::RenderTreeBuilder::detachFromRenderGrid):
(WebCore::RenderTreeBuilder::attachToRenderGrid):

Canonical link: https://commits.webkit.org/291654@main
…() calls from FrameLoader::commitProvisionalLoad()

https://bugs.webkit.org/show_bug.cgi?id=289182
rdar://145386222

Reviewed by Wenson Hsieh.

Sometimes the WP crashes under WebCore::Page::viewportArguments() with a
backtrace like this:

```
WTF::RawPtrTraits<WebCore::Frame>::unwrap(WebCore::Frame* const&) (WebCore)
  WTF::Ref<WebCore::Frame, WTF::RawPtrTraits<WebCore::Frame>, WTF::DefaultRefDerefTraits<WebCore::Frame>>::get() const (WebCore)
     WTF::Ref<WebCore::Frame, WTF::RawPtrTraits<WebCore::Frame>, WTF::DefaultRefDerefTraits<WebCore::Frame>>::Ref(WTF::Ref<WebCore::Frame, WTF::RawPtrTraits<WebCore::Frame>, WTF::DefaultRefDerefTraits<WebCore::Frame>> const&) (WebCore)
       WTF::Ref<WebCore::Frame, WTF::RawPtrTraits<WebCore::Frame>, WTF::DefaultRefDerefTraits<WebCore::Frame>>::Ref(WTF::Ref<WebCore::Frame, WTF::RawPtrTraits<WebCore::Frame>, WTF::DefaultRefDerefTraits<WebCore::Frame>> const&) (WebCore)
         WebCore::Page::protectedMainFrame() const (WebCore)
           WebCore::Page::viewportArguments() const (WebCore)
             WebCore::FrameLoader::commitProvisionalLoad() (WebCore)
```

While the root cause is yet to be determined, we can make the process
less crashy by null checking frame->page() before querying for viewport
arguments in FrameLoader::commitProvisionalLoad.

Note that this is better than null checking m_mainFrame on the Page
object, because Page holds a strong reference to m_mainFrame, and so if
we're crashing while dereferencing that object, it indicates all of Page
is null.

* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):

Canonical link: https://commits.webkit.org/291655@main
…nedState

https://bugs.webkit.org/show_bug.cgi?id=289163
rdar://problem/146313542

Reviewed by Sam Weinig.

Currently we do too many style updates for anchor positioned elements because transient state is not properly managed.
This is inefficient and also hides bugs (which this patch fixes).

The patch makes the stage enum an optional paramater that is only initialized if we are actually resolving anchors.
This is a step toward moving the transient state to a TreeResolver scoped struct.

* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-transition-eval-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-try-order-position-area-expected.txt:

These were spurious PASSes as try-order evaluation is not implemented.

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::resolveStyle):

Scope Style::Resolver lifetime so it gets deleted before compositing layer update.

* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setSnapshottedScrollOffsetForAnchorPositioning):
(WebCore::RenderLayer::clearSnapshottedScrollOffsetForAnchorPositioning):

Ensure we do compositing layer update if offset change.

* Source/WebCore/style/AnchorPositionEvaluator.cpp:
(WebCore::Style::AnchorPositionEvaluator::findAnchorForAnchorFunctionAndAttemptResolution):
(WebCore::Style::AnchorPositionEvaluator::updateAnchorPositionedStateForLayoutTimePositioned):

Update if it might be layout time positioned (has position-anchor);

* Source/WebCore/style/AnchorPositionEvaluator.h:
* Source/WebCore/style/StyleScope.cpp:
(WebCore::Style::Scope::invalidateForAnchorDependencies):

Only save the anchor rect if anchored elements have been found.

(WebCore::Style::Scope::resetAnchorPositioningStateBeforeStyleResolution):

Clear the stage.

(WebCore::Style::Scope::updateAnchorPositioningStateAfterStyleResolution):
* Source/WebCore/style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolve):

Don't trigger further style resolution passes if the stage has not progressed.

(WebCore::Style::TreeResolver::updateAnchorPositioningState):

If an anchor changes style we need to do an interleaving round since its position may change.

(WebCore::Style::TreeResolver::generatePositionOptionsIfNeeded):
(WebCore::Style::TreeResolver::tryChoosePositionOption):

Don't pick an option before it has been positioned.

Canonical link: https://commits.webkit.org/291656@main
https://bugs.webkit.org/show_bug.cgi?id=289177
rdar://146310661

Reviewed by Eric Carlson.

Use log identifier in HTML Media Element logging to make it easier to inspect logs.

* Source/WebCore/html/HTMLMediaElement.cpp:

Canonical link: https://commits.webkit.org/291657@main
https://bugs.webkit.org/show_bug.cgi?id=289193
rdar://145803097

Reviewed by Pascoe and Wenson Hsieh.

Add a new LOOA for the blob file access enforcement network process security check. The existing one
should still control both the network process roundtrip and the security check.

* Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::networkProcessWillCheckBlobFileAccess):

Canonical link: https://commits.webkit.org/291658@main
…oded-transform/sframe-transform-in-worker.https.html` progressed on macOS and iPadOS platforms.

https://bugs.webkit.org/show_bug.cgi?id=231611
rdar://problem/84165122

Unreviewed test gardening.

Removing test expectations.

* LayoutTests/platform/ipad/TestExpectations:
* LayoutTests/platform/mac-wk2/TestExpectations:
* LayoutTests/platform/mac/TestExpectations:

Canonical link: https://commits.webkit.org/291659@main
…capture-record/MediaRecorder-peerconnection.https.html is a flaky failure/crash.

https://bugs.webkit.org/show_bug.cgi?id=289199
rdar://146335739

Unreviewed test gardening.

Added a test expectation for a flakily failing/crashing test.

* LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/291660@main
…conditions"

https://bugs.webkit.org/show_bug.cgi?id=288691
rdar://146335497

Unreviewed. In production builds, the Scripts/* rules for copying
headers apply to the .resp file generated by the build rule we added.
This fails since there is no HEADER_OUTPUT_DIR to copy to. Fix by making
the former rules finer-grained.

* Source/WTF/WTF.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/291661@main
… across soft line breaks in bidi text

https://bugs.webkit.org/show_bug.cgi?id=289184
rdar://142811818

Reviewed by Abrar Rahman Protyasha.

Make some adjustments to the visual bidi selection mode on iOS. See below for more details.

* LayoutTests/editing/selection/ios/bidi-visually-contiguous-selection-8-expected.txt: Added.
* LayoutTests/editing/selection/ios/bidi-visually-contiguous-selection-8.html: Added.

Add a layout test to exercise this change, by extending a selection handle across a soft line break
containing bidi LTR text in an RTL paragraph, and verify that the selection snaps to select the
entire LTR text run after text interaction ends.

* LayoutTests/resources/ui-helper.js:
(window.UIHelper.async selectionHitTestOffset):
(window.UIHelper.async zoomByDoubleTappingAt): Deleted.
* Source/WebCore/editing/Editing.cpp:
(WebCore::advanceInDirection):
(WebCore::makeVisuallyContiguousIfNeeded):

Consider the case where, in an RTL paragraph with selected text, the selection end position is in
the second line of an LTR text run that spans two lines with a soft line break in between. Right
now, we treat this scenario as being visually contiguous and don't attempt to adjust the selection
endpoints because there's no break in visual continuity in the selection, within the last line.
However, this can lead to unintuitive behaviors, as the selection will visually flip when extended
across the bidi text boundary, to the rest of the RTL text on the second line. To mitigate this, we
detect the following case:

-   The selection spans multiple lines.
-   The visually selected text on the first or last line only spans text which is a different
    direction from the rest of the paragraph (in this case, only LTR text is selected when the rest
    of the paragraph is RTL).

...and automatically expand the selection start or end, so that we select all of the text that's of
a different direction than the paragraph direction after the soft line break.

* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::makeBidiSelectionVisuallyContiguousIfNeeded):
(WebCore::adjustTextDirectionForCoalescedGeometries):

Adjust code that makes iOS selection rects visually contiguous, so that it will start the selection
rect from the right visual extent in the scenario detailed above. To achieve this, we compute the
visible extent of the first or last line of the selection, on the opposite end of the caret, and
unify the visual selection bounds with this caret rect in order to compute the final coalesced quad
for the start and end selection geometries.

(WebCore::directionForFirstLine): Deleted.
(WebCore::directionForLastLine): Deleted.

Canonical link: https://commits.webkit.org/291662@main
…on-handler.html is a flaky crash

https://bugs.webkit.org/show_bug.cgi?id=289186
rdar://146319214

Reviewed by Eric Carlson.

Follow the same pattern as full-screen-enter-while-exiting-mid-completion-handler.html of waiting for a presentation update.

Also remove unused changePromise variable from the other test.

* LayoutTests/fullscreen/full-screen-enter-while-exiting-fully-mid-completion-handler.html:
* LayoutTests/fullscreen/full-screen-enter-while-exiting-mid-completion-handler-expected.txt:
* LayoutTests/fullscreen/full-screen-enter-while-exiting-mid-completion-handler.html:

Canonical link: https://commits.webkit.org/291663@main
…interactive-elements/the-dialog-element/focus-after-close.html is a flaky failure.

https://bugs.webkit.org/show_bug.cgi?id=289204
rdar://146338224

Unreviewed test gardening.

Added a test expectation for a flakily failing test.

* LayoutTests/platform/mac/TestExpectations:

Canonical link: https://commits.webkit.org/291664@main
…irectory.https.any.sharedworker.html is flaky crash(flaky in EWS)

https://bugs.webkit.org/show_bug.cgi?id=287889
rdar://145086986

Reviewed by Alexey Proskuryakov.

In existing implementation, FileSystemStorageManager::connectionClosed() takes handle from m_handles and invokes
FileSystemStorageHandle::close() on the handle, which then invokes FileSystemStorageManager::closeHandle() with the
handle. FileSystemStorageManager tries to assert handle still exists in m_handles, and will remove the hanlde from
m_handles again. To fix this problem, make FileSystemStorageManager::connectionClosed() not take handle and remove it
from registry and let FileSystemStorageManager::closeHandle() handle it instead. Credits to Alexey who found the issue.

* LayoutTests/platform/mac-wk2/TestExpectations:
* Source/WebKit/NetworkProcess/storage/FileSystemStorageManager.cpp:
(WebKit::FileSystemStorageManager::connectionClosed):

Canonical link: https://commits.webkit.org/291665@main
https://bugs.webkit.org/show_bug.cgi?id=289192
rdar://146327392

Reviewed by Alan Baradlay.

Implement `supports_text_stream_insertion<>` for `std::unique_ptr<>`, as we do for other smart
pointers.

* Source/WTF/wtf/text/TextStream.h:

Canonical link: https://commits.webkit.org/291666@main
…re enabled

https://bugs.webkit.org/show_bug.cgi?id=289139
rdar://146145732

Reviewed by Aditya Keerthi and Wenson Hsieh.

For platforms besides Mac & iOS, all of the checks in `isControlStyled(...)`
are for border and background styling which would cause the
RenderStyle's `nativeAppearanceDisabled` flag to be set anyways. Thus,
it is not necessary to check `isControlStyled` on non-Mac & non-iOS
platforms when the devolvable widgets feature is enabled.

On Mac, `isControlStyled` contains an additional check for zoom
styling and writing mode styling for menu lists due to an issue
which prevents the control from being scaled. This issue does not
occur when vector-based controls are enabled. Thus, it is not
necessary to check `isControlStyled` on Mac when both vector-based
controls and devolvable widgets are enabled.

On iOS, `isControlStyled` contains an additional check for list
buttons, disabling native appearance if the style has content set
or content:none in order to hide the button. These change move
this logic to the control's paint method, which simply draws
nothing if these styles are set. With this logic moved, it is
no longer necessary to check `isControlStyled` on iOS when the
devolvable widgets feature is enabled.

* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::shouldCheckLegacyStylesForNativeAppearance):
(WebCore::RenderTheme::adjustStyle):
* Source/WebCore/rendering/ios/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::isControlStyled const):
(WebCore::RenderThemeIOS::paintListButton):

Canonical link: https://commits.webkit.org/291667@main
https://bugs.webkit.org/show_bug.cgi?id=288959
rdar://146003367

Reviewed by Pascoe.

This makes testRunner.findString() behave correctly with site isolation.

* LayoutTests/editing/text-iterator/findString.html:
* Source/WebKit/UIProcess/API/C/WKPage.cpp:
(WKPageFindStringForTesting):
* Source/WebKit/UIProcess/API/C/WKPagePrivate.h:
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageFindString): Deleted.
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::findStringFromInjectedBundle): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/mac/WebKit2.order:
* Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::postMessageWithAsyncReply):
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::findString):
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.h:
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveAsyncMessageFromInjectedBundle):

Canonical link: https://commits.webkit.org/291668@main
…ring/backdrop-object.html WPT is a flaky image failure

https://bugs.webkit.org/show_bug.cgi?id=289200
rdar://146335766

Unreviewed test gardening.

Add test expectation.

* LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/291669@main
…emaccess/writable-file-stream-abort.html is a flaky crash

https://bugs.webkit.org/show_bug.cgi?id=289207
rdar://146342345

Unreviewed test gardening.

Add test expectation.

* LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/291670@main
https://bugs.webkit.org/show_bug.cgi?id=289198
rdar://146334563

Reviewed by Keith Miller and Ryosuke Niwa.

JSC::MicrotaskQueue::performMicrotaskCheckpoint will take a lambda which
customizes default dispatching mechanism for microtasks. And then
WebCore offers a lambda and avoid doing virtual function call for JS
microtasks which is by-far most frequently called type of microtasks.

* Source/JavaScriptCore/CMakeLists.txt:
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/runtime/JSMicrotask.cpp:
(JSC::runJSMicrotask):
* Source/JavaScriptCore/runtime/JSMicrotask.h:
* Source/JavaScriptCore/runtime/MicrotaskQueue.cpp:
(JSC::QueuedTask::tryRun): Deleted.
(JSC::MicrotaskQueue::performMicrotaskCheckpoint): Deleted.
* Source/JavaScriptCore/runtime/MicrotaskQueue.h:
(JSC::QueuedTask::dispatcher const):
* Source/JavaScriptCore/runtime/MicrotaskQueueInlines.h: Copied from Source/JavaScriptCore/runtime/JSMicrotask.h.
(JSC::MicrotaskQueue::performMicrotaskCheckpoint):
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::drainMicrotasks):
* Source/WebCore/bindings/js/JSDOMWindowBase.cpp:
* Source/WebCore/dom/EventLoop.cpp:
* Source/WebCore/dom/Microtasks.cpp:
(WebCore::MicrotaskQueue::performMicrotaskCheckpoint):
* Source/WebCore/dom/Microtasks.h:
(WebCore::WebCoreMicrotaskDispatcher::WebCoreMicrotaskDispatcher):
(WebCore::WebCoreMicrotaskDispatcher::type const):

Canonical link: https://commits.webkit.org/291671@main
https://bugs.webkit.org/show_bug.cgi?id=289209
rdar://145717488

Revert "[Swift] Use Platform.h feature defines as compilation conditions"

Broke the internal build.

Reverted changes:

    [Swift] Use Platform.h feature defines as compilation conditions
    https://bugs.webkit.org/show_bug.cgi?id=288691
    rdar://145717488
    291648@main (168c0ae)

    Build fix for "[Swift] Use Platform.h feature defines as compilation conditions"
    https://bugs.webkit.org/show_bug.cgi?id=288691
    rdar://146335497
    291661@main (8e711eb)

Canonical link: https://commits.webkit.org/291672@main
…b-platform-tests/fullscreen/api/element tests are flaky failure

https://bugs.webkit.org/show_bug.cgi?id=287922
rdar://145104423

Unreviewed test gardening.

Remove test expectations.  Fixed by commit  291200@main.

* LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/291673@main
….html is no longer a text failure

rdar://105993721

Unreviewed test gardening.

* LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/291674@main
…-object.html WPT is a flaky image failure

https://bugs.webkit.org/show_bug.cgi?id=289200
rdar://146335766

Reviewed by Simon Fraser.

Unflake the test by stop assuming a sequence of sequential events.

* LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/backdrop-object.html:

Canonical link: https://commits.webkit.org/291675@main
…_64 ] imported/w3c/web-platform-tests/mediacapture-insertable-streams/VideoTrackGenerator-with-window-tracks.https.html is a constant failure.

https://bugs.webkit.org/show_bug.cgi?id=289211
rdar://146345583

Unreviewed test gardening.

Added a test expectation for a constantly failing test.

* LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/291676@main
@Tatsh
Copy link

Tatsh commented Jun 13, 2025

Do you know if this fixes support with Qt 6.9.1?

@Tatsh
Copy link

Tatsh commented Jun 15, 2025

Do you know if this fixes support with Qt 6.9.1?

No it does not. Fails at final link stage:

/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/InitWebKitQt.cpp.o: in function `WebKit::initializeWebKitWidgets()':
/var/tmp/portage/dev-qt/qtwebkit-6.212_p20241223/work/webkit-fc6059b2fd73f5d47c6c7dc30409bb5cb3a4ca97/Source/WebKitLegacy/qt/WidgetSupport/InitWebKitQt.cpp:39:(.text._ZN6WebKit23initializeWebKitWidgetsEv+0x75): undefined reference to `WebKit::setWebKitWidgetsInitCallback(WebCore::QStyleFacade* (*)())'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-qt/qtwebkit-6.212_p20241223/work/webkit-fc6059b2fd73f5d47c6c7dc30409bb5cb3a4ca97/Source/WebKitLegacy/qt/WidgetSupport/InitWebKitQt.cpp:40:(.text._ZN6WebKit23initializeWebKitWidgetsEv+0x7a): undefined reference to `WebKit::initializeWebKitQt()'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-qt/qtwebkit-6.212_p20241223/work/webkit-fc6059b2fd73f5d47c6c7dc30409bb5cb3a4ca97/Source/WebKitLegacy/qt/WidgetSupport/InitWebKitQt.cpp:44:(.text._ZN6WebKit23initializeWebKitWidgetsEv+0xa8): undefined reference to `WebKit::setImagePlatformResource(char const*, QPixmap const&)'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-qt/qtwebkit-6.212_p20241223/work/webkit-fc6059b2fd73f5d47c6c7dc30409bb5cb3a4ca97/Source/WebKitLegacy/qt/WidgetSupport/InitWebKitQt.cpp:46:(.text._ZN6WebKit23initializeWebKitWidgetsEv+0xde): undefined reference to `WebKit::setImagePlatformResource(char const*, QPixmap const&)'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: lib/libQt6WebKitWidgets.so.6.212.0: protected symbol `_ZN6WebKit18initializeWebKitQtEv' isn't defined
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status

@mnutt
Copy link
Member Author

mnutt commented Jun 15, 2025

I initially made fixes to get it working on MacOS with qt 6.9.x, but will turn my attention to Linux in the next few days.

@mnutt
Copy link
Member Author

mnutt commented Jun 25, 2025

@Tatsh are you using any build flags or anything? I got it to successfully build on 6.9.1 using this:

https://gist.github.com/mnutt/2bef67e6bdc5ea511af504840e11ba6a

@Tatsh
Copy link

Tatsh commented Jun 25, 2025

Flags are here: https://github.com/Tatsh/tatsh-overlay/blob/master/dev-qt/qtwebkit/qtwebkit-6.212_p20241223.ebuild#L45 and was building with build type Release. LTO should be off unless it is somehow getting turned on in a different way by qtwebkit itself. I do build with -O2 -ggdb -march=native -mtune=native -pipe but I do not think this should be an issue.

@Tatsh
Copy link

Tatsh commented Jun 25, 2025

Retrying now with SHA fc6059b2fd73f5d47c6c7dc30409bb5cb3a4ca97 because I do not have a full build log from the last time.

@mnutt
Copy link
Member Author

mnutt commented Jun 26, 2025

Actually could you try against #48 ? It is 3 months newer and has a number of qt-6.9-related fixes.

@Tatsh
Copy link

Tatsh commented Jun 27, 2025

Could you share a build log in any case? What I found is that the build system is enabling -Wl,--no-undefined but I am wondering if you are seeing this in the Ubuntu case? Also what is the -H. is supposed to do?

@Tatsh
Copy link

Tatsh commented Jun 27, 2025

Here's the link command expanded:

/usr/bin/c++ \
-fPIC \
-fvisibility=hidden \
-fvisibility-inlines-hidden \
-fdiagnostics-color=always \
-Wextra \
-Wall \
-pipe \
-fmax-errors=20 \
-Wno-odr \
-Wno-stringop-overread \
-Wno-stringop-overflow \
-Wno-nonnull \
-Wno-array-bounds \
-Wno-expansion-to-defined \
-Wno-noexcept-type \
-Wno-subobject-linkage \
-Wno-psabi \
-Wno-misleading-indentation \
-Wno-maybe-uninitialized \
-Wundef \
-Wpointer-arith \
-Wmissing-format-attribute \
-Wformat-security \
-Wcast-align \
-Wno-tautological-compare \
-fasynchronous-unwind-tables \
-fno-strict-aliasing \
-fno-exceptions \
-fno-rtti \
-fcoroutines \
-ffunction-sections \
-fdata-sections \
-g \
-Wl,--gc-sections \
-Wl,--disable-new-dtags \
-Wl,--version-script,/home/tatsh/dev/webkit/build/QtWebKitWidgets.version \
-Wl,--dependency-file=Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/link.d \
-shared \
-Wl,-soname,libQt6WebKitWidgets.so.6 \
-o \
lib/libQt6WebKitWidgets.so.6.212.0 \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/WebKitWidgets_autogen/mocs_compilation.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetApi/qgraphicswebview.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetApi/qwebframe.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetApi/qwebinspector.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetApi/qwebpage.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetApi/qwebpage_p.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetApi/qwebview.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetApi/qwebviewaccessible.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/InitWebKitQt.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/InspectorClientWebPage.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/PageClientQt.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/QGraphicsWidgetPluginImpl.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/QStyleFacadeImp.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/QWebUndoCommand.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/QWidgetPluginImpl.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/QtFallbackWebPopup.cpp.o \
Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/QtWebComboBox.cpp.o \
-Wl,-rpath,/home/tatsh/dev/webkit/build/lib: \
/usr/lib64/libQt6Widgets.so.6.9.1 \
lib/libQt6WebKit.so.6.212.0 \
/usr/lib64/libQt6Gui.so.6.9.1 \
/usr/lib64/libGLX.so \
/usr/lib64/libOpenGL.so \
/usr/lib64/libQt6Network.so.6.9.1 \
/usr/lib64/libQt6Core.so.6.9.1

Outputs:

/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/InitWebKitQt.cpp.o: in function `WebKit::initializeWebKitWidgets()':
/home/tatsh/dev/webkit/Source/WebKitLegacy/qt/WidgetSupport/InitWebKitQt.cpp:39:(.text._ZN6WebKit23initializeWebKitWidgetsEv+0x7f): undefined reference to `WebKit::setWebKitWidgetsInitCallback(WebCore::QStyleFacade* (*)())'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: /home/tatsh/dev/webkit/Source/WebKitLegacy/qt/WidgetSupport/InitWebKitQt.cpp:40:(.text._ZN6WebKit23initializeWebKitWidgetsEv+0x84): undefined reference to `WebKit::initializeWebKitQt()'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: /home/tatsh/dev/webkit/Source/WebKitLegacy/qt/WidgetSupport/InitWebKitQt.cpp:44:(.text._ZN6WebKit23initializeWebKitWidgetsEv+0xc6): undefined reference to `WebKit::setImagePlatformResource(char const*, QPixmap const&)'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: /home/tatsh/dev/webkit/Source/WebKitLegacy/qt/WidgetSupport/InitWebKitQt.cpp:46:(.text._ZN6WebKit23initializeWebKitWidgetsEv+0x114): undefined reference to `WebKit::setImagePlatformResource(char const*, QPixmap const&)'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: lib/libQt6WebKitWidgets.so.6.212.0: protected symbol `_ZN6WebKit18initializeWebKitQtEv' isn't defined
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

When I add Source/WebKitLegacy/CMakeFiles/WebKitLegacy.dir/qt/WebCoreSupport/InitWebCoreQt.cpp.o right after the -o lib/libQt6WebKitWidgets.so.6.212.0, the command succeeds.

@Tatsh
Copy link

Tatsh commented Jun 27, 2025

But the above does require removing -Wl,--no-undefined. Otherwise it fails with a different error and it looks like it has to do with more dependencies needed to link:

/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WebCoreSupport/InitWebCoreQt.cpp.o: in function `WebKit::initializeWebKitQt()':
/home/tatsh/dev/webkit/Source/WebKitLegacy/qt/WebCoreSupport/InitWebCoreQt.cpp:66:(.text._ZN6WebKit18initializeWebKitQtEv+0x24): undefined reference to `WebCore::RenderThemeQStyle::setStyleFactoryFunction(WebCore::QStyleFacade* (*)())'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: /home/tatsh/dev/webkit/Source/WebKitLegacy/qt/WebCoreSupport/InitWebCoreQt.cpp:67:(.text._ZN6WebKit18initializeWebKitQtEv+0x39): undefined reference to `WebCore::ScrollbarThemeQStyle::ScrollbarThemeQStyle()'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: /home/tatsh/dev/webkit/Source/WebKitLegacy/qt/WebCoreSupport/InitWebCoreQt.cpp:67:(.text._ZN6WebKit18initializeWebKitQtEv+0x40): undefined reference to `WebCore::RenderThemeQStyle::singleton()'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: /home/tatsh/dev/webkit/Source/WebKitLegacy/qt/WebCoreSupport/InitWebCoreQt.cpp:67:(.text._ZN6WebKit18initializeWebKitQtEv+0x4b): undefined reference to `WebCore::RenderThemeQt::setCustomTheme(WebCore::RenderTheme& (*)(), WebCore::ScrollbarTheme*)'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WebCoreSupport/InitWebCoreQt.cpp.o: in function `WebKit::setImagePlatformResource(char const*, QPixmap const&)':
/home/tatsh/dev/webkit/Source/WebKitLegacy/qt/WebCoreSupport/InitWebCoreQt.cpp:73:(.text._ZN6WebKit24setImagePlatformResourceEPKcRK7QPixmap+0x45): undefined reference to `WebCore::Image::setPlatformResource(char const*, QImage const&)'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: Source/WebKitLegacy/CMakeFiles/WebKitWidgets.dir/qt/WebCoreSupport/InitWebCoreQt.cpp.o: in function `WebCore::initializeWebCoreQt()':
/home/tatsh/dev/webkit/Source/WebKitLegacy/qt/WebCoreSupport/InitWebCoreQt.cpp:93:(.text._ZN7WebCore19initializeWebCoreQtEv+0x6f): undefined reference to `PlatformStrategiesQt::initialize()'
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: /home/tatsh/dev/webkit/Source/WebKitLegacy/qt/WebCoreSupport/InitWebCoreQt.cpp:94:(.text._ZN7WebCore19initializeWebCoreQtEv+0x74): undefined reference to `QtWebElementRuntime::initialize()'

@mnutt mnutt merged commit 9bcb8bf into master Jul 30, 2025
3 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.

Comments