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

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp

Issue 1413523007: Simplify computation of the invalidation rect for a frame. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved.
3 * 3 *
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
5 * 5 *
6 * Other contributors: 6 * Other contributors:
7 * Robert O'Callahan <roc+@cs.cmu.edu> 7 * Robert O'Callahan <roc+@cs.cmu.edu>
8 * David Baron <dbaron@fas.harvard.edu> 8 * David Baron <dbaron@fas.harvard.edu>
9 * Christian Biesinger <cbiesinger@web.de> 9 * Christian Biesinger <cbiesinger@web.de>
10 * Randall Jesup <rjesup@wgate.com> 10 * Randall Jesup <rjesup@wgate.com>
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 if (m_cache) 165 if (m_cache)
166 m_cache->clear(cacheSlot); 166 m_cache->clear(cacheSlot);
167 167
168 for (PaintLayer* layer = m_layoutObject.layer()->firstChild(); layer; layer = layer->nextSibling()) { 168 for (PaintLayer* layer = m_layoutObject.layer()->firstChild(); layer; layer = layer->nextSibling()) {
169 layer->clipper().clearClipRectsIncludingDescendants(cacheSlot); 169 layer->clipper().clearClipRectsIncludingDescendants(cacheSlot);
170 } 170 }
171 } 171 }
172 172
173 LayoutRect PaintLayerClipper::childrenClipRect() const 173 LayoutRect PaintLayerClipper::childrenClipRect() const
174 { 174 {
175 DisableCompositingQueryAsserts disabler;
tommycli 2015/11/03 20:10:22 Previous usage of this had this comment: // FIXME
chrishtr 2015/11/03 21:24:56 Forgot to update in the latest patchset. This meth
175 // FIXME: border-radius not accounted for. 176 // FIXME: border-radius not accounted for.
176 // FIXME: Flow thread based columns not accounted for. 177 // FIXME: Flow thread based columns not accounted for.
177 PaintLayer* clippingRootLayer = clippingRootForPainting(); 178 PaintLayer* clippingRootLayer = clippingRootForPainting();
178 LayoutRect layerBounds; 179 LayoutRect layerBounds;
179 ClipRect backgroundRect, foregroundRect; 180 ClipRect backgroundRect, foregroundRect;
180 // Need to use uncached clip rects, because the value of 'dontClipToOverflow ' may be different from the painting path (<rdar://problem/11844909>). 181 // Need to use uncached clip rects, because the value of 'dontClipToOverflow ' may be different from the painting path (<rdar://problem/11844909>).
181 ClipRectsContext context(clippingRootLayer, UncachedClipRects); 182 ClipRectsContext context(clippingRootLayer, UncachedClipRects);
182 calculateRects(context, LayoutRect(m_layoutObject.view()->unscaledDocumentRe ct()), layerBounds, backgroundRect, foregroundRect); 183 calculateRects(context, LayoutRect(m_layoutObject.view()->unscaledDocumentRe ct()), layerBounds, backgroundRect, foregroundRect);
183 return LayoutRect(clippingRootLayer->layoutObject()->localToAbsoluteQuad(Flo atQuad(FloatRect(foregroundRect.rect()))).enclosingBoundingBox()); 184 return LayoutRect(clippingRootLayer->layoutObject()->localToAbsoluteQuad(Flo atQuad(FloatRect(foregroundRect.rect()))).enclosingBoundingBox());
184 } 185 }
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 if (context.respectOverflowClip == IgnoreOverflowClip) 362 if (context.respectOverflowClip == IgnoreOverflowClip)
362 return false; 363 return false;
363 364
364 if (layer->isRootLayer() && context.respectOverflowClipForViewport == Ignore OverflowClip) 365 if (layer->isRootLayer() && context.respectOverflowClipForViewport == Ignore OverflowClip)
365 return false; 366 return false;
366 367
367 return true; 368 return true;
368 } 369 }
369 370
370 } // namespace blink 371 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698