forked from qtwebkit/qtwebkit
-
Notifications
You must be signed in to change notification settings - Fork 11
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 in upstream 2023-07-14 #12
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
https://bugs.webkit.org/show_bug.cgi?id=185876 Reviewed by Jonathan Bedard. Since the csswg-tests repo was merged into WPT, there is only one test repository now in imported/w3c/resources/TestRepositories, which does not specify the option to convert testharness paths from relative paths to explicit paths. Additionally, wptserve has been used for some time, so run-webkit-tests should have no problem with relative paths to the testharness paths. Thus, there is no reason to continue converting testharness paths, so this patch removes all code related to that conversion. * Scripts/webkitpy/w3c/test_converter.py: (convert_for_webkit): (_W3CTestConverter.__init__): (_W3CTestConverter.convert_attributes_if_needed): * Scripts/webkitpy/w3c/test_converter_unittest.py: (verify_test_harness_paths): * Scripts/webkitpy/w3c/test_importer.py: (TestImporter.find_importable_tests): (TestImporter.import_tests): Canonical link: https://commits.webkit.org/265842@main
…ing due to resolve promises out of an event queue task https://bugs.webkit.org/show_bug.cgi?id=258814 rdar://111692360 Reviewed by Eric Carlson. The WPT test change is coming from upstream and checks that the flush promise callbacks are executed before the error event handlers. The implementation is correctly resolving the promises before scheduling a task to fire the error event. But the promises are resolved outside of the event loop and are thus delayed to a loater task, and the error event fires before. To prevent this, we are changing the way the internal decoder is calling back into WebCodecsVideoDecoder code. Instead of just hoping to the right thread, we are now hoping to the right thread and then enqueueing a task. We add a weakThis check there so that it is no longer necessary on each callback. Covered by updated tests. * LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.js: * Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp: (WebCore::WebCodecsVideoDecoder::configure): (WebCore::WebCodecsVideoDecoder::decode): (WebCore::WebCodecsVideoDecoder::flush): (WebCore::WebCodecsVideoDecoder::resetDecoder): Canonical link: https://commits.webkit.org/265843@main
…ct is present https://bugs.webkit.org/show_bug.cgi?id=256848 rdar://109724698 Reviewed by Eric Carlson. Use codedWidth and codedHeight instead of parsedRect. This is coherent with the rest of the algorithm like checking the array size and is consistent with what Chrome does. I filed w3c/webcodecs#702 to update the spec. * LayoutTests/http/wpt/webcodecs/videoFrame-with-stride-expected.txt: Added. * LayoutTests/http/wpt/webcodecs/videoFrame-with-stride.html: Added. * Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp: (WebCore::WebCodecsVideoFrame::create): Canonical link: https://commits.webkit.org/265844@main
https://bugs.webkit.org/show_bug.cgi?id=258195 rdar://111208014 Reviewed by Chris Dumez. Make sure to implement the fragment identifier handling defined in https://fetch.spec.whatwg.org/#concept-response-location-url: - If the response has a fragment identifier and the URL computed from the location header does not, add the fragment identifier back. * LayoutTests/http/wpt/service-workers/navigation-redirect-with-hash-worker.js: Added. * LayoutTests/http/wpt/service-workers/navigation-redirect-with-hash.https-expected.txt: Added. * LayoutTests/http/wpt/service-workers/navigation-redirect-with-hash.https.html: Added. * LayoutTests/http/wpt/service-workers/resources/redirect-with-hash.py: Added. (main): * Source/WebCore/platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::redirectedRequest const): * Source/WebCore/platform/network/ResourceRequestBase.h: * Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp: (WebKit::ServiceWorkerFetchTask::processRedirectResponse): Canonical link: https://commits.webkit.org/265845@main
https://bugs.webkit.org/show_bug.cgi?id=258974 Reviewed by Tim Nguyen. Rename shouldSkipContent to isSkippedContentRoot to be consistent with isInertSubtreeRoot. * Source/WebCore/dom/Document.cpp: (WebCore::CallbackForContainIntrinsicSize): (WebCore::Document::caretPositionFromPoint): * Source/WebCore/editing/TextIterator.cpp: (WebCore::TextIterator::advance): * Source/WebCore/rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintContents): * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::foregroundIsKnownToBeOpaqueInRect const): (WebCore::RenderBox::explicitIntrinsicInnerWidth const): (WebCore::RenderBox::explicitIntrinsicInnerHeight const): * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintList): * Source/WebCore/rendering/RenderObject.cpp: (WebCore::RenderObject::isSkippedContentRoot const): (WebCore::RenderObject::shouldSkipContent const): Deleted. * Source/WebCore/rendering/RenderObject.h: * Source/WebCore/rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint): * Source/WebCore/rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint): * Source/WebCore/rendering/updating/RenderTreeUpdater.cpp: (WebCore::RenderTreeUpdater::updateElementRenderer): Canonical link: https://commits.webkit.org/265846@main
https://bugs.webkit.org/show_bug.cgi?id=258970 rdar://111902537 Reviewed by Tim Nguyen. It is more efficient than invalidateStyle() which has been made obsolete by fine-grained pseudo-element invalidation. * Source/WebCore/dom/StyledElement.cpp: (WebCore::StyledElement::attributeChanged): (WebCore::StyledElement::styleAttributeChanged): (WebCore::StyledElement::invalidateStyleAttribute): Canonical link: https://commits.webkit.org/265847@main
https://bugs.webkit.org/show_bug.cgi?id=258951 rdar://111798349 Reviewed by Youenn Fablet. In getSizeForNext(), we call seek() and then dispatchDidReceiveResponse(). After 261968@main, seek() could call fail internally and call didFail(). However, we could still call dispatchDidReceiveResponse() right after in case of failure. We now propagate the error state out of seek() and have the caller call didFail() and then early return instead of calling dispatchDidReceiveResponse(). * Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp: (WebKit::NetworkDataTaskBlob::getSizeForNext): (WebKit::NetworkDataTaskBlob::seek): * Source/WebKit/NetworkProcess/NetworkDataTaskBlob.h: Canonical link: https://commits.webkit.org/265848@main
https://bugs.webkit.org/show_bug.cgi?id=258823 rdar://111704754 Reviewed by Carlos Alberto Lopez Perez. * Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version. * Tools/Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: Ditto. * Tools/Scripts/libraries/webkitbugspy/run-tests: Added. Canonical link: https://commits.webkit.org/265849@main
…t server access https://bugs.webkit.org/show_bug.cgi?id=258953 <rdar://108687466> Reviewed by Per Arne Vollan. The Sandbox extensions needed for dynamic fonts needs to enable the webkit mach bootstrap extension, otherwise message filtering will block calls needed for the feature to work properly. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters): Canonical link: https://commits.webkit.org/265850@main
https://bugs.webkit.org/show_bug.cgi?id=258960 <radar://111867549> Reviewed by Kimmo Kinnunen. We should never set the clip rectangle to something larger than the initial graphics context bounds, since we won't render to an area larger than that and the contents will be left stale. Correct this by clipping to the initial clip rectangle whenever the clip rectangle is reset. * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp: (WebCore::DisplayList::Recorder::resetClip): We were already setting the clip bounds to this value a few lines above. * Tools/TestWebKitAPI/Tests/WebCore/DisplayListRecorderTests.cpp: Update test expectation. Canonical link: https://commits.webkit.org/265851@main
https://bugs.webkit.org/show_bug.cgi?id=258984 Leads to a subtle crash Reverted changeset: "Fix MemoryBackingStoreTransaction::abort to restore state correctly" https://bugs.webkit.org/show_bug.cgi?id=258701 https://commits.webkit.org/265816@main Canonical link: https://commits.webkit.org/265852@main
https://bugs.webkit.org/show_bug.cgi?id=258825 rdar://111705506 Reviewed by Carlos Alberto Lopez Perez. * Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Tools/Scripts/libraries/webkitscmpy/run-tests: Added. Canonical link: https://commits.webkit.org/265853@main
https://bugs.webkit.org/show_bug.cgi?id=258954 rdar://111764235 Reviewed by Wenson Hsieh. When upstreaming the autocorrection enhancements implementation, the code to dismiss the markers was accidentally put inside a compile time guard which was only true for `PLATFORM(MAC)` and not iOS. Fix by moving the code outside of the compile time guard. Also refactors some methods in `Internals.cpp` to reduce duplication. * Source/WebCore/editing/AlternativeTextController.cpp: (WebCore::removeAutocorrectionIndictorMarkers): (WebCore::AlternativeTextController::respondToAppliedEditing): (WebCore::removeCorrectionIndicatorMarkers): Deleted. * Source/WebCore/editing/AlternativeTextController.h: * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::hasMarkerFor): (WebCore::Internals::hasSpellingMarker): (WebCore::Internals::hasGrammarMarker): (WebCore::Internals::hasAutocorrectedMarker): (WebCore::Internals::hasDictationAlternativesMarker): (WebCore::Internals::hasCorrectionIndicatorMarker): * Source/WebCore/testing/Internals.h: * Source/WebCore/testing/Internals.idl: * Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h: * Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm: (-[WKWebView applyAutocorrection:toString:isCandidate:withCompletionHandler:]): * Tools/TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm: (TEST): Canonical link: https://commits.webkit.org/265854@main
…ctations https://bugs.webkit.org/show_bug.cgi?id=258973 Unreviewed test gardening. * LayoutTests/platform/glib/fast/mediastream/getDisplayMedia-size-expected.txt: Removed. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt: Removed. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/canvas/element/path-objects/2d.path.isPointInPath.basic-expected.txt: Removed. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/semantics/popovers/popover-not-keyboard-focusable-expected.txt: Removed. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Removed. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt: Removed. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/reconfiguring-encoder.https.any.worker_av1-expected.txt: Removed. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/reconfiguring-encoder.https.any_av1-expected.txt: Removed. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/xhr/send-authentication-cors-basic-setrequestheader-expected.txt: Removed. * LayoutTests/platform/glib/svg/custom/massive-coordinates-expected.txt: Removed. * LayoutTests/platform/gtk/fast/overflow/line-clamp-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-002.tentative-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-004.tentative-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-style-001.tentative-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/direction/direction-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-1-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-1-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-2-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/legacy-orthogonal-pseudo-units-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-002-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-003-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-legacy-length-values-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-percentage-002-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-stretchy-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/legacy-mstyle-attributes-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/merror-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/mrow-preferred-width-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/no-spacing-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/spacing-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-003-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-dynamic-002-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/largeop-hit-testing-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-legacy-length-values-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-legacy-length-values-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/root-parameters-1-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/cramped-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/empty-underover-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-1-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-2-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-3-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-4-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-5-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-6-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-1-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-1-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-1-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-2-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-and-embellished-operator-1-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-and-embellished-operator-2-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/mspace-legacy-length-values-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/mspace-width-height-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-004-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/tables/dynamic-table-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/tables/table-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/tables/table-axis-height-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/tables/table-cell-mrow-layout-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/default-font-family-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/default-properties-on-semantics-and-maction-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/default-properties-on-the-math-root-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/display-contents-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/displaystyle-1-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/displaystyle-2-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/displaystyle-3-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/multi-column-layout-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/overflow/computed-value-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-002-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/scriptlevel-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/writing-mode/force-horizontal-tb-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/writing-mode/writing-mode-001-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/writing-mode/writing-mode-002-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/html5-tree/class-2-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/html5-tree/clipboard-event-handlers.tentative-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/html5-tree/content-editable-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/html5-tree/css-inline-style-interface.tentative-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/html5-tree/html-or-foreign-element-interfaces.tentative-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/html5-tree/integration-point-4-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/html5-tree/integration-point-5-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/html5-tree/unique-identifier-2-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/text-and-math/basic-mathematical-alphanumeric-symbols-with-default-font-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/svg/text/visualtests/text-inline-size-003-visual-expected.txt: Removed. * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/xhr/send-network-error-sync-events.sub-expected.txt: Removed. * LayoutTests/platform/ios-simulator-16-wk2/imported/w3c/web-platform-tests/css/css-tables/visibility-collapse-row-003-dynamic-expected.txt: Removed. * LayoutTests/platform/ios-wk2/fast/forms/textarea-align-expected.txt: Removed. * LayoutTests/platform/ios-wk2/fast/replaced/border-radius-clip-expected.txt: Removed. * LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom-view/client-props-root-expected.txt: Removed. * LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt: Removed. * LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Removed. * LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/websockets/cookies/007-expected.txt: Removed. * LayoutTests/platform/ios/fast/text-indicator/text-indicator-estimated-color-with-implicit-newline-expected.txt: Removed. * LayoutTests/platform/ios/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: Removed. * LayoutTests/platform/ios/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt: Removed. * LayoutTests/platform/mac-ventura-wk2/imported/w3c/web-platform-tests/css/css-cascade/layer-counter-style-override-expected.txt: Removed. * LayoutTests/platform/mac-wk1/accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: Removed. * LayoutTests/platform/mac-wk1/fast/repaint/leftover-after-shrinking-content-expected.txt: Removed. * LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/popovers/popover-focus-expected.txt: Removed. * LayoutTests/platform/mac/imported/w3c/web-platform-tests/mathml/relations/css-styling/not-participating-to-parent-layout-expected.txt: Removed. * LayoutTests/platform/mac/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Removed. * LayoutTests/platform/mac/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-003-expected.txt: Removed. * LayoutTests/platform/wpe/accessibility/aria-description-expected.txt: Removed. * LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-tables/border-writing-mode-dynamic-001-expected.txt: Removed. Canonical link: https://commits.webkit.org/265855@main
https://bugs.webkit.org/show_bug.cgi?id=258881 <rdar://110730883> Reviewed by Tim Horton. Add the host layer's ID to the Interaction Region layer `groupName`. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.h: * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm: (WebKit::updateLayersForInteractionRegions): Update the method's signature to take a `RemoteLayerTreeNode` ref, we don't use the RemoteLayerTreeHost. (WebKit::interactionRegionGroupNameForRegion): Use the `layerID` when generating the group name. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm: (WebKit::RemoteLayerTreePropertyApplier::applyProperties): Update the call site. Canonical link: https://commits.webkit.org/265856@main
https://bugs.webkit.org/show_bug.cgi?id=258946 <rdar://111807064> Reviewed by Simon Fraser. Protect image inside MemoryCache::destroyDecodedDataForAllImages() before calling destroyDecodedData() on it, to make sure the Image stays alive for the duration of the function execution. Also do more protecting in MemoryCache::forEachResource() for good measure. This may explain the crashes at <rdar://111807064>. * Source/WebCore/loader/cache/MemoryCache.cpp: (WebCore::MemoryCache::destroyDecodedDataForAllImages): Canonical link: https://commits.webkit.org/265857@main
…Content https://bugs.webkit.org/show_bug.cgi?id=258983 Reviewed by Tim Nguyen. Rename effectiveSkipsContent to effectiveSkippedContent since effectiveSkipsContent is correct for the root but in fact the flag is inherited down and so is misleading for true skipped content. * Source/WebCore/rendering/RenderObject.cpp: (WebCore::RenderObject::isSkippedContent const): * Source/WebCore/rendering/style/RenderStyle.h: * Source/WebCore/rendering/style/RenderStyleInlines.h: (WebCore::RenderStyle::effectiveSkippedContent const): (WebCore::RenderStyle::effectiveSkipsContent const): Deleted. * Source/WebCore/rendering/style/RenderStyleSetters.h: (WebCore::RenderStyle::setEffectiveSkippedContent): (WebCore::RenderStyle::setEffectiveSkipsContent): Deleted. * Source/WebCore/rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareInheritedData.h: * Source/WebCore/rendering/updating/RenderTreeUpdater.cpp: (WebCore::RenderTreeUpdater::updateRenderTree): (WebCore::RenderTreeUpdater::updateElementRenderer): * Source/WebCore/style/StyleAdjuster.cpp: (WebCore::Style::Adjuster::adjust const): Canonical link: https://commits.webkit.org/265858@main
… from the AttributedStrings returned by WebKit accessibility. https://bugs.webkit.org/show_bug.cgi?id=256370 <rdar://problem/108949862> Reviewed by Tyler Wilcock. Removed the font NSAccessibilityVisibleNameKey attribute from the AttributedStrings returned by accessibility because it is redundant since AX clients can compute the VisibleName from the other conveyed font attributes. * Source/WebCore/accessibility/cocoa/AccessibilityObjectCocoa.mm: (WebCore::attributedStringSetFont): * LayoutTests/accessibility/mac/attributed-string/attributed-string-for-range-with-options.html: * LayoutTests/accessibility/mac/attributed-string/attributed-string-for-range.html: * LayoutTests/accessibility/mac/attributed-string/attributed-string-text-styling.html: * LayoutTests/accessibility/mac/lazy-spellchecking-expected.txt: * LayoutTests/accessibility/native-text-control-attributed-string-expected.txt: * LayoutTests/platform/mac/accessibility/content-editable-as-textarea-expected.txt: * LayoutTests/platform/mac/accessibility/element-line-rects-and-text-expected.txt: * LayoutTests/accessibility/mac/lazy-spellchecking-expected.txt: Canonical link: https://commits.webkit.org/265859@main
https://bugs.webkit.org/show_bug.cgi?id=258980 rdar://111909315 Reviewed by Eric Carlson. Use the calculated value of `writing-mode` in applyCSSProperties() rather than the default provided in the UA style sheet. * LayoutTests/media/track/track-cue-vertical-style-expected.txt: Added. * LayoutTests/media/track/track-cue-vertical-style.html: Added. * Source/WebCore/html/track/VTTCue.cpp: (WebCore::VTTCueBox::applyCSSProperties): Canonical link: https://commits.webkit.org/265860@main
https://bugs.webkit.org/show_bug.cgi?id=258468 rdar://111222723 Reviewed by Chris Dumez. The top origin member was added in 260266@main, but that addition was incorrect because a blob does not have a top security origin and it is transferrable across top origin contexts. In this patch, we delete that property. * Source/WebCore/fileapi/Blob.cpp: (WebCore::Blob::Blob): * Source/WebCore/fileapi/Blob.h: Canonical link: https://commits.webkit.org/265861@main
…ngAreaProxyMac::displayLink https://bugs.webkit.org/show_bug.cgi?id=258976 rdar://111348720 Reviewed by Simon Fraser. At WebPageProxy::resetState() we are setting the drawing area to nullptr with WebPageProxyArea::setDrawingArea(nullptr). setDrawingArea(...) will delete m_scrollingCordinatorProxy, which destructor is ~RemoteScrollingCoordinatorProxyMac(). This function will then try to invalidate the wheel event dispatcher (m_wheelEventDispatcher->invalidate()). This is actually RemoteLayerTreeEventDispatcher::invalidate(). invalidate() calls stopDisplayLinkObserver() which needs to get a handle of the the associated displayLink for doing that. RemoteLayerTreeEventDispatcher::displayLink() returns early if there is no m_scrollingCordinator, but we are exactly in the process of deleting it. It then continues and tries to get the displayLink from the drawingArea (RemoteLayerTreeDrawingAreaProxyMac::displayLink()), which will crash if there is no m_displayID set to the area. I'm not sure why, at this point, we don't have a m_displayID set to the drawing area (it is set by windowScreenDidChange(id)). But, in any case, I believe stopDisplayLinkObserver() should use existingDisplayLink() instead of displayLink() because we shouldn`t need to stop observers for a non existent displayLink. Even better, in invalidate() we can replace stopDisplayLinkObserver() by removeDisplayLinkClient(): Since we want to delete the displayLinkClient at the end of invalidate() we can remove this client from the displayLink map (removing all its observers in the process), which should happen because the displayLinkClient is being deleted. * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp: (WebKit::RemoteLayerTreeEventDispatcher::invalidate): (WebKit::RemoteLayerTreeEventDispatcher::stopDisplayLinkObserver): Canonical link: https://commits.webkit.org/265862@main
…TP requests with Secure;HttpOnly; cookies https://bugs.webkit.org/show_bug.cgi?id=258595 rdar://106956529 Reviewed by J Pascoe. * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::createSocketChannel): Canonical link: https://commits.webkit.org/265863@main
https://bugs.webkit.org/show_bug.cgi?id=258991 rdar://111176298 Reviewed by Wenson Hsieh. visionOS is at a constant scale factor, and scales coming from WebCore need to be compared with WebKit::scalesAreEssentiallyEqual, not traditional comparison operators because WebCore stores the page scale factor as float instead of double. When we get a scale from WebCore, we need to ignore differences that are within a small rounding error, with enough leeway to handle rounding differences that may result from round-tripping through UIScrollView. * Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _updateScrollViewForTransaction:]): Canonical link: https://commits.webkit.org/265864@main
https://bugs.webkit.org/show_bug.cgi?id=258151 Reviewed by Chris Dumez and Alex Christensen. Split the generated serialization into two files, now platform specific serializers are added to `WebKitPlatformGeneratedSerializers`. Define serialization of `SharedMemoryHandle` in a `.serialization.in` file. Mark serialization as `RValue` to ensure move semantics are used, and `WebKitPlatform` so it ends up in the platform serializers. * Source/WebKit/CMakeLists.txt: * Source/WebKit/DerivedSources-input.xcfilelist: * Source/WebKit/DerivedSources-output.xcfilelist: * Source/WebKit/DerivedSources.make: * Source/WebKit/Platform/SharedMemory.cpp: (IPC::ArgumentCoder<WebKit::SharedMemoryHandle>::encode): Deleted. (IPC::ArgumentCoder<WebKit::SharedMemoryHandle>::decode): Deleted. * Source/WebKit/Platform/SharedMemory.h: * Source/WebKit/Platform/SharedMemory.serialization.in: Added. * Source/WebKit/Scripts/generate-serializers.py: * Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp: * Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.h: * Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp: (WebKit::allSerializedTypes): * Source/WebKit/Scripts/webkit/tests/TestSerializedType.serialization.in: * Source/WebKit/Scripts/webkit/tests/WebKitPlatformGeneratedSerializers.cpp: Added. (IPC::ArgumentCoder<WebKit::PlatformClass>::encode): (IPC::ArgumentCoder<WebKit::PlatformClass>::decode): * Source/WebKit/WebKit.xcodeproj/project.pbxproj: Co-authored-by: Alex Christensen <achristensen@apple.com> Canonical link: https://commits.webkit.org/265865@main
https://bugs.webkit.org/show_bug.cgi?id=256872 rdar://109752832 Reviewed by Keith Miller. Fixes a bug where the DFG PutStack sinking phase would put the wrong value to the stack. This is due to the PutStack sinking phase doing its own SSA calculation to determine the correct locations to insert PutStacks, which is not necessarily the same as correctly tracking the values that should belong in each PutStack (which is just SSA conversion). This patch adds an additional PutStack node after each Phi inserted in SSA conversion. As a result, when PutStack sinking interprets each block to map each variable to its current value, it correctly associates existing Phis with their variables, even if the PutStack sinking phase's SSA calculation would not insert a Phi there. One concern with this patch is performance - specifically, adding additional PutStacks might pessimize arguments elimination. To address this, this patch runs PutStack sinking both before and after arguments elimination, so we reduce spurious PutStacking before eliminating arguments, and re-run it after to exploit any opportunities created by the existing phase ordering. Testing on both Speedometer 2 and JetStream 2, there is no significant change in score with this patch. * JSTests/stress/PutStack-sinking-through-DeadFlush-unification.js: Added. (test): (main): * Source/JavaScriptCore/dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp: * Source/JavaScriptCore/dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): Canonical link: https://commits.webkit.org/265866@main
https://bugs.webkit.org/show_bug.cgi?id=258988 rdar://105024815 Reviewed by Devin Rousso. The tests in question call abort() on the PaymentRequest from unexpected places, and our code was missing checks in several places to make sure there is still an active payment session, causing crashes. To address the issue, we now check if we still have an active payment session in more places, in particular after calling functions that may run JavaScript, since JS may abort the request at any point. This change is covered by those 3 internal tests, which I'll unskip. * Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::merchantValidationCompleted): (WebCore::ApplePayPaymentHandler::shippingAddressUpdated): (WebCore::ApplePayPaymentHandler::retry): * Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp: (WebCore::PaymentRequest::abortWithException): * Source/WebCore/testing/MockPaymentCoordinator.cpp: (WebCore::MockPaymentCoordinator::dispatchIfShowing): Canonical link: https://commits.webkit.org/265867@main
https://bugs.webkit.org/show_bug.cgi?id=258982 rdar://111909822 Rubber-stamped by Aakash Jain. * Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py: (GitHub.__init__): Allow caller to specify that the repository is private. (GitHub._api_response): Include secret scanning and visibility data. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup.block_secrets): Enable secret scanning and block the pushing of secrets. (Setup.github): When validating an existing fork or creating a new one, enable secret scanning and blocking if caller requests it. (Setup.git): Consult configuration data to see if secret scanning should be enabled in forks. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py: * metadata/git_config_extension: Enable secret scanning for WebKit forks, but disable it for private forks. Canonical link: https://commits.webkit.org/265868@main
…unner https://bugs.webkit.org/show_bug.cgi?id=258990 rdar://111404885 Reviewed by Tim Horton. Add some test infrastructure that I'll be adopting as a part of a new layout test in a subsequent patch. This refactors `UIScriptController::setSpellCheckerResults` (which is currently only implemented on macOS) such that it is usable on iOS as well. See below for more details. * Source/WebKit/Platform/spi/ios/UIKitSPI.h: * Tools/DumpRenderTree/ios/UIScriptControllerIOS.h: * Tools/TestRunnerShared/cocoa/LayoutTestSpellChecker.h: * Tools/TestRunnerShared/cocoa/LayoutTestSpellChecker.mm: Compile this on iOS as well, by subclassing `UITextChecker` instead of `NSSpellChecker`. Most of the logic remains the same, but with a handful of minor differences. (ensureGlobalLayoutTestSpellChecker): (nsTextCheckingType): (+[LayoutTestSpellChecker checker]): (+[LayoutTestSpellChecker uninstallAndReset]): (-[LayoutTestSpellChecker setResultsFromJSValue:inContext:]): (stringForCorrectionResponse): (swizzledGrammarDetailsForString): (-[LayoutTestSpellChecker grammarAlternativesForString:]): Implement this and intercept calls into `TextComposer` to grab grammar checking details over the scope of this function call; this allows us to ensure that tapping on grammar checking ranges (blue underlines on iOS) shows an edit menu with the appropriate text replacements. (-[LayoutTestSpellChecker checkString:range:types:languages:options:]): (-[LayoutTestSpellChecker _doneLoading]): * Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaResetStateToConsistentValues): Move the call to `+[LayoutTestSpellChecker reset]` out of `TestControllerMac`, and into `TestControllerCocoa` where it runs on both macOS and iOS. * Tools/WebKitTestRunner/cocoa/UIScriptControllerCocoa.h: * Tools/WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm: (WTR::UIScriptControllerCocoa::setSpellCheckerResults): Move this logic out of `UIScriptControllerMac`, and into `UIScriptControllerCocoa` instead where it can service both macOS and iOS testing. * Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h: * Tools/WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetStateToConsistentValues): * Tools/WebKitTestRunner/mac/UIScriptControllerMac.h: * Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptControllerMac::setSpellCheckerResults): Deleted. Canonical link: https://commits.webkit.org/265869@main
https://bugs.webkit.org/show_bug.cgi?id=258888 rdar://111698557 Reviewed by Alexey Proskuryakov. Use SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL to avoid crashing when ASC isn't present on base system. * Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalService.mm: (WebKit::LocalService::isAvailable): * Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: Canonical link: https://commits.webkit.org/265870@main
…should hold the JSLock when calling the sweeper. https://bugs.webkit.org/show_bug.cgi?id=259007 rdar://111505837 Reviewed by Justin Michaud. This makes it consistent with the incremental sweeper that currently fires off a timer, which also hold the JSLock while sweeping. Not holding the JSLock while sweeping has resulted in the RELEASE_ASSERT in the JSLock::DropAllLocks constructor failing. Here's how it happens: 1. For a normal timer triggered sweep, we go through JSRunLoopTimer::timerDidFire() which acquires the JSLock, and holds it while sweeping. 2. For an idle triggered VM::performOpportunisticallyScheduledTasks(), it does NOT hold the JSLock while sweeping. 3. While sweeping, we may call back into some ObjC code that wraps a JSValue. 4. Releasing that JSValue for the sweep, requires acquiring the JSLock. 5. On releasing that JSLock, if it’s the outermost lock (i.e. not a re-entrant lock), then the JSLock unlocking code will call Heap::releaseDelayedReleasedObjects(). 6. Heap::releaseDelayedReleasedObjects() uses DropAllLocks, which fails the RELEASE_ASSERT because we’re currently holding the JSLock and doing sweeping. 7. In contrast, for the normal timer triggered sweep, the outer most lock of the JSLock is JSRunLoopTimer::timerDidFire(). Hence, Heap::releaseDelayedReleasedObjects() won’t be called, and we won’t encounter this issue. The fix is simply to acquire and hold the JSLock while sweeping in VM::performOpportunisticallyScheduledTasks(). * Source/JavaScriptCore/runtime/JSLock.cpp: (JSC::JSLock::DropAllLocks::DropAllLocks): * Source/JavaScriptCore/runtime/VM.cpp: (JSC::VM::performOpportunisticallyScheduledTasks): Canonical link: https://commits.webkit.org/265871@main
https://bugs.webkit.org/show_bug.cgi?id=259211 rdar://112266773 Reviewed by Chris Dumez. * Source/WebCore/loader/cache/MemoryCache.cpp: (WebCore::MemoryCache::add): (WebCore::MemoryCache::revalidationSucceeded): If the resource was there already we might end up with a resource with inCache flag still incorrectly set. Canonical link: https://commits.webkit.org/266065@main
https://bugs.webkit.org/show_bug.cgi?id=259218 rdar://111926152 Reviewed by Chris Dumez and David Kilzer. There is an app that is doing some tricky things with the ObjC runtime, and the containsObject: calls with different classes that exist in the shouldEnableStrictMode function are causing it to later crash deep inside the application's own code. Luckily, we don't actually need to do these checks on newer OSes where there are only code paths that return true if strictSecureDecodingForAllObjCEnabled is true. Manually verified this fixes the app, and it also should marginally increase performance by removing unnecessary checks. * Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm: (IPC::shouldEnableStrictMode): Canonical link: https://commits.webkit.org/266066@main
…h/height https://bugs.webkit.org/show_bug.cgi?id=259217 Reviewed by Antti Koivisto. * Source/WebCore/layout/layouttree/LayoutBoxGeometry.h: (WebCore::Layout::BoxGeometry::setHasValidContentBoxHeight): (WebCore::Layout::BoxGeometry::setHasValidContentBoxWidth): (WebCore::Layout::BoxGeometry::setContentBoxHeight): (WebCore::Layout::BoxGeometry::setContentBoxWidth): (WebCore::Layout::BoxGeometry::setContentBoxSize): (WebCore::Layout::BoxGeometry::contentBoxHeight const): (WebCore::Layout::BoxGeometry::contentBoxWidth const): (WebCore::Layout::BoxGeometry::geometryForWritingModeAndDirection const): (WebCore::Layout::BoxGeometry::setHasValidContentHeight): Deleted. (WebCore::Layout::BoxGeometry::setHasValidContentWidth): Deleted. Canonical link: https://commits.webkit.org/266067@main
https://bugs.webkit.org/show_bug.cgi?id=195818 rdar://48937114 Reviewed by Aditya Keerthi. These are non-standard and barely used. They are put behind a flag and will be kept around for a while in case they are still being used somewhere. * LayoutTests/TestExpectations: * LayoutTests/fast/dom/Window/get-set-properties-expected.txt: * LayoutTests/fast/dom/Window/get-set-properties.html: * LayoutTests/fast/dom/Window/resources/window-properties.js: * LayoutTests/fast/dom/Window/window-lookup-precedence-expected.txt: * LayoutTests/fast/dom/event-attribute-availability-expected.txt: * LayoutTests/fast/dom/event-attribute-availability.html: * LayoutTests/fast/dom/event-handler-attributes-expected.txt: * LayoutTests/fast/dom/event-handler-attributes.html: * LayoutTests/fast/dom/resources/wrapper-identity-base.js: * LayoutTests/fast/dom/wrapper-identity-expected.txt: * LayoutTests/fast/events/onsearch-enter-expected.txt: Removed. * LayoutTests/fast/events/onsearch-enter.html: Removed. * LayoutTests/fast/forms/incremental-dom-property-expected.txt: Removed. * LayoutTests/fast/forms/incremental-dom-property.html: Removed. * LayoutTests/fast/forms/input-search-press-escape-key-expected.txt: Removed. * LayoutTests/fast/forms/input-search-press-escape-key.html: Removed. * LayoutTests/fast/forms/search-event-delay-expected.txt: Removed. * LayoutTests/fast/forms/search-event-delay.html: Removed. * LayoutTests/http/tests/security/cross-frame-access-get-expected.txt: * LayoutTests/http/tests/security/cross-frame-access-get.html: * LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt: * LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html: * LayoutTests/http/tests/security/cross-frame-access-put-expected.txt: * LayoutTests/http/tests/security/cross-frame-access-put.html: * LayoutTests/http/tests/security/resources/cross-frame-iframe-for-put-test.html: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/historical-expected.txt: * LayoutTests/platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac-wk2/fast/dom/Window/window-lookup-precedence-expected.txt: * LayoutTests/platform/mac/fast/dom/objc-wrapper-identity-expected.txt: * LayoutTests/platform/wincairo/TestExpectations: * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h: * Source/WebCore/bindings/js/WebCoreBuiltinNames.h: * Source/WebCore/dom/GlobalEventHandlers.idl: * Source/WebCore/html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): * Source/WebCore/html/HTMLInputElement.idl: * Source/WebCore/html/SearchInputType.cpp: (WebCore::SearchInputType::handleKeydownEvent): (WebCore::SearchInputType::searchEventsShouldBeDispatched const): * Source/WebCore/html/shadow/TextControlInnerElements.cpp: (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): * Source/WebCore/rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::valueChanged): * Source/WebKit/Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultSearchInputIncrementalAttributeAndSearchEventEnabled): * Source/WebKit/Shared/WebPreferencesDefaultValues.h: * Source/WebKitLegacy/mac/WebView/WebPreferencesDefaultValues.h: * Source/WebKitLegacy/mac/WebView/WebPreferencesDefaultValues.mm: (WebKit::defaultSearchInputIncrementalAttributeAndSearchEventEnabled): Canonical link: https://commits.webkit.org/266068@main
… ends https://bugs.webkit.org/show_bug.cgi?id=259219 rdar://112003621 Reviewed by Jer Noble and Eric Carlson. Don't drop the GPUProcess media assertion too promptly after playback ends, instead, drop it on a timer. There is a race where both the GPUProcess and the UIProcess get notified of a WebProcess exiting in parallel. When notified, the UIProcess would drop the media assertion on the GPUProcess, which could get it to suspend while the GPUProcess is STILL shutting down the media stack. Dropping the media assertion on a timer makes it so that the GPUProcess is now extremely unlikely to lose the race and will have properly shut down the media stack by the time it gets suspended. * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::clearAudibleActivity): (WebKit::WebProcessPool::updateAudibleMediaAssertions): * Source/WebKit/UIProcess/WebProcessPool.h: Canonical link: https://commits.webkit.org/266069@main
https://bugs.webkit.org/show_bug.cgi?id=259166 rdar://112056259 Reviewed by Aditya Keerthi. The color of the caret should respect both the `caret-color` and the `color` properties. Because every element implicitly has a `color`, the color of the caret should only reflect this property if set by the author. * LayoutTests/fast/css/caret-color-with-color-property-expected.html: Added. * LayoutTests/fast/css/caret-color-with-color-property.html: Added. * LayoutTests/fast/css/caret-color-with-inherited-color-property-expected.html: Added. * LayoutTests/fast/css/caret-color-with-inherited-color-property.html: Added. * Source/WebCore/css/CSSProperties.json: * Source/WebCore/editing/FrameSelection.cpp: (WebCore::CaretBase::computeCaretColor): * Source/WebCore/rendering/style/RenderStyle.h: * Source/WebCore/rendering/style/RenderStyleInlines.h: (WebCore::RenderStyle::hasExplicitlySetColor const): (WebCore::RenderStyle::InheritedFlags::operator== const): * Source/WebCore/rendering/style/RenderStyleSetters.h: (WebCore::RenderStyle::setHasExplicitlySetColor): * Source/WebCore/style/StyleBuilderCustom.h: (WebCore::Style::BuilderCustom::applyValueColor): (WebCore::Style::BuilderCustom::applyInitialColor): * Source/WebCore/style/StyleBuilderState.h: (WebCore::Style::BuilderState::isAuthorOrigin const): Canonical link: https://commits.webkit.org/266070@main
https://bugs.webkit.org/show_bug.cgi?id=259222 rdar://110986563 Reviewed by Mike Wyrzykowski. There are two issues causing the overlapping and weird position: 1. When the page scale is < 1, our media controls counter-scaling increases the size of the media controls outside their layout size; they should be restricted to their layout size. 262952@main tried to fix it, however it was not a complete fix because `updatePageScaleFactorJSProperty()` is called in two places and the check for `m_mediaControlsDependOnPageScaleFactor` was only added in one of these call sites. 2. All media controls have a `bottom` CSS property applied to them, which causes an offset to be applied to the element. However, this was only ever intended to be applied in non-audio controls. Fix (1) by simply adding the check in the other call site, and fix (2) by removing this property from the audio controls. * Source/WebCore/Modules/modern-media-controls/controls/vision-media-controls.css: (.media-controls.vision.fullscreen > .bottom.controls-bar): (.media-controls.vision > .bottom.controls-bar): Deleted. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::ensureMediaControls): Canonical link: https://commits.webkit.org/266071@main
https://bugs.webkit.org/show_bug.cgi?id=259224 rdar://112122350 Reviewed by Chris Dumez. Old code walked the frame tree of each impacted document, which was unecessary. Let's just directly set the transient activation timestamp for any remaining impacted documents. * Source/WebCore/bindings/js/ScriptController.cpp: (WebCore::ScriptController::executeScriptInWorld): * Source/WebCore/page/LocalDOMWindow.cpp: (WebCore::LocalDOMWindow::consumeTransientActivation): (WebCore::LocalDOMWindow::consumeLastActivationIfNecessary): * Source/WebCore/page/LocalDOMWindow.h: Canonical link: https://commits.webkit.org/266072@main
…ocument-leak.html is a flaky text failure rdar://112288975 https://bugs.webkit.org/show_bug.cgi?id=259228 Unreviewed test gardening. * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/266073@main
https://bugs.webkit.org/show_bug.cgi?id=259040 rdar://107270673 Reviewed by Alex Christensen. Currently, our `allowsFirstPartyForCookies` message checks will always pass if the given URL can’t be parsed into a RegistrableDomain. This patch removes each of the FIXMEs in the `allowsFirstPartyForCookies` functions which allow this. 260966@main previously removed most of these FIXMEs, but was reverted due to cached resources causing the web process to crash when loaded. This is fixed by setting the first party for cookies to the request in `CachedResourceLoader::requestResource`. * Source/WebCore/loader/PingLoader.cpp: (WebCore::PingLoader::sendViolationReport): * Source/WebCore/loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::requestResource): * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::createSocketChannel): (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): (WebKit::NetworkConnectionToWebProcess::cookiesForDOM): (WebKit::NetworkConnectionToWebProcess::cookiesForDOMAsync): (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM): (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue): (WebKit::NetworkConnectionToWebProcess::getRawCookies): (WebKit::NetworkConnectionToWebProcess::domCookiesForHost): * Source/WebKit/NetworkProcess/NetworkProcess.cpp: * Source/WebKit/NetworkProcess/NetworkProcess.h: * Source/WebKit/Shared/AuxiliaryProcess.cpp: (WebKit::AuxiliaryProcess::allowsFirstPartyForCookies): * Source/WebKit/Shared/AuxiliaryProcess.h: * Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess): * Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::getResourceBytesAtPosition): * Source/WebKit/WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::Stream::start): * Source/WebKit/WebProcess/WebProcess.cpp: (WebKit::WebProcess::allowsFirstPartyForCookies): Canonical link: https://commits.webkit.org/266074@main
…ningBoard assertion inside the NetworkProcess https://bugs.webkit.org/show_bug.cgi?id=259229 rdar://112292565 Reviewed by Per Arne Vollan. WebSQLiteDatabaseTracker and CFNetwork are unable to take RunningBoard assertion inside the NetworkProcess on macOS due to tighter sandboxing than on iOS. This is causing the NetworkProcess to often get killed on suspension because it is holding locked database files. * Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: Canonical link: https://commits.webkit.org/266075@main
https://bugs.webkit.org/show_bug.cgi?id=259223 Reviewed by Aditya Keerthi. Remove two uses of SPI and IPI, which are trivially implementable using API instead. See below for more details. * Source/WebKit/Platform/spi/ios/UIKitSPI.h: * Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _zoomToFocusRect:selectionRect:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]): Instead of relying on `-_effectiveContentInset`, just use the equivalent `-adjustedContentInset`. * Source/WebKit/UIProcess/ios/WKScrollView.mm: (-[WKScrollView initWithFrame:]): Instead of calling `-_setIndicatorInsetAdjustmentBehavior:` with `.always`, simply set `automaticallyAdjustsScrollIndicatorInsets` to `YES`. Canonical link: https://commits.webkit.org/266076@main
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull in upstream commits from 2023-06-21 to 2023-07-14.