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

Side by Side Diff: Source/core/rendering/RenderView.h

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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2006 Apple Computer, Inc. 3 * Copyright (C) 2006 Apple Computer, Inc.
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 14 matching lines...) Expand all
25 #include "core/page/FrameView.h" 25 #include "core/page/FrameView.h"
26 #include "core/platform/PODFreeListArena.h" 26 #include "core/platform/PODFreeListArena.h"
27 #include "core/rendering/LayoutState.h" 27 #include "core/rendering/LayoutState.h"
28 #include "core/rendering/RenderBlock.h" 28 #include "core/rendering/RenderBlock.h"
29 #include <wtf/OwnPtr.h> 29 #include <wtf/OwnPtr.h>
30 30
31 namespace WebCore { 31 namespace WebCore {
32 32
33 class FlowThreadController; 33 class FlowThreadController;
34 class RenderLayerCompositor; 34 class RenderLayerCompositor;
35 class RenderLazyBlock;
35 class RenderQuote; 36 class RenderQuote;
36 class RenderWidget; 37 class RenderWidget;
37 38
38 #if USE(3D_GRAPHICS) 39 #if USE(3D_GRAPHICS)
39 class CustomFilterGlobalContext; 40 class CustomFilterGlobalContext;
40 #endif 41 #endif
41 42
42 class RenderView FINAL : public RenderBlock { 43 class RenderView FINAL : public RenderBlock {
43 public: 44 public:
44 explicit RenderView(Document*); 45 explicit RenderView(Document*);
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 197
197 void styleDidChange(StyleDifference, const RenderStyle* oldStyle); 198 void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
198 199
199 IntervalArena* intervalArena(); 200 IntervalArena* intervalArena();
200 201
201 IntSize viewportSize() const { return document()->viewportSize(); } 202 IntSize viewportSize() const { return document()->viewportSize(); }
202 203
203 void setRenderQuoteHead(RenderQuote* head) { m_renderQuoteHead = head; } 204 void setRenderQuoteHead(RenderQuote* head) { m_renderQuoteHead = head; }
204 RenderQuote* renderQuoteHead() const { return m_renderQuoteHead; } 205 RenderQuote* renderQuoteHead() const { return m_renderQuoteHead; }
205 206
207 void setFirstLazyBlock(RenderLazyBlock* block) { m_firstLazyBlock = block; }
208 RenderLazyBlock* firstLazyBlock() const { return m_firstLazyBlock; }
209 void markLazyBlocksForLayout();
210
206 // FIXME: This is a work around because the current implementation of counte rs 211 // FIXME: This is a work around because the current implementation of counte rs
207 // requires walking the entire tree repeatedly and most pages don't actually use either 212 // requires walking the entire tree repeatedly and most pages don't actually use either
208 // feature so we shouldn't take the performance hit when not needed. Long te rm we should 213 // feature so we shouldn't take the performance hit when not needed. Long te rm we should
209 // rewrite the counter and quotes code. 214 // rewrite the counter and quotes code.
210 void addRenderCounter() { m_renderCounterCount++; } 215 void addRenderCounter() { m_renderCounterCount++; }
211 void removeRenderCounter() { ASSERT(m_renderCounterCount > 0); m_renderCount erCount--; } 216 void removeRenderCounter() { ASSERT(m_renderCounterCount > 0); m_renderCount erCount--; }
212 bool hasRenderCounters() { return m_renderCounterCount; } 217 bool hasRenderCounters() { return m_renderCounterCount; }
213 218
214 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) OVERRIDE; 219 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) OVERRIDE;
215 220
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 bool m_pageLogicalHeightChanged; 316 bool m_pageLogicalHeightChanged;
312 LayoutState* m_layoutState; 317 LayoutState* m_layoutState;
313 unsigned m_layoutStateDisableCount; 318 unsigned m_layoutStateDisableCount;
314 OwnPtr<RenderLayerCompositor> m_compositor; 319 OwnPtr<RenderLayerCompositor> m_compositor;
315 #if USE(3D_GRAPHICS) 320 #if USE(3D_GRAPHICS)
316 OwnPtr<CustomFilterGlobalContext> m_customFilterGlobalContext; 321 OwnPtr<CustomFilterGlobalContext> m_customFilterGlobalContext;
317 #endif 322 #endif
318 OwnPtr<FlowThreadController> m_flowThreadController; 323 OwnPtr<FlowThreadController> m_flowThreadController;
319 RefPtr<IntervalArena> m_intervalArena; 324 RefPtr<IntervalArena> m_intervalArena;
320 325
326 RenderLazyBlock* m_firstLazyBlock;
321 RenderQuote* m_renderQuoteHead; 327 RenderQuote* m_renderQuoteHead;
322 unsigned m_renderCounterCount; 328 unsigned m_renderCounterCount;
323 }; 329 };
324 330
325 inline RenderView* toRenderView(RenderObject* object) 331 inline RenderView* toRenderView(RenderObject* object)
326 { 332 {
327 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isRenderView()); 333 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isRenderView());
328 return static_cast<RenderView*>(object); 334 return static_cast<RenderView*>(object);
329 } 335 }
330 336
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 RenderObject::FlowThreadState m_flowThreadState; 441 RenderObject::FlowThreadState m_flowThreadState;
436 bool m_fragmenting; 442 bool m_fragmenting;
437 #ifndef NDEBUG 443 #ifndef NDEBUG
438 LayoutState* m_layoutState; 444 LayoutState* m_layoutState;
439 #endif 445 #endif
440 }; 446 };
441 447
442 } // namespace WebCore 448 } // namespace WebCore
443 449
444 #endif // RenderView_h 450 #endif // RenderView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698