Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7429477acfb73018145e9fe66e998ec0382dc64e
https://github.com/WebKit/WebKit/commit/7429477acfb73018145e9fe66e998ec0382dc64e
Author: Tim Nguyen <[email protected]>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
R
LayoutTests/http/tests/site-isolation/resources/validation-message-iframe.html
R
LayoutTests/http/tests/site-isolation/validation-message-cross-origin-iframe-expected.txt
R
LayoutTests/http/tests/site-isolation/validation-message-cross-origin-iframe.html
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/Element.h
M Source/WebCore/html/ColorInputType.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/WebProcess/WebCoreSupport/WebValidationMessageClient.cpp
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
Log Message:
-----------
[Site Isolation] Custom validity popup displays in the wrong place in
scrolled cross-origin iframe
https://bugs.webkit.org/show_bug.cgi?id=324297
rdar://187513244
Reviewed by Alex Christensen.
Introduce boundingBoxInMainFrameViewCoordinates, a variation of
boundingBoxInRootViewCoordinates which uses contentsToMainFrameView instead of
contentsToRootView.
Use it to position the popup correctly in various situations in SI mode.
Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::boundingBoxInMainFrameViewCoordinates const):
* Source/WebCore/dom/Element.h:
* Source/WebCore/html/ColorInputType.cpp:
(WebCore::ColorInputType::elementRectRelativeToMainFrameView const):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showValidationMessage):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/WebProcess/WebCoreSupport/WebValidationMessageClient.cpp:
(WebKit::WebValidationMessageClient::showValidationMessage):
(WebKit::WebValidationMessageClient::updateValidationBubbleStateIfNeeded):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::TEST(SiteIsolation,
FirstRectForCharacterRangeInScrolledCrossOriginIframeWithScrolledMainFrame)):
(TestWebKitAPI::checkValidationMessageAnchorInCrossOriginIframe):
(TestWebKitAPI::TEST(SiteIsolation,
ValidationMessageAnchorInCrossOriginIframe)):
(TestWebKitAPI::TEST(SiteIsolation,
ValidationMessageAnchorInCrossOriginIframeWithScrolledMainFrame)):
(TestWebKitAPI::TEST(SiteIsolation,
ValidationMessageAnchorInScrolledCrossOriginIframe)):
(TestWebKitAPI::TEST(SiteIsolation,
ValidationMessageAnchorInScrolledCrossOriginIframeWithScrolledMainFrame)):
*
LayoutTests/http/tests/site-isolation/resources/validation-message-iframe.html:
Removed.
*
LayoutTests/http/tests/site-isolation/validation-message-cross-origin-iframe-expected.txt:
Removed.
*
LayoutTests/http/tests/site-isolation/validation-message-cross-origin-iframe.html:
Removed.
Canonical link: https://commits.webkit.org/321264@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications