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

Reply via email to