Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7e720d823db10027f5a82acacdea67b2e485b0de
      
https://github.com/WebKit/WebKit/commit/7e720d823db10027f5a82acacdea67b2e485b0de
  Author: Alex Christensen <[email protected]>
  Date:   2025-06-14 (Sat, 14 Jun 2025)

  Changed paths:
    A 
LayoutTests/http/tests/site-isolation/edge-sampling-commit-root-frame-load-expected.txt
    A 
LayoutTests/http/tests/site-isolation/edge-sampling-commit-root-frame-load.html
    A 
LayoutTests/http/tests/site-isolation/edge-sampling-viewport-constrained-object-expected.txt
    A 
LayoutTests/http/tests/site-isolation/edge-sampling-viewport-constrained-object.html
    A 
LayoutTests/http/tests/site-isolation/resources/add-and-remove-viewport-constrained-object.html
    A LayoutTests/http/tests/site-isolation/resources/localhostiframe.html
    A LayoutTests/http/tests/site-isolation/resources/update-background.html
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp

  Log Message:
  -----------
  Fix color flicker on edges of liquid glass on macOS Tahoe with site isolation 
enabled
https://bugs.webkit.org/show_bug.cgi?id=294493
rdar://153247645

Reviewed by Wenson Hsieh and Abrar Rahman Protyasha.

283227@main fixed a similar color flicker from themeColor being updated by 
iframe processes.
288491@main fixed a similar color flicker from underPageBackgroundColor being 
updated by iframe processes.
This fixes a color flicker from _sampledTopFixedPositionContentColor being 
updated by iframe processes.
Page::updateFixedContainerEdges already kind of did the right thing, but if 
m_needsFixedContainerEdgesUpdate
was ever set to true, it would send a layer tree update with 
PredominantColorType::None interleaved between
what often was a non-PredominantColorType in a FixedContainerEdge.  I added 
tests that exhibited the flicker
when opened in Safari or MiniBrowser in two different ways: by committing the 
load of a root frame in
WebPage::didCommitLoad, and by adding and removing viewport constrained objects 
which caused
WebPage::didAddOrRemoveViewportConstrainedObjects to set 
m_needsFixedContainerEdgesUpdate to true.
In a process that doesn't have the main frame, we don't want to send any 
updates because it will just flicker.

* 
LayoutTests/http/tests/site-isolation/edge-sampling-commit-root-frame-load-expected.txt:
 Added.
* 
LayoutTests/http/tests/site-isolation/edge-sampling-commit-root-frame-load.html:
 Added.
* 
LayoutTests/http/tests/site-isolation/edge-sampling-viewport-constrained-object-expected.txt:
 Added.
* 
LayoutTests/http/tests/site-isolation/edge-sampling-viewport-constrained-object.html:
 Added.
* 
LayoutTests/http/tests/site-isolation/resources/add-and-remove-viewport-constrained-object.html:
 Added.
* LayoutTests/http/tests/site-isolation/resources/localhostiframe.html: Added.
* LayoutTests/http/tests/site-isolation/resources/update-background.html: Added.
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::willCommitLayerTree):

Canonical link: https://commits.webkit.org/296235@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to