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

Side by Side Diff: Source/core/rendering/RenderLayer.cpp

Issue 13937017: Implement lazy block layout prototype behind a runtime flag. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 8 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 unified diff | Download patch | Annotate | Revision Log
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 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 #include "core/rendering/HitTestRequest.h" 92 #include "core/rendering/HitTestRequest.h"
93 #include "core/rendering/HitTestResult.h" 93 #include "core/rendering/HitTestResult.h"
94 #include "core/rendering/HitTestingTransformState.h" 94 #include "core/rendering/HitTestingTransformState.h"
95 #include "core/rendering/OverlapTestRequestClient.h" 95 #include "core/rendering/OverlapTestRequestClient.h"
96 #include "core/rendering/RenderArena.h" 96 #include "core/rendering/RenderArena.h"
97 #include "core/rendering/RenderFlowThread.h" 97 #include "core/rendering/RenderFlowThread.h"
98 #include "core/rendering/RenderGeometryMap.h" 98 #include "core/rendering/RenderGeometryMap.h"
99 #include "core/rendering/RenderInline.h" 99 #include "core/rendering/RenderInline.h"
100 #include "core/rendering/RenderLayerBacking.h" 100 #include "core/rendering/RenderLayerBacking.h"
101 #include "core/rendering/RenderLayerCompositor.h" 101 #include "core/rendering/RenderLayerCompositor.h"
102 #include "core/rendering/RenderLazyBlock.h"
102 #include "core/rendering/RenderMarquee.h" 103 #include "core/rendering/RenderMarquee.h"
103 #include "core/rendering/RenderReplica.h" 104 #include "core/rendering/RenderReplica.h"
104 #include "core/rendering/RenderScrollbar.h" 105 #include "core/rendering/RenderScrollbar.h"
105 #include "core/rendering/RenderScrollbarPart.h" 106 #include "core/rendering/RenderScrollbarPart.h"
106 #include "core/rendering/RenderTheme.h" 107 #include "core/rendering/RenderTheme.h"
107 #include "core/rendering/RenderTreeAsText.h" 108 #include "core/rendering/RenderTreeAsText.h"
108 #include "core/rendering/RenderView.h" 109 #include "core/rendering/RenderView.h"
109 #include "core/rendering/svg/RenderSVGResourceClipper.h" 110 #include "core/rendering/svg/RenderSVGResourceClipper.h"
110 #include <wtf/MemoryInstrumentationVector.h> 111 #include <wtf/MemoryInstrumentationVector.h>
111 #include <wtf/StdLibExtras.h> 112 #include <wtf/StdLibExtras.h>
(...skipping 2221 matching lines...) Expand 10 before | Expand all | Expand 10 after
2333 // We don't update compositing layers, because we need to do a deep update f rom the compositing ancestor. 2334 // We don't update compositing layers, because we need to do a deep update f rom the compositing ancestor.
2334 bool inLayout = view ? view->frameView()->isInLayout() : false; 2335 bool inLayout = view ? view->frameView()->isInLayout() : false;
2335 if (!inLayout) { 2336 if (!inLayout) {
2336 // If we're in the middle of layout, we'll just update layers once layou t has finished. 2337 // If we're in the middle of layout, we'll just update layers once layou t has finished.
2337 updateLayerPositionsAfterOverflowScroll(); 2338 updateLayerPositionsAfterOverflowScroll();
2338 if (view) { 2339 if (view) {
2339 // Update regions, scrolling may change the clip of a particular reg ion. 2340 // Update regions, scrolling may change the clip of a particular reg ion.
2340 view->frameView()->updateAnnotatedRegions(); 2341 view->frameView()->updateAnnotatedRegions();
2341 2342
2342 view->updateWidgetPositions(); 2343 view->updateWidgetPositions();
2344
2345 view->markLazyBlocksForLayout();
ojan 2013/04/26 00:41:16 Doesn't not doing the layout here mean that paint
esprehn 2013/04/26 00:45:44 I don't think it would be any worse than if you go
jamesr 2013/04/26 00:58:03 layout() is always called on before painting in th
2343 } 2346 }
2344 2347
2345 if (!m_updatingMarqueePosition) { 2348 if (!m_updatingMarqueePosition) {
2346 // Avoid updating compositing layers if, higher on the stack, we're already updating layer 2349 // Avoid updating compositing layers if, higher on the stack, we're already updating layer
2347 // positions. Updating layer positions requires a full walk of up-to -date RenderLayers, and 2350 // positions. Updating layer positions requires a full walk of up-to -date RenderLayers, and
2348 // in this case we're still updating their positions; we'll update c ompositing layers later 2351 // in this case we're still updating their positions; we'll update c ompositing layers later
2349 // when that completes. 2352 // when that completes.
2350 updateCompositingLayersAfterScroll(); 2353 updateCompositingLayersAfterScroll();
2351 } 2354 }
2352 } 2355 }
(...skipping 4204 matching lines...) Expand 10 before | Expand all | Expand 10 after
6557 } 6560 }
6558 } 6561 }
6559 6562
6560 void showLayerTree(const WebCore::RenderObject* renderer) 6563 void showLayerTree(const WebCore::RenderObject* renderer)
6561 { 6564 {
6562 if (!renderer) 6565 if (!renderer)
6563 return; 6566 return;
6564 showLayerTree(renderer->enclosingLayer()); 6567 showLayerTree(renderer->enclosingLayer());
6565 } 6568 }
6566 #endif 6569 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698