[webkit-changes] [WebKit/WebKit] cb6d11: GPU process visibility propagation is incorrectly ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cb6d11169cbe6f8bc418ee3673fa855b4880669d https://github.com/WebKit/WebKit/commit/cb6d11169cbe6f8bc418ee3673fa855b4880669d Author: Per Arne Vollan Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebKit/UIProcess/ios/WKContentView.mm Log Message: --- GPU process visibility propagation is incorrectly implemented https://bugs.webkit.org/show_bug.cgi?id=267787 rdar://121256297 Reviewed by Chris Dumez. The new implementation is incorrectly using the process object for the WebContent process. * Source/WebKit/UIProcess/ios/WKContentView.mm: (-[WKContentView _setupVisibilityPropagationViewForGPUProcess]): Canonical link: https://commits.webkit.org/273258@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1c6723: [macOS] Quirk oracle.com to disable the Navigator....
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1c67239be368f5b2a3b12fdceb378d2d8e03acee https://github.com/WebKit/WebKit/commit/1c67239be368f5b2a3b12fdceb378d2d8e03acee Author: Brent Fulgham Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/page/Navigator.idl M Source/WebCore/page/Quirks.cpp M Source/WebCore/page/Quirks.h Log Message: --- [macOS] Quirk oracle.com to disable the Navigator.standalone feature https://bugs.webkit.org/show_bug.cgi?id=267784 Reviewed by Chris Dumez. Oracle.com uses the presence of `Navigator.standalone` to identify iPad devices. If it sees a macOS browser with 'Navigator.standalone' defined it believes it is an iPad, and deactivates Tooltip features. We enabled standalone to better support web apps on macOS, causing this issue on the Oracle site. This patch Quirks Oracle so that tooltips work on macOS. * Source/WebCore/page/Navigator.idl: * Source/WebCore/page/Quirks.cpp: (WebCore::Quirks::shouldDisableNavigatorStandaloneQuirk const): * Source/WebCore/page/Quirks.h: Canonical link: https://commits.webkit.org/273257@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 39dfb4: EventNames.json should be part of the WebCore Xcod...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 39dfb46486ffc25586e4a5b7f7f5a0e077da2ee8 https://github.com/WebKit/WebKit/commit/39dfb46486ffc25586e4a5b7f7f5a0e077da2ee8 Author: Abrar Rahman Protyasha Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/WebCore.xcodeproj/project.pbxproj Log Message: --- EventNames.json should be part of the WebCore Xcode project https://bugs.webkit.org/show_bug.cgi?id=267791 rdar://121286687 Reviewed by Aditya Keerthi. This patch allows Xcode to index the EventNames.json file, which results in - among other things - the event names showing up in Xcode search results. * Source/WebCore/WebCore.xcodeproj/project.pbxproj: Xcode was also nice enough to sort the file hashes, so the JSMediaStreamTrackProcessor entries moved around a bit. Canonical link: https://commits.webkit.org/273256@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e0132b: [JSC] Node's JSTokenLocation sometimes doesn't poi...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e0132b80a4223be92a41f2b65a34b6342eab6f76 https://github.com/WebKit/WebKit/commit/e0132b80a4223be92a41f2b65a34b6342eab6f76 Author: Alexey Shvayka Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: A JSTests/stress/regress-267728.js M Source/JavaScriptCore/builtins/BuiltinExecutables.cpp M Source/JavaScriptCore/parser/ASTBuilder.h M Source/JavaScriptCore/parser/Parser.cpp M Source/JavaScriptCore/parser/Parser.h M Source/JavaScriptCore/parser/SyntaxChecker.h M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm Log Message: --- [JSC] Node's JSTokenLocation sometimes doesn't point to the start of an expression https://bugs.webkit.org/show_bug.cgi?id=267728 Reviewed by Justin Michaud. Before this patch, if we tried to reparse at node->position(), we would fail with SyntaxError for object / array literals, async (arrow) functions, and member expressions with `new` / optional chaining, due to Node's JSTokenLocation not pointing to the start of an expression. This change fixes JSTokenLocation to be correct for above-mentioned cases, enabling us to redesign class field initializers reparsing, and also improves accuracy of expression divots by removing lastTokenEndPosition() usage from OPENBRACKET / DOT / BACKQUOTE cases of parseMemberExpression(). lastTokenEndPosition() makes sense in case of e.g. parseArguments() because after it exits, the current token is the next one after `)`, yet in the e.g. DOT case, lastTokenEndPosition() most likely points to previous identifier, which might be even on a different line. On top of that, this patch improves stack trace accuracy for `new new new C` expressions by storing position of each NEW token in a vector. Aligns stack traces (error locations) with V8 and SpiderMonkey, including for modified API test. * JSTests/stress/regress-267728.js: Added. * Source/JavaScriptCore/builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createExecutable): * Source/JavaScriptCore/parser/ASTBuilder.h: (JSC::ASTBuilder::createNewExpr): * Source/JavaScriptCore/parser/Parser.cpp: (JSC::Parser::parseAssignmentExpression): (JSC::Parser::parseObjectLiteral): (JSC::Parser::parseArrayLiteral): (JSC::Parser::parseAsyncFunctionExpression): (JSC::Parser::parsePrimaryExpression): (JSC::Parser::parseMemberExpression): (JSC::Parser::parseArrowFunctionExpression): * Source/JavaScriptCore/parser/Parser.h: * Source/JavaScriptCore/parser/SyntaxChecker.h: (JSC::SyntaxChecker::createNewExpr): * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: Canonical link: https://commits.webkit.org/273255@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b940c0: [scroll-anchoring] Scroll anchoring and Shadow DOM...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b940c0441af5d96ddd5bb8b5ac87217f7087a5ca https://github.com/WebKit/WebKit/commit/b940c0441af5d96ddd5bb8b5ac87217f7087a5ca Author: Nikolaos Mouchtaris Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller.html M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- [scroll-anchoring] Scroll anchoring and Shadow DOM result in weird scrolling behavior https://bugs.webkit.org/show_bug.cgi?id=267733 rdar://121165484 Reviewed by Tim Nguyen. After https://commits.webkit.org/272277@main we descend subscrollers that are not maintaining a scroll anchor. In the logic added to ScrollAnchoringController::invalidateAnchorElement we look to see if the current scroller is in a scroll anchoring chain, if it is not currently maintaining an anchor element. When the owning scroller is in the shadow dom, the element walk would not include it, so it wouldn't notify the parent scroller to invalidate its anchor element. To fix this, do the parent walk via parentElementInComposedTree to include the elements in the shadow dom. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller.html: Added. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::isInScrollAnchoringAncestorChain): Canonical link: https://commits.webkit.org/273254@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 081e51: [UIAsyncTextInput] Update async text input integra...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 081e519da458e7220532b058a84e6667da5a7808 https://github.com/WebKit/WebKit/commit/081e519da458e7220532b058a84e6667da5a7808 Author: Wenson Hsieh Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/platform/ios/WebEvent.mm M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Log Message: --- [UIAsyncTextInput] Update async text input integration after rdar://121227027 https://bugs.webkit.org/show_bug.cgi?id=267795 rdar://121011826 Reviewed by Aditya Keerthi. Make some minor adjustments to async text input adoption, following the changes in rdar://121227027. * Source/WebCore/platform/ios/WebEvent.mm: (-[WebEvent initWithKeyEntry:]): Use `-state` instead of `-type`, if available. * Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView updateSelectionWithExtentPoint:boundary:completionHandler:]): (-[WKContentView selectTextInGranularity:atPoint:completionHandler:]): These delegate method names have changed; maintain binary compatibility by implementing both the old and new names. Canonical link: https://commits.webkit.org/273253@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d21be3: [Gardening]: NEW TEST (271415@main): [ Ventura wk1...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d21be385f98fb8162ac276630a52592e418f96db https://github.com/WebKit/WebKit/commit/d21be385f98fb8162ac276630a52592e418f96db Author: Marta Darbinyan Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M LayoutTests/platform/mac-wk1/TestExpectations Log Message: --- [Gardening]: NEW TEST (271415@main): [ Ventura wk1 ] 2 tests in media/track are constant crash https://bugs.webkit.org/show_bug.cgi?id=267799 rdar://121292775 Unreviewed test gardening. Adding test expectation * LayoutTests/platform/mac-wk1/TestExpectations: Canonical link: https://commits.webkit.org/273252@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] df75d2: AX: The AccessibilityText property of labeled obje...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: df75d243cd12597351e8b7926be681b4584ca6ec https://github.com/WebKit/WebKit/commit/df75d243cd12597351e8b7926be681b4584ca6ec Author: Andres Gonzalez Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/accessibility/AXObjectCache.cpp M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp Log Message: --- AX: The AccessibilityText property of labeled objects is not updated when the label is removed. https://bugs.webkit.org/show_bug.cgi?id=267768 Reviewed by Tyler Wilcock. This bug was masked by the block in AXIsolatedTree::removeNode that attempted to replaced the labeled isolated object with a new object. However, that approach is wasteful and causes other issues as it needs to dispatch the creation of the new isolated object to the main thread. This patch fixes these problems by just updating the AccessibilityText property of the labeled objects without replacing them, and doing it in the same main thread cycle as all the other isolated tree updates. * Source/WebCore/accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::remove): (WebCore::AXObjectCache::dirtyIsolatedTreeRelations): (WebCore::AXObjectCache::removeRelations): * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp: (WebCore::AXIsolatedTree::updateNodeProperties): (WebCore::AXIsolatedTree::removeNode): Canonical link: https://commits.webkit.org/273251@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 54ef5b: Fix typo 'traget' in SVGTextLayoutEngine::beginTex...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 54ef5b20caa43058def253267469fb0475b31c9f https://github.com/WebKit/WebKit/commit/54ef5b20caa43058def253267469fb0475b31c9f Author: Ahmad Saleem Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp Log Message: --- Fix typo 'traget' in SVGTextLayoutEngine::beginTextPathLayout https://bugs.webkit.org/show_bug.cgi?id=267797 Reviewed by Simon Fraser. This patch is to just fix typo error of 'traget' instead of 'target' in SVGTextLayoutEngine::beginTextPathLayout. * Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp: (SVGTextLayoutEngine::beginTextPathLayout): Canonical link: https://commits.webkit.org/273250@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] eb27bf: Unreviewed, reverting 273239@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: eb27bffdc29667fe59786422cdd2e9868d72bbbc https://github.com/WebKit/WebKit/commit/eb27bffdc29667fe59786422cdd2e9868d72bbbc Author: Robert Jenner Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M LayoutTests/platform/mac-site-isolation/TestExpectations Log Message: --- Unreviewed, reverting 273239@main https://bugs.webkit.org/show_bug.cgi?id=267783 rdar://121281377 Adjust expectations in site isolation Reverted change: Adjust expectations in site isolation https://bugs.webkit.org/show_bug.cgi?id=267783 rdar://121281377 https://commits.webkit.org/273239@main Canonical link: https://commits.webkit.org/273249@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d7bdf6: [webkitbugspy] Implement ability to relate radars
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d7bdf653cbd118b1081198813b8ea6c16bd6a4ae https://github.com/WebKit/WebKit/commit/d7bdf653cbd118b1081198813b8ea6c16bd6a4ae Author: Brianna Fan Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py M Tools/Scripts/libraries/webkitbugspy/webkitbugspy/mocks/radar.py M Tools/Scripts/libraries/webkitbugspy/webkitbugspy/radar.py M Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/bugzilla_unittest.py M Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/radar_unittest.py Log Message: --- [webkitbugspy] Implement ability to relate radars rdar://120013230 https://bugs.webkit.org/show_bug.cgi?id=266790 Reviewed by Jonathan Bedard. You can now create and modify relationships between radars using radarclient! Added mocks for testing. Aligned bugzilla.relate functionality with radar.relate. * Tools/Scripts/libraries/webkitbugspy/webkitbugspy/mocks/radar.py: (RadarModel.__init__): (RadarModel.relationships): (RadarModel.add_relationship): (Radar.Relationship): * Tools/Scripts/libraries/webkitbugspy/webkitbugspy/radar.py: (Tracker): (Tracker.populate): (Tracker.create_relationship): (Tracker.relate): * Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/radar_unittest.py: Canonical link: https://commits.webkit.org/273248@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ff42f7: Cannot pick US state in dropdown on vote.gov
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ff42f766814691356f3b339275ae5164654368a2 https://github.com/WebKit/WebKit/commit/ff42f766814691356f3b339275ae5164654368a2 Author: Aditya Keerthi Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/html/HTMLAnchorElement.cpp M Source/WebCore/page/Quirks.cpp M Source/WebCore/page/Quirks.h Log Message: --- Cannot pick US state in dropdown on vote.gov https://bugs.webkit.org/show_bug.cgi?id=267779 rdar://121240580 Reviewed by Wenson Hsieh. vote.gov uses a custom state selection dropdown, which is a `` containing multiple anchor elements. Display of the dropdown is tied to focusing the associated input element. When the "focusout" event is observed, the dropdown is hidden. However, since the "focusout" event is observed prior to the "click" event, the site compares the "focusout" event's `currentTarget` and `relatedTarget`. If the `relatedTarget` is the anchor element, the logic ends up suppressing hiding the dropdown, ensuring the "click" is dispatched on the right element. For `focusout` events, the `relatedTarget` should be the element that gains focus. In WebKit, `relatedTarget` is null in this scenario, as anchor elements are not mouse focusable, following Cocoa platform convention. Fix by adding a quirk to make anchor elements mouse focusable. * Source/WebCore/html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isMouseFocusable const): * Source/WebCore/page/Quirks.cpp: (WebCore::Quirks::needsAnchorElementsToBeMouseFocusable const): * Source/WebCore/page/Quirks.h: Canonical link: https://commits.webkit.org/273247@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 798076: Avoid repeated reparsing of m_documentURI in major...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 79807688373ede18b38d2c04793409b50a8df38f https://github.com/WebKit/WebKit/commit/79807688373ede18b38d2c04793409b50a8df38f Author: Yusuke Suzuki Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/dom/Document.cpp M Source/WebCore/dom/Document.h Log Message: --- Avoid repeated reparsing of m_documentURI in major path https://bugs.webkit.org/show_bug.cgi?id=26 rdar://121275466 Reviewed by Ryosuke Niwa. m_documentURI is set only from WebKitLegacy. But we are repeatedly reparsing this in URLParser since it can be a random string. This patch avoids this by using `std::variant` to keep the URL as is in the major path (Document::setURL). * Source/WebCore/dom/Document.cpp: (WebCore::Document::documentURI const): (WebCore::Document::setURL): (WebCore::Document::fallbackBaseURL const): (WebCore::Document::cloneDataFromDocument): * Source/WebCore/dom/Document.h: (WebCore::Document::documentURI const): Deleted. Canonical link: https://commits.webkit.org/273246@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7e5dfd: Add an option key to override the source app bundl...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7e5dfd055f5e1d802a0075d868f69a6820484375 https://github.com/WebKit/WebKit/commit/7e5dfd055f5e1d802a0075d868f69a6820484375 Author: Wenson Hsieh Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm M Source/WebKit/UIProcess/API/Cocoa/NSAttributedStringPrivate.h M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm Log Message: --- Add an option key to override the source app bundle ID when creating attributed strings from HTML https://bugs.webkit.org/show_bug.cgi?id=267781 rdar://119002423 Reviewed by Aditya Keerthi. Add support for `_WKSourceApplicationBundleIdentifierOption`, which allows clients to indirectly set a `-_sourceApplicationBundleIdentifier` on the website data store used when loading content when serializing `NSAttributedString` from HTML or web archive data. Test: WKWebView.AttributedStringWithSourceApplicationBundleID * Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm: (sourceApplicationBundleIdentifier): (+[_WKAttributedStringWebViewCache configuration]): (+[_WKAttributedStringWebViewCache maybeUpdateShouldAllowNetworkLoads:]): (+[_WKAttributedStringWebViewCache maybeUpdateSourceApplicationBundleIdentifier:]): Drive-by fix: ensure that we properly invalidate the globally cached configuration when going from a source app bundle ID to no bundle ID, or when removing `_WKAllowNetworkLoadsOption`. (+[_WKAttributedStringWebViewCache invalidateGlobalConfigurationIfNeeded:]): * Source/WebKit/UIProcess/API/Cocoa/NSAttributedStringPrivate.h: * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm: Canonical link: https://commits.webkit.org/273245@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2dc6a5: [Site isolation] popup opener should be able to na...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2dc6a5e22e986f340194ecee1f3f691286841e1f https://github.com/WebKit/WebKit/commit/2dc6a5e22e986f340194ecee1f3f691286841e1f Author: Alex Christensen Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp M Source/WebKit/UIProcess/ProvisionalPageProxy.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- [Site isolation] popup opener should be able to navigate to popup domain https://bugs.webkit.org/show_bug.cgi?id=267752 rdar://121241095 Reviewed by Charlie Wolfe. This is the first piece needed to get http/tests/security/frameNavigation/cross-origin-opener.html running with --site-isolation without crashing. It turns out we had written a lot of code around ProvisionalPageProxy::initializeWebPage that only happened if there was an opener, and it needs to happen sometimes if there isn't an opener. This is a step towards making that code more robust. It's not quite there, but it's a step closer than it was and covered by a unit test. No change in behavior when site isolation is off. * Source/WebKit/UIProcess/ProvisionalPageProxy.cpp: (WebKit::ProvisionalPageProxy::ProvisionalPageProxy): (WebKit::ProvisionalPageProxy::initializeWebPage): (WebKit::ProvisionalPageProxy::didStartProvisionalLoadForFrame): * Source/WebKit/UIProcess/ProvisionalPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::takeOpenedRemotePageProxyIfDomainEquals): * Source/WebKit/UIProcess/WebPageProxy.h: * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/273244@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ce9d6a: Unable to opt out of lockdown mode on sites that s...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ce9d6af9dc1ab3e2c33a7908c9913007866d6de0 https://github.com/WebKit/WebKit/commit/ce9d6af9dc1ab3e2c33a7908c9913007866d6de0 Author: Chris Dumez Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebKit/UIProcess/WebPageProxy.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm Log Message: --- Unable to opt out of lockdown mode on sites that serve COOP + COEP HTTP headers https://bugs.webkit.org/show_bug.cgi?id=267766 rdar://119503109 Reviewed by Brent Fulgham. If lockdown mode is enabled system-wide and the user attempts to navigate to a site where lockdown mode has been disabled by the user, we expect this request to be satisfied. However, in the event where the site serves the proper COOP + COEP HTTP headers to trigger a process-swap, we would fail to disable lockdown mode. The reason is that WebPageProxy::triggerBrowsingContextGroupSwitchForNavigation(), which gets called on network response in case of a COOP + COEP process swap, would not carry over correctly the lockdown mode state from the old WebProcess to the new one. In particular, if there is a ProvisionalPageProxy (because the current navigation caused a PSON process-swap), we should be getting the lockdown mode from this ProvisionalPageProxy's WebProcessProxy, instead of from the WebPageProxy's WebPageProxy (which is the committed process, not the provisional one associated with the current navigation). * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::triggerBrowsingContextGroupSwitchForNavigation): * Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Canonical link: https://commits.webkit.org/273243@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 379483: Fix various clang-tidy misc-unused-parameters warn...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3794834677c8eaefda15c9cfca5227b04c1058b5 https://github.com/WebKit/WebKit/commit/3794834677c8eaefda15c9cfca5227b04c1058b5 Author: Charlie Wolfe Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/loader/EmptyClients.cpp M Source/WebCore/loader/EmptyFrameLoaderClient.h M Source/WebCore/loader/LocalFrameLoaderClient.h M Source/WebCore/loader/MixedContentChecker.cpp M Source/WebCore/loader/SubframeLoader.cpp M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h M Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp M Source/WebKit/WebProcess/WebPage/WebFrame.cpp M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKit/WebProcess/WebPage/WebPage.h M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm Log Message: --- Fix various clang-tidy misc-unused-parameters warnings https://bugs.webkit.org/show_bug.cgi?id=267668 rdar://121158815 Reviewed by Pascoe. * Source/WebCore/loader/EmptyClients.cpp: (WebCore::EmptyFrameLoaderClient::createPlugin): (WebCore::EmptyFrameLoaderClient::didRunInsecureContent): * Source/WebCore/loader/EmptyFrameLoaderClient.h: * Source/WebCore/loader/LocalFrameLoaderClient.h: * Source/WebCore/loader/MixedContentChecker.cpp: (WebCore::MixedContentChecker::frameAndAncestorsCanRunInsecureContent): * Source/WebCore/loader/SubframeLoader.cpp: (WebCore::FrameLoader::SubframeLoader::loadPlugin): * Source/WebKit/UIProcess/ProvisionalPageProxy.cpp: (WebKit::ProvisionalPageProxy::backForwardGoToItem): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::suspendCurrentPageIfPossible): (WebKit::WebPageProxy::commitProvisionalPage): (WebKit::WebPageProxy::decidePolicyForNewWindowAction): (WebKit::WebPageProxy::decidePolicyForResponseShared): (WebKit::WebPageProxy::backForwardGoToItem): (WebKit::WebPageProxy::backForwardGoToItemShared): (WebKit::WebPageProxy::willUpdateAttachmentAttributes): (WebKit::WebPageProxy::requestMediaKeySystemPermissionByDefaultAction): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp: (WebKit::WebLocalFrameLoaderClient::canAuthenticateAgainstProtectionSpace): (WebKit::WebLocalFrameLoaderClient::dispatchDecidePolicyForResponse): (WebKit::WebLocalFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): (WebKit::WebLocalFrameLoaderClient::didRunInsecureContent): (WebKit::WebLocalFrameLoaderClient::createPlugin): * Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h: * Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp: (WebKit::EventDispatcher::dispatchWheelEvent): * Source/WebKit/WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::didReceivePolicyDecision): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::loadRequest): (WebKit::WebPage::loadDataImpl): (WebKit::WebPage::goToBackForwardItem): (WebKit::WebPage::handleWheelEvent): (WebKit::WebPage::wheelEvent): (WebKit::WebPage::dispatchWheelEventWithoutScrolling): (WebKit::WebPage::SandboxExtensionTracker::beginLoad): (WebKit::WebPage::didChangeSelection): (WebKit::WebPage::scrollToRect): (WebKit::WebPage::shouldSkipDecidePolicyForResponse const): * Source/WebKit/WebProcess/WebPage/WebPage.h: * Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h: * Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::didRunInsecureContent): (WebFrameLoaderClient::httpsUpgradeRedirectLoopError const): (WebFrameLoaderClient::httpNavigationWithHTTPSOnlyError const): (WebFrameLoaderClient::createPlugin): Canonical link: https://commits.webkit.org/273242@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a41c12: [UnifiedPDF] Make PDFPluginAnnotations agnostic of...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a41c12c7f45ac004a807697b084279562ac41f6f https://github.com/WebKit/WebKit/commit/a41c12c7f45ac004a807697b084279562ac41f6f Author: Sammy Gill Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginAnnotation.h M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginAnnotation.mm M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginPasswordField.h M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginPasswordField.mm M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm Log Message: --- [UnifiedPDF] Make PDFPluginAnnotations agnostic of plugin implementation. https://bugs.webkit.org/show_bug.cgi?id=266097 rdar://problem/119397505 Reviewed by Simon Fraser. Currently PDFPluginAnnotations depends on the PDFLayerController to interact with the PDF. In order to get the UnifiedPDFPlugin working with annotations, the plugin annotations need to move away from this dependence and instead use an API that is agnostic of the underlying plugin implementation. This requires two main things: 1.) PDFPluginAnnotations should no longer hold onto a PDFLayerController 2.) They should hold onto a PDFPluginBase instead of a PDFPlugin Any PDFPlugin API that was used by the plugin annotations needs to be moved over to PDFPluginBase as virtual functions. Similarly, any functionality from the PDFLayerController that was used should be exposed in the same way. * Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h: * Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::createPasswordEntryForm): (WebKit::PDFPlugin::setActiveAnnotation): (WebKit::PDFPlugin::boundsForAnnotation const): (WebKit::PDFPlugin::contentSizeRespectingZoom const): (WebKit::PDFPlugin::supportsForms): Deleted. * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginAnnotation.h: (WebKit::PDFPluginAnnotation::plugin const): (WebKit::PDFPluginAnnotation::PDFPluginAnnotation): (WebKit::PDFPluginAnnotation::parent const): (WebKit::PDFPluginAnnotation::pdfLayerController const): Deleted. * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: (WebKit::PDFPluginAnnotation::create): (WebKit::PDFPluginAnnotation::updateGeometry): * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h: (WebKit::PDFPluginBase::didMutatePDFDocument): * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm: (WebKit::PDFPluginBase::supportsForms): * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h: (WebKit::PDFPluginChoiceAnnotation::PDFPluginChoiceAnnotation): * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm: (WebKit::PDFPluginChoiceAnnotation::create): (WebKit::PDFPluginChoiceAnnotation::updateGeometry): * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginPasswordField.h: (WebKit::PDFPluginPasswordField::PDFPluginPasswordField): * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginPasswordField.mm: (WebKit::PDFPluginPasswordField::create): * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h: (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotation): * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: (WebKit::PDFPluginTextAnnotation::create): (WebKit::PDFPluginTextAnnotation::updateGeometry): * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h: * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm: (WebKit::UnifiedPDFPlugin::contentSizeRespectingZoom const): (WebKit::UnifiedPDFPlugin::boundsForAnnotation const): (WebKit::UnifiedPDFPlugin::focusNextAnnotation): (WebKit::UnifiedPDFPlugin::focusPreviousAnnotation): (WebKit::UnifiedPDFPlugin::setActiveAnnotation): (WebKit::UnifiedPDFPlugin::attemptToUnlockPDF): Canonical link: https://commits.webkit.org/273241@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e8c0db: Dynamic Content Scaling resource cache cannot cach...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e8c0db1780a3059ff32170d89dfe8be43aed1937 https://github.com/WebKit/WebKit/commit/e8c0db1780a3059ff32170d89dfe8be43aed1937 Author: Tim Horton Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/SourcesCocoa.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/platform/graphics/ImageBuffer.h M Source/WebCore/platform/graphics/cocoa/IOSurface.h A Source/WebCore/platform/graphics/re/DynamicContentScalingResourceCache.h A Source/WebCore/platform/graphics/re/DynamicContentScalingResourceCache.mm M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h M Source/WebKit/Shared/RemoteLayerTree/DynamicContentScalingBifurcatedImageBuffer.h M Source/WebKit/Shared/RemoteLayerTree/DynamicContentScalingBifurcatedImageBuffer.mm M Source/WebKit/Shared/RemoteLayerTree/DynamicContentScalingImageBufferBackend.mm M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithInProcessRenderingBackingStore.mm M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm Log Message: --- Dynamic Content Scaling resource cache cannot cache images between layers https://bugs.webkit.org/show_bug.cgi?id=245920 rdar://100336143 Reviewed by Said Abou-Hallawa. * Source/WebCore/SourcesCocoa.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::allocateImageBuffer): (WebKit::RemoteRenderingBackend::ensureDynamicContentScalingResourceCache): * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h: * Source/WebKit/Shared/RemoteLayerTree/DynamicContentScalingBifurcatedImageBuffer.h: * Source/WebKit/Shared/RemoteLayerTree/DynamicContentScalingBifurcatedImageBuffer.mm: * Source/WebKit/Shared/RemoteLayerTree/DynamicContentScalingImageBufferBackend.mm: * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithInProcessRenderingBackingStore.mm: (WebKit::RemoteLayerWithInProcessRenderingBackingStore::allocateBuffer const): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm: (WebKit::RemoteLayerTreeContext::ensureDynamicContentScalingResourceCache): * Source/WebCore/platform/graphics/re/DynamicContentScalingResourceCache.h: Added. (WebCore::DynamicContentScalingResourceCache::DynamicContentScalingResourceCache): * Source/WebCore/platform/graphics/re/DynamicContentScalingResourceCache.mm: Added. (WebCore::DynamicContentScalingResourceCache::create): Move CGDisplayList's image cache object up to RemoteLayerTreeContext (in the in-process case) and RemoteRenderingBackend (in the GPU-process case), so that resources can be cached across multiple layers. * Source/WebCore/platform/graphics/ImageBuffer.h: Note that it is not safe in a unified-sources world to forward-declare WebCore::IOSurface because of the name conflict with ::IOSurface; we need to strictly order the declarations, which is easiest to achieve by just importing our header. Canonical link: https://commits.webkit.org/273240@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ed4c80: Adjust expectations in site isolation
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ed4c804b97b121c4af693c0345eb5b258231ae3b https://github.com/WebKit/WebKit/commit/ed4c804b97b121c4af693c0345eb5b258231ae3b Author: Robert Jenner Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M LayoutTests/platform/mac-site-isolation/TestExpectations Log Message: --- Adjust expectations in site isolation https://bugs.webkit.org/show_bug.cgi?id=267783 rdar://121281377 Unreviewed Test Gardening. * LayoutTests/platform/mac-site-isolation/TestExpectations: Canonical link: https://commits.webkit.org/273239@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 04761d: Disable Scroll Anchoring
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 04761dccf59258134cc7bfee76e32e90942e1505 https://github.com/WebKit/WebKit/commit/04761dccf59258134cc7bfee76e32e90942e1505 Author: Nikolaos Mouchtaris Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml Log Message: --- Disable Scroll Anchoring https://bugs.webkit.org/show_bug.cgi?id=267773 rdar://121236706 Reviewed by Aditya Keerthi. Disable Scroll Anchoring. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: Canonical link: https://commits.webkit.org/273238@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 15904f: Fix 'failing' test expectation of 'input-date-vali...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 15904f94fa7a97638ec60c4785345864fd288d1c https://github.com/WebKit/WebKit/commit/15904f94fa7a97638ec60c4785345864fd288d1c Author: Ahmad Saleem Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M LayoutTests/fast/forms/date/input-date-validation-message-expected.txt M LayoutTests/fast/forms/date/input-date-validation-message.html Log Message: --- Fix 'failing' test expectation of 'input-date-validation-message.html' https://bugs.webkit.org/show_bug.cgi?id=267761 Reviewed by Aditya Keerthi. This patch is to update test to use 'js-test.js' and also fix 'invalidation message' being incorrect in test from the expectation leading to test failures. * LayoutTests/fast/forms/date/input-date-validation-message.html: Updated * LayoutTests/fast/forms/date/input-date-validation-message-expected.txt: Ditto Canonical link: https://commits.webkit.org/273237@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c8cd2f: [Gardening]: [ Sonoma wk2 release ] fast/forms/lis...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c8cd2fee5f7df5cbc29eca22f9caddbdd3c78718 https://github.com/WebKit/WebKit/commit/c8cd2fee5f7df5cbc29eca22f9caddbdd3c78718 Author: Jay saintfleur Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M LayoutTests/platform/mac-wk2/TestExpectations Log Message: --- [Gardening]: [ Sonoma wk2 release ] fast/forms/listbox-padding-clip-selected.html is a flaky image failure rdar://121275821 https://bugs.webkit.org/show_bug.cgi?id=267778 Unreviewed test gardening. Adding test expectation * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/273236@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b2db70: Generate serialization for RemoteLayerBackingStore...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b2db7020eac4e23432af3e175330855bedf7335f https://github.com/WebKit/WebKit/commit/b2db7020eac4e23432af3e175330855bedf7335f Author: Nicole Rosario Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm Log Message: --- Generate serialization for RemoteLayerBackingStoreProperties https://bugs.webkit.org/show_bug.cgi?id=267713 rdar://121204392 Reviewed by Brady Eidson. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h: * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStoreProperties::layerContentsBufferFromBackendHandle): (WebKit::RemoteLayerBackingStoreProperties::decode): Deleted. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in: * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h: * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm: (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): (WebKit::RemoteLayerTreePropertyApplier::applyProperties): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h: * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm: (WebKit::RemoteLayerTreeHost::layerContentsType const): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm: (WebKit::PlatformCALayerRemote::recursiveBuildTransaction): Canonical link: https://commits.webkit.org/273235@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8f9276: AX: Implement off-main-thread AXTextMarkerForIndex...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8f9276392840002230cdb275b8bb23de2a319d32 https://github.com/WebKit/WebKit/commit/8f9276392840002230cdb275b8bb23de2a319d32 Author: Tyler Wilcock Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: A LayoutTests/accessibility/ax-thread-text-apis/text-marker-for-index-expected.txt A LayoutTests/accessibility/ax-thread-text-apis/text-marker-for-index.html A LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-with-unordered-markers-expected.txt A LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-with-unordered-markers.html M Source/WebCore/accessibility/AXObjectCache.h M Source/WebCore/accessibility/AXTextMarker.cpp M Source/WebCore/accessibility/AXTextMarker.h M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm Log Message: --- AX: Implement off-main-thread AXTextMarkerForIndexAttribute and AXIndexForTextMarkerAttribute https://bugs.webkit.org/show_bug.cgi?id=267666 rdar://problem/121157922 Reviewed by Andres Gonzalez. Also adds two new layout tests with basic coverage for these APIs. Fixes a bug in AXPreviousTextMarkerForTextMarkerAttribute where AXDirection::Next was used instead of AXDirection::Previous, which broke test text-marker-range-with-unordered-markers.html. * LayoutTests/accessibility/ax-thread-text-apis/text-marker-for-index-expected.txt: Added. * LayoutTests/accessibility/ax-thread-text-apis/text-marker-for-index.html: Added. * LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-with-unordered-markers-expected.txt: Added. * LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-with-unordered-markers.html: Added. * Source/WebCore/accessibility/AXTextMarker.cpp: (WebCore::AXTextMarker::hasSameObjectAndOffset const): (WebCore::AXTextMarker::offsetFromRoot const): (WebCore::AXTextMarker::nextMarkerFromOffset const): * Source/WebCore/accessibility/AXTextMarker.h: * Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h: * Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): Canonical link: https://commits.webkit.org/273234@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 126d20: Introduce ExpressionInfo as a replacement for Expr...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 126d2027f1ce6c13bd147e6307b7edb1b821599e https://github.com/WebKit/WebKit/commit/126d2027f1ce6c13bd147e6307b7edb1b821599e Author: Mark Lam Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M JSTests/wasm/references/externref_table.js M JSTests/wasm/references/func_ref.js M JSTests/wasm/references/multitable.js M JSTests/wasm/references/table_misc.js M JSTests/wasm/regress/unmatched-else.js M Source/JavaScriptCore/CMakeLists.txt M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj M Source/JavaScriptCore/Sources.txt M Source/JavaScriptCore/bytecode/BytecodeRewriter.h M Source/JavaScriptCore/bytecode/CodeBlock.cpp M Source/JavaScriptCore/bytecode/CodeBlock.h A Source/JavaScriptCore/bytecode/ExpressionInfo.cpp A Source/JavaScriptCore/bytecode/ExpressionInfo.h A Source/JavaScriptCore/bytecode/ExpressionInfoInlines.h R Source/JavaScriptCore/bytecode/ExpressionRangeInfo.h M Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp M Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h M Source/JavaScriptCore/bytecode/UnlinkedCodeBlockGenerator.cpp M Source/JavaScriptCore/bytecode/UnlinkedCodeBlockGenerator.h M Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.h M Source/JavaScriptCore/runtime/CachedTypes.cpp M Source/JavaScriptCore/runtime/ErrorInstance.cpp M Source/JavaScriptCore/runtime/FileBasedFuzzerAgent.cpp M Source/JavaScriptCore/runtime/FileBasedFuzzerAgentBase.cpp M Source/JavaScriptCore/runtime/FileBasedFuzzerAgentBase.h M Source/JavaScriptCore/runtime/SamplingProfiler.cpp M Source/WTF/wtf/HashMap.h M Source/WTF/wtf/HashTable.h Log Message: --- Introduce ExpressionInfo as a replacement for ExpressionRangeInfo. https://bugs.webkit.org/show_bug.cgi?id=260324 rdar://problem/114357179 Reviewed by Justin Michaud. Previously, ExpressionRangeInfo takes 24 bytes for every entry, plus potentially a FatPosition entry for large line and column values. It would also just clear divot and its start and end offsets to 0 if they are too large. The new ExpressionInfo compresses most expression info into just 4 bytes, with occasional exceptions. I estimate that this change may yield a 0.4% improvement on Membuster. Here's how ExpressionInfo works (from a comment in ExpressionInfo.cpp): Since ExpressionInfo is only used to get source position info (e.g. line and column) for error messages / stacks and debugging, it need not be fast. However, empirical data shows that there is a lot of it on websites that are especially memory hungry. So, it behooves us to reduce this memory burden. ExpressionInfo is a data structure that contains: a. EncodedInfo entries. This is where the expression info data is really stored. b. Chapter marks in the list of EncodedInfo entries. This is just an optimization aid to speed up reconstruction of expression info from the EncodedInfo. c. A LineColumnMap cache. This is to speed up look up of LineColumn values we have looked up before. Encoding of EncodedInfo words = Extension: [ 1b | 1b |offset:26] AbsInstPC: [ 1b | 0b | value:26] MultiWide: [ 0b | 1b | 111b | numFields:5 | fields[6]:18 ] [ value:32 ] ... DuoWide: [ 0b | 1b | field2:3 | value2:10 | field1:3 | value1:10 ] SingleWide: [ 0b | 0b | field:3 | value:23 ] ExtensionEnd: [ 0b | 0b | 111b | 0:23 ] Basic: [ instPC:5 | divot:7 | start:6 | end:6 | line:3 | column:5 ] Details of what these encodings are used for follows. EncodedInfo === Abstractly, each expression info defines 6 fields of unsigned type: 1. InstPC: bytecodeIndex offset. 2. Divot: the execution point in an expression. 3. Start: the offset from the Divot to the start of the expression. 4. End: the offset from the Divot to the end of the expression. 5. Line: the line number at the Divot. 6. Column: the column number at the Divot. Let's call this an expression info entry, represented by ExpressionInfo::Entry. However, we know that the delta values of these fields between consecutive entries tend to be small. So, instead of encoding an Entry with 24 bytes, we aim to encode the info in just 4 bytes in an EncodedInfo word. See the encoding of the Basic word above. UnlinkedCodeBlockGenerator::addExpressionInfo() triggers the addition of EncodedInfo. Each call of addExpressionInfo() may add 1 or more EncodedInfo. It can be more than 1 because the delta of some of the fields may exceed the capacity afforded them in
[webkit-changes] [WebKit/WebKit] 381645: [masonry] Expose grid items positions and sizes to...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3816458b86b6fc9a5c62f8dc1d3e96b5498ec554 https://github.com/WebKit/WebKit/commit/3816458b86b6fc9a5c62f8dc1d3e96b5498ec554 Author: Brandon Stewart Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/rendering/RenderGrid.cpp M Source/WebCore/rendering/RenderGrid.h Log Message: --- [masonry] Expose grid items positions and sizes to Web Inspector https://bugs.webkit.org/show_bug.cgi?id=267736 rdar://problem/121219933 Reviewed by Sammy Gill. Masonry differs from Grid in only having one axis. This does not allow simple drawing straight lines. The Web Inspector can instead draw boxes around each item, which this patch is exposing in a simpler format. This patch is not exclusive to masonry and can be used for all returning all grid items layout rects. * Source/WebCore/rendering/RenderGrid.cpp: (WebCore::RenderGrid::gridItemsLayoutRects): * Source/WebCore/rendering/RenderGrid.h: Canonical link: https://commits.webkit.org/273232@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c46dee: [WebGPU] Release assert running shader, validation, ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c46dee2bb6ab6d0a35dd55a04e3902703dccb294 https://github.com/WebKit/WebKit/commit/c46dee2bb6ab6d0a35dd55a04e3902703dccb294 Author: Mike Wyrzykowski Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebGPU/WebGPU/RenderPipeline.mm M Source/WebGPU/WebGPU/ShaderModule.mm Log Message: --- [WebGPU] Release assert running shader,validation,shader_io,* tests https://bugs.webkit.org/show_bug.cgi?id=267708 Reviewed by Tadeu Zagallo. Bool types were not supported, add support for them. * Source/WebGPU/WebGPU/RenderPipeline.mm: (WebGPU::componentsForDataType): * Source/WebGPU/WebGPU/ShaderModule.mm: (WebGPU::metalDataTypeFromPrimitive): Canonical link: https://commits.webkit.org/273231@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 80993f: Avoid traversing the FrameTree up in FrameTree::top()
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 80993fda030b571a3937b08f8809b50d72b61855 https://github.com/WebKit/WebKit/commit/80993fda030b571a3937b08f8809b50d72b61855 Author: Ahmad Saleem Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/page/FrameTree.cpp Log Message: --- Avoid traversing the FrameTree up in FrameTree::top() https://bugs.webkit.org/show_bug.cgi?id=185394 Reviewed by Chris Dumez. Credits & Patch Authored by Chris Dumez. Avoid traversing the FrameTree up in FrameTree::top() and rely on Frame::mainFrame() instead to get the answer right away. There is a potential behavior change if calling FrameTree::top() on a detached frame (it will keep return the main frame now instead of returning the frame itself). However, it should not matter in practice as we should not be dealing with the FrameTree of a detached frame. * Source/WebCore/page/FrameTree.cpp: (FrameTree::top): Canonical link: https://commits.webkit.org/273230@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 10afd1: [WebGPU] Crash in Device::createShaderModule runni...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 10afd1ef7aa2c0604b9c98e1fc7783951d5e55ab https://github.com/WebKit/WebKit/commit/10afd1ef7aa2c0604b9c98e1fc7783951d5e55ab Author: Mike Wyrzykowski Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebGPU/WebGPU/ShaderModule.mm Log Message: --- [WebGPU] Crash in Device::createShaderModule running shader,validation,* tests https://bugs.webkit.org/show_bug.cgi?id=267677 Reviewed by Tadeu Zagallo. Until https://bugs.webkit.org/show_bug.cgi?id=266774 is completed, we have a range check that may return NSNotFound and not checking that led to a crash in -[NSString substringWithRange:] * Source/WebGPU/WebGPU/ShaderModule.mm: (WebGPU::Device::createShaderModule): Canonical link: https://commits.webkit.org/273229@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a6d8d0: Make host comparisons in Quirks case-sensitive
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a6d8d02660a97af37929db6c8fbb3f0d0fc49efd https://github.com/WebKit/WebKit/commit/a6d8d02660a97af37929db6c8fbb3f0d0fc49efd Author: Anne van Kesteren Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/page/Quirks.cpp Log Message: --- Make host comparisons in Quirks case-sensitive https://bugs.webkit.org/show_bug.cgi?id=267687 Reviewed by Alex Christensen and Chris Dumez. The URL parser already ensures host is canonical. * Source/WebCore/page/Quirks.cpp: (WebCore::isYahooMail): (WebCore::Quirks::isTouchBarUpdateSupressedForHiddenContentEditable const): (WebCore::Quirks::isNeverRichlyEditableForTouchBar const): (WebCore::Quirks::shouldSuppressAutocorrectionAndAutocapitalizationInHiddenEditableAreas const): (WebCore::Quirks::needsYouTubeMouseOutQuirk const): (WebCore::Quirks::shouldAvoidUsingIOS13ForGmail const): (WebCore::Quirks::shouldMakeTouchEventNonCancelableForTarget const): (WebCore::Quirks::shouldPreventDispatchOfTouchEvent const): (WebCore::Quirks::shouldAvoidResizingWhenInputViewBoundsChange const): (WebCore::Quirks::needsDeferKeyDownAndKeyPressTimersUntilNextEditingCommand const): (WebCore::Quirks::needsGMailOverflowScrollQuirk const): (WebCore::Quirks::needsYouTubeOverflowScrollQuirk const): (WebCore::Quirks::shouldAvoidScrollingWhenFocusedContentIsVisible const): (WebCore::Quirks::shouldIgnoreAriaForFastPathContentObservationCheck const): (WebCore::Quirks::shouldOpenAsAboutBlank const): (WebCore::Quirks::shouldBypassBackForwardCache const): (WebCore::Quirks::isMicrosoftTeamsRedirectURL): (WebCore::Quirks::needsVP9FullRangeFlagQuirk const): (WebCore::Quirks::shouldDisableEndFullscreenEventWhenEnteringPictureInPictureFromFullscreenQuirk const): (WebCore::Quirks::shouldEnableFontLoadingAPIQuirk const): (WebCore::Quirks::shouldDisablePopoverAttributeQuirk const): Canonical link: https://commits.webkit.org/273228@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 294802: Grammar cleanup in GridTrackSizingAlgorithm
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 294802b072ac0e4f1b7702bfb117419d0a717640 https://github.com/WebKit/WebKit/commit/294802b072ac0e4f1b7702bfb117419d0a717640 Author: Brandon Stewart Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/rendering/GridTrackSizingAlgorithm.h Log Message: --- Grammar cleanup in GridTrackSizingAlgorithm https://bugs.webkit.org/show_bug.cgi?id=267769 rdar://problem/121260788 Reviewed by Sammy Gill. Small grammar fixes that I noticed a while back, but have not had a chance to address yet. * Source/WebCore/rendering/GridTrackSizingAlgorithm.h: Canonical link: https://commits.webkit.org/273227@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 051dfd: [masonry] Remove unused function itemGridAreaStart...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 051dfdbae48ea4d9914fcaeac3a40517c350e14a https://github.com/WebKit/WebKit/commit/051dfdbae48ea4d9914fcaeac3a40517c350e14a Author: Brandon Stewart Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/rendering/GridMasonryLayout.h Log Message: --- [masonry] Remove unused function itemGridAreaStartsAtFirstLine https://bugs.webkit.org/show_bug.cgi?id=267767 rdar://problem/121259639 Reviewed by Sammy Gill. Remove unused function. It is not needed anymore. * Source/WebCore/rendering/GridMasonryLayout.h: (WebCore::GridMasonryLayout::itemGridAreaStartsAtFirstLine): Deleted. Canonical link: https://commits.webkit.org/273226@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9c0f02: sfusd.edu: Trying to load SFUSD School Finder some...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9c0f02f12a3c3c2dc7119a9f9651e0919436785e https://github.com/WebKit/WebKit/commit/9c0f02f12a3c3c2dc7119a9f9651e0919436785e Author: Chris Dumez Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/page/Quirks.cpp Log Message: --- sfusd.edu: Trying to load SFUSD School Finder sometimes fails https://bugs.webkit.org/show_bug.cgi?id=267741 rdar://116292738 Reviewed by Brent Fulgham. Trying to load the following link often fails in Safari (and Firefox), works fine in Chrome: https://www.sfusd.edu/schools/enroll/discover/school-finder We see the following error in the JS console: ``` [Error] ReferenceError: Can't find variable: google (anonymous function) (js_h2tB6IRXjTJGY_6Kj6g8zvcS1bzOjvsppQOjs7XaUWs.js:12:176) ``` This is caused by the google maps script being marked as async while one of the sync script tries to access `window.google.maps`. Add a quirk to ignore 'async' on scripts on sfusd.edu as a workaround while we reach out to the site owners. * Source/WebCore/page/Quirks.cpp: (WebCore::Quirks::shouldBypassAsyncScriptDeferring const): Canonical link: https://commits.webkit.org/273225@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 91061b: [WGSL] Global variable rewriter should not use ran...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 91061b48751d475257c31fd551d9a2556dbcccf2 https://github.com/WebKit/WebKit/commit/91061b48751d475257c31fd551d9a2556dbcccf2 Author: Tadeu Zagallo Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebGPU/WGSL/GlobalVariableRewriter.cpp Log Message: --- [WGSL] Global variable rewriter should not use range-based for loop https://bugs.webkit.org/show_bug.cgi?id=267720 rdar://121208769 Reviewed by Mike Wyrzykowski. New structs might be created and inserted into the vector while we're iterating it, which invalidates the iterator. * Source/WebGPU/WGSL/GlobalVariableRewriter.cpp: (WGSL::RewriteGlobalVariables::collectGlobals): Canonical link: https://commits.webkit.org/273224@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f808a2: Add webRequest event listener bindings and a basic...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f808a2b2b9e3ac58ffa028da52c07dd3441cd7a8 https://github.com/WebKit/WebKit/commit/f808a2b2b9e3ac58ffa028da52c07dd3441cd7a8 Author: Brian Weinstein Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebKit/DerivedSources-input.xcfilelist M Source/WebKit/DerivedSources-output.xcfilelist M Source/WebKit/DerivedSources.make M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPINamespaceCocoa.mm A Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebRequestCocoa.mm M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPINamespace.h A Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIWebRequest.h M Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPINamespace.idl A Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIWebRequest.idl M Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIWebRequestEvent.idl M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIWebRequest.mm Log Message: --- Add webRequest event listener bindings and a basic test for them https://bugs.webkit.org/show_bug.cgi?id=267747 rdar://114823223 Reviewed by Timothy Hatcher. * Source/WebKit/DerivedSources-input.xcfilelist: Add new files. * Source/WebKit/DerivedSources-output.xcfilelist: Ditto. * Source/WebKit/DerivedSources.make: Add the new idl file. * Source/WebKit/WebKit.xcodeproj/project.pbxproj: Add new files. * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPINamespaceCocoa.mm: (WebKit::WebExtensionAPINamespace::webRequest): Create the WebExtensionAPIWebRequest object and return it. * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebRequestCocoa.mm: Added. (WebKit::WebExtensionAPIWebRequest::onBeforeRequest): Create the listener and return it. (WebKit::WebExtensionAPIWebRequest::onBeforeSendHeaders): Ditto. (WebKit::WebExtensionAPIWebRequest::onSendHeaders): Ditto. (WebKit::WebExtensionAPIWebRequest::onHeadersReceived): Ditto. (WebKit::WebExtensionAPIWebRequest::onAuthRequired): Ditto. (WebKit::WebExtensionAPIWebRequest::onBeforeRedirect): Ditto. (WebKit::WebExtensionAPIWebRequest::onResponseStarted): Ditto. (WebKit::WebExtensionAPIWebRequest::onCompleted): Ditto. (WebKit::WebExtensionAPIWebRequest::onErrorOccurred): Ditto. * Source/WebKit/WebProcess/Extensions/API/WebExtensionAPINamespace.h: * Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIWebRequest.h: Added. * Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPINamespace.idl: Add the webRequest binding on the browser object. * Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIWebRequest.idl: Copied from Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIWebRequestEvent.idl. * Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIWebRequestEvent.idl: * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIWebRequest.mm: (TestWebKitAPI::TEST): Add a test around the basic addListener/removeListener/hasListener functionality. Canonical link: https://commits.webkit.org/273223@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 69c8dc: WebKit Extensions URL schemes should be marked as ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 69c8dc02b3d9d89e0453394df1e9ecd49400281a https://github.com/WebKit/WebKit/commit/69c8dc02b3d9d89e0453394df1e9ecd49400281a Author: Timothy Hatcher Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionMatchPatternCocoa.mm M Source/WebKit/UIProcess/Extensions/WebExtensionMatchPattern.h M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIExtension.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPILocalization.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIRuntime.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionController.mm Log Message: --- WebKit Extensions URL schemes should be marked as secure, etc. https://webkit.org/b/267740 rdar://problem/121222556 Reviewed by Brian Weinstein. * Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm: (-[_WKWebExtensionContext setBaseURL:]): Assert the URL scheme is registered. * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm: (WebKit::WebExtensionController::addProcessPool): Mark the extensionSchemes as secure, bypassing CSP, and domain relaxation is forbidden. * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionMatchPatternCocoa.mm: (WebKit::WebExtensionMatchPattern::extensionSchemes): Added. (WebKit::WebExtensionMatchPattern::registerCustomURLScheme): Add to extensionSchemes. * Source/WebKit/UIProcess/Extensions/WebExtensionMatchPattern.h: Canonical link: https://commits.webkit.org/273222@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ae031c: [JSC] use UNLIKELY in Intl APIs for rare cases
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ae031c19c82f8e1e84539b22c3547b035e4d55e4 https://github.com/WebKit/WebKit/commit/ae031c19c82f8e1e84539b22c3547b035e4d55e4 Author: Yijia Huang Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/JavaScriptCore/runtime/IntlCollatorPrototype.cpp M Source/JavaScriptCore/runtime/IntlDisplayNamesPrototype.cpp M Source/JavaScriptCore/runtime/IntlDurationFormatPrototype.cpp M Source/JavaScriptCore/runtime/IntlListFormatPrototype.cpp M Source/JavaScriptCore/runtime/IntlLocalePrototype.cpp M Source/JavaScriptCore/runtime/IntlPluralRulesPrototype.cpp M Source/JavaScriptCore/runtime/IntlRelativeTimeFormatPrototype.cpp M Source/JavaScriptCore/runtime/IntlSegmentIteratorPrototype.cpp M Source/JavaScriptCore/runtime/IntlSegmenterPrototype.cpp M Source/JavaScriptCore/runtime/IntlSegmentsPrototype.cpp Log Message: --- [JSC] use UNLIKELY in Intl APIs for rare cases https://bugs.webkit.org/show_bug.cgi?id=267738 rdar://121221571 Reviewed by Alexey Shvayka and Justin Michaud. The case that CallFrame's `this` is not the desired object is rare, so we should use `UNLIKELY` for them in Intl APIs. * Source/JavaScriptCore/runtime/IntlCollatorPrototype.cpp: (JSC::JSC_DEFINE_CUSTOM_GETTER): (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/IntlDisplayNamesPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/IntlDurationFormatPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/IntlListFormatPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/IntlLocalePrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): (JSC::JSC_DEFINE_CUSTOM_GETTER): * Source/JavaScriptCore/runtime/IntlPluralRulesPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/IntlRelativeTimeFormatPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/IntlSegmentIteratorPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/IntlSegmenterPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/IntlSegmentsPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): Canonical link: https://commits.webkit.org/273221@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8c2f91: [WGSL] webgpu:shader, execution, robust_access:* is ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8c2f912a0edfdb7d2833a620529a49a589711a34 https://github.com/WebKit/WebKit/commit/8c2f912a0edfdb7d2833a620529a49a589711a34 Author: Tadeu Zagallo Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebGPU/WGSL/TypeCheck.cpp Log Message: --- [WGSL] webgpu:shader,execution,robust_access:* is crashing https://bugs.webkit.org/show_bug.cgi?id=267721 rdar://121209161 Reviewed by Mike Wyrzykowski. The global variable rewriter assumes that all global variables will have a reference type, but the type checker was not creating reference types for variable that did not have a type annotation, which is valid for global variables in the private address space. This isn't enough to make the test pass, but it no longer crashes. * Source/WebGPU/WGSL/TypeCheck.cpp: (WGSL::TypeChecker::visitVariable): Canonical link: https://commits.webkit.org/273220@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e00eb7: [WGSL] shader, execution, shader_io, compute_builtins...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e00eb7be3a35d71e9afbeae7512f10b3b8d5a941 https://github.com/WebKit/WebKit/commit/e00eb7be3a35d71e9afbeae7512f10b3b8d5a941 Author: Tadeu Zagallo Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebGPU/WGSL/EntryPointRewriter.cpp Log Message: --- [WGSL] shader,execution,shader_io,compute_builtins:* is failing https://bugs.webkit.org/show_bug.cgi?id=267717 rdar://121207920 Reviewed by Mike Wyrzykowski. When rewriting entry points to move builtin arguments from structs into top level parameters we were using the name of the struct field. However, field names are only unique within the struct, so when extracting fields from multiple structs they could clash. In order to fix that we generate a new unique name for the parameter, instead of using the name of the struct field. This doesn't affect the rest of the program, since we reconstruct the struct anyway. * Source/WebGPU/WGSL/EntryPointRewriter.cpp: (WGSL::EntryPointRewriter::materialize): (WGSL::EntryPointRewriter::visit): Canonical link: https://commits.webkit.org/273219@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 31557c: Move MediaStreamTrack capture state handling to Do...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 31557cfb95e2fbd2e27f4ca6de470b2b91bf56e1 https://github.com/WebKit/WebKit/commit/31557cfb95e2fbd2e27f4ca6de470b2b91bf56e1 Author: Youenn Fablet Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp M Source/WebCore/Modules/mediastream/MediaStreamTrack.h M Source/WebCore/dom/Document.cpp M Source/WebCore/dom/Document.h M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSource.h M Source/WebKit/WebProcess/cocoa/RemoteRealtimeVideoSource.cpp Log Message: --- Move MediaStreamTrack capture state handling to Document https://bugs.webkit.org/show_bug.cgi?id=267325 rdar://120776008 Reviewed by Jean-Yves Avenard and Eric Carlson. MediaStreamTrack may be transferred from a document to a worker. As per spec, transferring a track does not transfer the ownership of source. This ensures UA capture states remain the same even if a track gets transferred. To align with this and prepare track transfer, we are moving capture state handling to Document. A document will own directly RealtimeMediaSource instead of going through MediaStreamTrack, since a transferred MediaStreamTrack gets closed. We introduce the possibility for a Document to register itself as an owner of a RealtimeMediaSource. The RealtimeMediaSource will notify the Document when it either starts or ends. The Document updates its capture state based on this signal. When the document goes away, it will stop all sources like would have been done previously with any remaining MediaStreamTrack. We continue updating code to limit access to a MediaStreamTrack source. * Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::create): (WebCore::MediaStreamTrack::MediaStreamTrack): (WebCore::MediaStreamTrack::~MediaStreamTrack): (WebCore::trackCaptureState): (WebCore::MediaStreamTrack::mediaState const): (WebCore::MediaStreamTrack::trackEnded): (WebCore::MediaStreamTrack::trackMutedChanged): (): Deleted. (WebCore::sourceCaptureState): Deleted. (WebCore::MediaStreamTrack::captureState): Deleted. (WebCore::MediaStreamTrack::updateCaptureAccordingToMutedState): Deleted. (WebCore::MediaStreamTrack::updateVideoCaptureAccordingMicrophoneInterruption): Deleted. (WebCore::MediaStreamTrack::updateToPageMutedState): Deleted. (WebCore::trackTypeForMediaProducerCaptureKind): Deleted. (WebCore::MediaStreamTrack::endCapture): Deleted. * Source/WebCore/Modules/mediastream/MediaStreamTrack.h: (WebCore::MediaStreamTrack::isDetached const): * Source/WebCore/dom/Document.cpp: (WebCore::Document::commonTeardown): (WebCore::Document::visibilityStateChanged): (WebCore::captureSourceState): (WebCore::Document::computeCaptureState const): (WebCore::Document::updateIsPlayingMedia): (WebCore::Document::pageMutedStateDidChange): (WebCore::updateCaptureSourceToPageMutedState): (WebCore::Document::addCaptureSource): (WebCore::Document::captureSourceStateChanged): (WebCore::Document::updateCaptureAccordingToMutedState): (WebCore::trackTypeForMediaProducerCaptureKind): (WebCore::Document::stopMediaCapture): (WebCore::Document::updateVideoCaptureAccordingMicrophoneInterruption): * Source/WebCore/dom/Document.h: * Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::start): (WebCore::RealtimeMediaSource::end): (WebCore::RealtimeMediaSource::registerOwnerCallback): * Source/WebCore/platform/mediastream/RealtimeMediaSource.h: * Source/WebKit/WebProcess/cocoa/RemoteRealtimeVideoSource.cpp: (WebKit::RemoteRealtimeVideoSource::clone): Canonical link: https://commits.webkit.org/273218@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c6eeac: Remove web-platform.test knowledge from PublicSuffix
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c6eeacb52d87a988ac5a26ab6769d6c3a9b08b27 https://github.com/WebKit/WebKit/commit/c6eeacb52d87a988ac5a26ab6769d6c3a9b08b27 Author: Anne van Kesteren Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/platform/PublicSuffix.h M Source/WebCore/platform/soup/PublicSuffixSoup.cpp Log Message: --- Remove web-platform.test knowledge from PublicSuffix https://bugs.webkit.org/show_bug.cgi?id=267689 Reviewed by Ryosuke Niwa. It seems this got added in 255810@main, but it has no business here. * Source/WebCore/platform/PublicSuffix.h: (WebCore::isDomainForTesting): Deleted. * Source/WebCore/platform/soup/PublicSuffixSoup.cpp: (WebCore::topPrivatelyControlledDomain): Canonical link: https://commits.webkit.org/273217@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1f209e: REGRESSION(272844@main): [GStreamer][Debug] ASSERT...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1f209ea914f11711bca5e625b21a4bae3703e437 https://github.com/WebKit/WebKit/commit/1f209ea914f11711bca5e625b21a4bae3703e437 Author: Vitaly Dyachkov Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M LayoutTests/platform/glib/TestExpectations M LayoutTests/platform/gtk/TestExpectations M LayoutTests/platform/wpe/TestExpectations Log Message: --- REGRESSION(272844@main): [GStreamer][Debug] ASSERTION FAILED: isMainThread() in WebCore::MediaStreamTrackPrivate::source() https://bugs.webkit.org/show_bug.cgi?id=267411 Unreviewed test gardening. * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/gtk/TestExpectations: * LayoutTests/platform/wpe/TestExpectations: Canonical link: https://commits.webkit.org/273216@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 189e40: [WPE] WPE Platform: use weak references to WPEView...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 189e402ec1cea8b6d4c01515f2d2ba75fce6df8a https://github.com/WebKit/WebKit/commit/189e402ec1cea8b6d4c01515f2d2ba75fce6df8a Author: Carlos Garcia Campos Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WTF/wtf/glib/GWeakPtr.h M Source/WebKit/WPEPlatform/wpe/wayland/WPEWaylandSeat.cpp M Source/WebKit/WPEPlatform/wpe/wayland/WPEWaylandSeat.h M Tools/TestWebKitAPI/Tests/WTF/glib/GWeakPtr.cpp Log Message: --- [WPE] WPE Platform: use weak references to WPEView in WPEWaylandSeat https://bugs.webkit.org/show_bug.cgi?id=267756 Reviewed by Adrian Perez de Castro. We are leaking the view when pointer leave and keyboard leave are not emitted. Since GWeakPtr is not copyable, we need to add an explicit move assignment operator to be able to reset the WPEWaylandSeat structs with foo = { }. * Source/WTF/wtf/glib/GWeakPtr.h: (WTF::GWeakPtr::operator=): * Source/WebKit/WPEPlatform/wpe/wayland/WPEWaylandSeat.cpp: * Source/WebKit/WPEPlatform/wpe/wayland/WPEWaylandSeat.h: * Tools/TestWebKitAPI/Tests/WTF/glib/GWeakPtr.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/273215@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6f5ada: REGRESSION(272776@main): [GStreamer][Debug] ASSERT...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6f5ada25d26efd742f571af02bfef4953781f104 https://github.com/WebKit/WebKit/commit/6f5ada25d26efd742f571af02bfef4953781f104 Author: Philippe Normand Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M LayoutTests/platform/glib/TestExpectations M Source/WebCore/platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.cpp Log Message: --- REGRESSION(272776@main): [GStreamer][Debug] ASSERTION FAILED: m_streamFormat in MockRealtimeAudioSourceGStreamer::render() https://bugs.webkit.org/show_bug.cgi?id=267627 Reviewed by Xabier Rodriguez-Calvar. Prevent an ASSERT in the mock audio source, that would happen in case the source is stopped while rendering. * Source/WebCore/platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.cpp: (WebCore::MockRealtimeAudioSourceGStreamer::render): Canonical link: https://commits.webkit.org/273214@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 448843: ImageBitmapBacking is a redundant class
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 44884327f7156a080986bb7f9748e825347a3684 https://github.com/WebKit/WebKit/commit/44884327f7156a080986bb7f9748e825347a3684 Author: Kimmo Kinnunen Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WebCore/Headers.cmake M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/bindings/js/SerializedScriptValue.cpp M Source/WebCore/bindings/js/SerializedScriptValue.h M Source/WebCore/html/ImageBitmap.cpp M Source/WebCore/html/ImageBitmap.h R Source/WebCore/html/ImageBitmapBacking.cpp R Source/WebCore/html/ImageBitmapBacking.h M Source/WebCore/html/OffscreenCanvas.cpp M Source/WebCore/platform/graphics/ImageBuffer.cpp M Source/WebCore/platform/graphics/ImageBuffer.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h Log Message: --- ImageBitmapBacking is a redundant class https://bugs.webkit.org/show_bug.cgi?id=267455 rdar://120906757 Reviewed by Matt Woodrow. ImageBitmap would hold a ImageBitmapBacking. It is a bit error-prone, as the purpose of the backing is not much more than just hold the ImageBuffer. Backing might get nulled, as might the ImageBuffer itself. Make it simpler and move the ImageBitmapBacking directly to ImageBitmap. This also removes the redundant allocation of ImageBitmapBacking. Make the Web Worker serialization work similarly to OffscreenCanvas: when the ImageBitmap is "detached" for moving to a Worker, construct a DetachedImageBitmap to move it. * Source/WebCore/Headers.cmake: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpImageBitmap): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::readTransferredImageBitmap): (WebCore::CloneDeserializer::readImageBitmap): (WebCore::SerializedScriptValue::SerializedScriptValue): (WebCore::SerializedScriptValue::computeMemoryCost const): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * Source/WebCore/bindings/js/SerializedScriptValue.h: (WebCore::SerializedScriptValue::SerializedScriptValue): * Source/WebCore/html/ImageBitmap.cpp: (WebCore::DetachedImageBitmap::DetachedImageBitmap): (WebCore::ImageBitmap::create): (WebCore::ImageBitmap::detach): (WebCore::ImageBitmap::createBlankImageBuffer): (WebCore::ImageBitmap::createCompletionHandler): (WebCore::ImageBitmap::createFromBuffer): (WebCore::ImageBitmap::ImageBitmap): (WebCore::ImageBitmap::takeImageBuffer): (WebCore::ImageBitmap::width const): (WebCore::ImageBitmap::height const): (WebCore::ImageBitmap::updateMemoryCost): (WebCore::ImageBitmap::~ImageBitmap): Deleted. (WebCore::ImageBitmap::takeImageBitmapBacking): Deleted. * Source/WebCore/html/ImageBitmap.h: (WebCore::DetachedImageBitmap::memoryCost const): * Source/WebCore/html/ImageBitmapBacking.cpp: Removed. * Source/WebCore/html/ImageBitmapBacking.h: Removed. * Source/WebCore/html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::transferToImageBitmap): * Source/WebCore/platform/graphics/ImageBuffer.cpp: * Source/WebCore/platform/graphics/ImageBuffer.h: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h: Canonical link: https://commits.webkit.org/273213@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes