Skip to content

Commit

Permalink
REGRESSION (Sonoma): [ Sonoma wk2 Release ] compositing/reflections/r…
Browse files Browse the repository at this point in the history
…epaint-with-reflection.html is flaky

https://bugs.webkit.org/show_bug.cgi?id=263347
rdar://117172843

Reviewed by Tim Horton.

Increase the scope of having a non-null `m_currentTransaction` in `RemoteLayerTreeContext::buildTransaction()`,
since `paintReachableBackingStoreContents()` can call `PlatformCALayerRemote::copyContentsFromLayer()` for
layers with reflections, and we need `RemoteLayerTreeContext::layerPropertyChangedWhileBuildingTransaction()`
to see `m_currentTransaction` so we mark the clone as having changed properties.

* LayoutTests/platform/mac-wk2/TestExpectations:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::buildTransaction):

Canonical link: https://commits.webkit.org/270082@main
  • Loading branch information
smfr committed Nov 1, 2023
1 parent 6cb56ee commit e0e30a6
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 3 deletions.
2 changes: 0 additions & 2 deletions LayoutTests/platform/mac-wk2/TestExpectations
Original file line number Diff line number Diff line change
Expand Up @@ -2010,8 +2010,6 @@ webkit.org/b/263282 [ Sonoma+ ] fast/replaced/replaced-breaking.html [ Failure ]

webkit.org/b/263296 [ Sonoma+ arm64 ] compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position.html [ ImageOnlyFailure ]

webkit.org/b/263347 [ Sonoma+ Release ] compositing/reflections/repaint-with-reflection.html [ Pass ImageOnlyFailure ]

webkit.org/b/261356 [ Debug ] fast/mediastream/device-change-event-2.html [ Pass Timeout ] # CHANGE TO [ Pass Timeout ] WITHOUT DEBUG AFTER FIX ACCORDING TO webkit.org/b/188924

webkit.org/b/263396 css3/color/text.html [ Skip ]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,12 +197,13 @@
m_currentTransaction = &transaction;
rootLayerRemote.recursiveBuildTransaction(*this, transaction);
m_backingStoreCollection->prepareBackingStoresForDisplay(transaction);
m_currentTransaction = nullptr;

bool paintedAnyBackingStore = m_backingStoreCollection->paintReachableBackingStoreContents();
if (paintedAnyBackingStore)
m_nextRenderingUpdateRequiresSynchronousImageDecoding = false;

m_currentTransaction = nullptr;

transaction.setCreatedLayers(moveToVector(std::exchange(m_createdLayers, { }).values()));
transaction.setDestroyedLayerIDs(WTFMove(m_destroyedLayers));
}
Expand Down

0 comments on commit e0e30a6

Please sign in to comment.