Title: [212499] branches/safari-603-branch
- Revision
- 212499
- Author
- matthew_han...@apple.com
- Date
- 2017-02-16 16:56:33 -0800 (Thu, 16 Feb 2017)
Log Message
Merge r212172. rdar://problem/30476807
Modified Paths
Diff
Modified: branches/safari-603-branch/LayoutTests/ChangeLog (212498 => 212499)
--- branches/safari-603-branch/LayoutTests/ChangeLog 2017-02-17 00:56:29 UTC (rev 212498)
+++ branches/safari-603-branch/LayoutTests/ChangeLog 2017-02-17 00:56:33 UTC (rev 212499)
@@ -1,5 +1,20 @@
2017-02-16 Matthew Hanson <matthew_han...@apple.com>
+ Merge r212172. rdar://problem/30476807
+
+ 2017-02-10 Simon Fraser <simon.fra...@apple.com>
+
+ REGRESSION (r211845): [ios-simulator] LayoutTest compositing/masks/solid-color-masked.html is a flaky failure
+ https://bugs.webkit.org/show_bug.cgi?id=168054
+
+ Reviewed by Tim Horton.
+
+ Make the timeout 10ms so the test consistently fails with the old code.
+
+ * compositing/masks/solid-color-masked.html:
+
+2017-02-16 Matthew Hanson <matthew_han...@apple.com>
+
Merge r212168. rdar://problem/29904368
2017-02-10 Ryan Haddad <ryanhad...@apple.com>
Modified: branches/safari-603-branch/LayoutTests/compositing/masks/solid-color-masked.html (212498 => 212499)
--- branches/safari-603-branch/LayoutTests/compositing/masks/solid-color-masked.html 2017-02-17 00:56:29 UTC (rev 212498)
+++ branches/safari-603-branch/LayoutTests/compositing/masks/solid-color-masked.html 2017-02-17 00:56:33 UTC (rev 212499)
@@ -10,7 +10,7 @@
}
.composited {
- -webkit-transform: translateZ(0);
+ transform: translateZ(0);
}
.masked {
@@ -26,7 +26,7 @@
document.getElementById('box').classList.add('masked');
if (window.testRunner)
testRunner.notifyDone();
- }, 0);
+ }, 10);
}
window.addEventListener('load', doTest, false);
</script>
Modified: branches/safari-603-branch/Source/WebCore/ChangeLog (212498 => 212499)
--- branches/safari-603-branch/Source/WebCore/ChangeLog 2017-02-17 00:56:29 UTC (rev 212498)
+++ branches/safari-603-branch/Source/WebCore/ChangeLog 2017-02-17 00:56:33 UTC (rev 212499)
@@ -1,5 +1,29 @@
2017-02-16 Matthew Hanson <matthew_han...@apple.com>
+ Merge r212172. rdar://problem/30476807
+
+ 2017-02-10 Simon Fraser <simon.fra...@apple.com>
+
+ REGRESSION (r211845): [ios-simulator] LayoutTest compositing/masks/solid-color-masked.html is a flaky failure
+ https://bugs.webkit.org/show_bug.cgi?id=168054
+
+ Reviewed by Tim Horton.
+
+ When adding mask layers, there was an ordering dependency. There was a hack in GraphicsLayerCA::setVisibleAndCoverageRects()
+ to propagate m_intersectsCoverageRect to masks. However, if GraphicsLayerCA::setVisibleAndCoverageRects()
+ ran on the masked layer before the mask was added, nothing updated the "m_intersectsCoverageRect" state of the mask layer.
+
+ Fix by explicitly calling setVisibleAndCoverageRects() on the mask layer, passing the same rects and
+ viewport-constrained state as for its host layer (we already assume that their geometry matches).
+
+ Tested by compositing/masks/solid-color-masked.html
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::setVisibleAndCoverageRects):
+ (WebCore::GraphicsLayerCA::recursiveCommitChanges):
+
+2017-02-16 Matthew Hanson <matthew_han...@apple.com>
+
Merge r212153. rdar://problem/30467120
2017-02-10 Simon Fraser <simon.fra...@apple.com>
Modified: branches/safari-603-branch/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (212498 => 212499)
--- branches/safari-603-branch/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2017-02-17 00:56:29 UTC (rev 212498)
+++ branches/safari-603-branch/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2017-02-17 00:56:33 UTC (rev 212499)
@@ -1332,32 +1332,16 @@
if (intersectsCoverageRect != m_intersectsCoverageRect) {
m_uncommittedChanges |= CoverageRectChanged;
m_intersectsCoverageRect = intersectsCoverageRect;
-
- if (GraphicsLayerCA* maskLayer = downcast<GraphicsLayerCA>(m_maskLayer)) {
- maskLayer->m_uncommittedChanges |= CoverageRectChanged;
- maskLayer->m_intersectsCoverageRect = intersectsCoverageRect;
- }
}
if (visibleRectChanged) {
m_uncommittedChanges |= CoverageRectChanged;
m_visibleRect = rects.visibleRect;
-
- if (GraphicsLayerCA* maskLayer = downcast<GraphicsLayerCA>(m_maskLayer)) {
- // FIXME: this assumes that the mask layer has the same geometry as this layer (which is currently always true).
- maskLayer->m_uncommittedChanges |= CoverageRectChanged;
- maskLayer->m_visibleRect = rects.visibleRect;
- }
}
if (coverageRectChanged) {
m_uncommittedChanges |= CoverageRectChanged;
m_coverageRect = rects.coverageRect;
-
- if (GraphicsLayerCA* maskLayer = downcast<GraphicsLayerCA>(m_maskLayer)) {
- maskLayer->m_uncommittedChanges |= CoverageRectChanged;
- maskLayer->m_coverageRect = rects.coverageRect;
- }
}
}
@@ -1423,8 +1407,10 @@
childCommitState.ancestorIsViewportConstrained |= m_isViewportConstrained;
- if (GraphicsLayerCA* maskLayer = downcast<GraphicsLayerCA>(m_maskLayer))
+ if (GraphicsLayerCA* maskLayer = downcast<GraphicsLayerCA>(m_maskLayer)) {
+ maskLayer->setVisibleAndCoverageRects(rects, m_isViewportConstrained || commitState.ancestorIsViewportConstrained);
maskLayer->commitLayerChangesBeforeSublayers(childCommitState, pageScaleFactor, baseRelativePosition);
+ }
const Vector<GraphicsLayer*>& childLayers = children();
size_t numChildren = childLayers.size();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes