Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(641)

Unified Diff: third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp

Issue 2238883006: SPv2: Use GeometryMapper to implement PaintLayerClipper. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: none Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp
diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp b/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp
index 4b2a832d770eea6f35d346f13a3579932cbdceb6..e7d8aa4b59f9e66f4533fa89aef752a9832d6cf5 100644
--- a/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp
@@ -147,21 +147,23 @@ void CompositingInputsUpdater::updateRecursive(PaintLayer* layer,
PaintLayer::RareAncestorDependentCompositingInputs rareProperties;
if (!layer->isRootLayer()) {
- properties.clippedAbsoluteBoundingBox =
- enclosingIntRect(m_geometryMap.absoluteRect(
- FloatRect(layer->boundingBoxForCompositingOverlapTest())));
- // FIXME: Setting the absBounds to 1x1 instead of 0x0 makes very little
- // sense, but removing this code will make JSGameBench sad.
- // See https://codereview.chromium.org/13912020/
- if (properties.clippedAbsoluteBoundingBox.isEmpty())
- properties.clippedAbsoluteBoundingBox.setSize(IntSize(1, 1));
-
- IntRect clipRect =
- pixelSnappedIntRect(layer->clipper()
- .backgroundClipRect(ClipRectsContext(
- m_rootLayer, AbsoluteClipRects))
- .rect());
- properties.clippedAbsoluteBoundingBox.intersect(clipRect);
+ if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
+ properties.clippedAbsoluteBoundingBox =
+ enclosingIntRect(m_geometryMap.absoluteRect(
+ FloatRect(layer->boundingBoxForCompositingOverlapTest())));
+ // FIXME: Setting the absBounds to 1x1 instead of 0x0 makes very little
+ // sense, but removing this code will make JSGameBench sad.
+ // See https://codereview.chromium.org/13912020/
+ if (properties.clippedAbsoluteBoundingBox.isEmpty())
+ properties.clippedAbsoluteBoundingBox.setSize(IntSize(1, 1));
+
+ IntRect clipRect =
+ pixelSnappedIntRect(layer->clipper()
+ .backgroundClipRect(ClipRectsContext(
+ m_rootLayer, AbsoluteClipRects))
+ .rect());
+ properties.clippedAbsoluteBoundingBox.intersect(clipRect);
+ }
const PaintLayer* parent = layer->parent();
rareProperties.opacityAncestor =

Powered by Google App Engine
This is Rietveld 408576698