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

Side by Side Diff: Source/core/frame/FrameView.h

Issue 156413002: [WIP] Move layout states into the DocumentLifecycle state machine (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: uber patch Created 6 years, 10 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
« no previous file with comments | « Source/core/frame/Frame.cpp ('k') | Source/core/frame/FrameView.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 Copyright (C) 1997 Martin Jones (mjones@kde.org) 2 Copyright (C) 1997 Martin Jones (mjones@kde.org)
3 (C) 1998 Waldo Bastian (bastian@kde.org) 3 (C) 1998 Waldo Bastian (bastian@kde.org)
4 (C) 1998, 1999 Torben Weis (weis@kde.org) 4 (C) 1998, 1999 Torben Weis (weis@kde.org)
5 (C) 1999 Lars Knoll (knoll@kde.org) 5 (C) 1999 Lars Knoll (knoll@kde.org)
6 (C) 1999 Antti Koivisto (koivisto@kde.org) 6 (C) 1999 Antti Koivisto (koivisto@kde.org)
7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
8 8
9 This library is free software; you can redistribute it and/or 9 This library is free software; you can redistribute it and/or
10 modify it under the terms of the GNU Library General Public 10 modify it under the terms of the GNU Library General Public
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 virtual void setCanHaveScrollbars(bool) OVERRIDE; 80 virtual void setCanHaveScrollbars(bool) OVERRIDE;
81 81
82 virtual PassRefPtr<Scrollbar> createScrollbar(ScrollbarOrientation) OVERRIDE ; 82 virtual PassRefPtr<Scrollbar> createScrollbar(ScrollbarOrientation) OVERRIDE ;
83 83
84 virtual void setContentsSize(const IntSize&) OVERRIDE; 84 virtual void setContentsSize(const IntSize&) OVERRIDE;
85 85
86 void layout(bool allowSubtree = true); 86 void layout(bool allowSubtree = true);
87 bool didFirstLayout() const; 87 bool didFirstLayout() const;
88 void scheduleRelayout(); 88 void scheduleRelayout();
89 void scheduleRelayoutOfSubtree(RenderObject*); 89 void scheduleRelayoutOfSubtree(RenderObject*);
90 void unscheduleRelayout();
91 bool layoutPending() const; 90 bool layoutPending() const;
92 bool isInPerformLayout() const { return m_inPerformLayout; } 91 bool isInPerformLayout() const;
93 92
94 void setCanRepaintDuringPerformLayout(bool b) { m_canRepaintDuringPerformLay out = b; } 93 void setCanRepaintDuringPerformLayout(bool b) { m_canRepaintDuringPerformLay out = b; }
95 bool canRepaintDuringPerformLayout() const { return m_canRepaintDuringPerfor mLayout; } 94 bool canRepaintDuringPerformLayout() const { return m_canRepaintDuringPerfor mLayout; }
96 95
97 RenderObject* layoutRoot(bool onlyDuringLayout = false) const; 96 RenderObject* layoutRoot(bool onlyDuringLayout = false) const;
98 void clearLayoutSubtreeRoot() { m_layoutSubtreeRoot = 0; } 97 void clearLayoutSubtreeRoot() { m_layoutSubtreeRoot = 0; }
99 int layoutCount() const { return m_layoutCount; } 98 int layoutCount() const { return m_layoutCount; }
100 99
101 bool needsLayout() const; 100 bool needsLayout() const;
102 void setNeedsLayout(); 101 void setNeedsLayout();
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 void forceLayoutParentViewIfNeeded(); 347 void forceLayoutParentViewIfNeeded();
349 void performPreLayoutTasks(); 348 void performPreLayoutTasks();
350 void performLayout(RenderObject* rootForThisLayout, bool inSubtreeLayout); 349 void performLayout(RenderObject* rootForThisLayout, bool inSubtreeLayout);
351 void scheduleOrPerformPostLayoutTasks(); 350 void scheduleOrPerformPostLayoutTasks();
352 void performPostLayoutTasks(); 351 void performPostLayoutTasks();
353 352
354 void repaintTree(RenderObject* root); 353 void repaintTree(RenderObject* root);
355 354
356 void gatherDebugLayoutRects(RenderObject* layoutRoot); 355 void gatherDebugLayoutRects(RenderObject* layoutRoot);
357 356
357 DocumentLifecycle& lifecycle() const;
358
358 virtual void repaintContentRectangle(const IntRect&) OVERRIDE; 359 virtual void repaintContentRectangle(const IntRect&) OVERRIDE;
359 virtual void contentsResized() OVERRIDE; 360 virtual void contentsResized() OVERRIDE;
360 virtual void scrollbarExistenceDidChange() OVERRIDE; 361 virtual void scrollbarExistenceDidChange() OVERRIDE;
361 362
362 // Override ScrollView methods to do point conversion via renderers, in orde r to 363 // Override ScrollView methods to do point conversion via renderers, in orde r to
363 // take transforms into account. 364 // take transforms into account.
364 virtual IntRect convertToContainingView(const IntRect&) const OVERRIDE; 365 virtual IntRect convertToContainingView(const IntRect&) const OVERRIDE;
365 virtual IntRect convertFromContainingView(const IntRect&) const OVERRIDE; 366 virtual IntRect convertFromContainingView(const IntRect&) const OVERRIDE;
366 virtual IntPoint convertToContainingView(const IntPoint&) const OVERRIDE; 367 virtual IntPoint convertToContainingView(const IntPoint&) const OVERRIDE;
367 virtual IntPoint convertFromContainingView(const IntPoint&) const OVERRIDE; 368 virtual IntPoint convertFromContainingView(const IntPoint&) const OVERRIDE;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 bool isMainFrame() const; 406 bool isMainFrame() const;
406 407
407 void setLayoutSizeInternal(const IntSize&); 408 void setLayoutSizeInternal(const IntSize&);
408 409
409 bool isSubtreeLayout() const { return !!m_layoutSubtreeRoot; } 410 bool isSubtreeLayout() const { return !!m_layoutSubtreeRoot; }
410 bool repaintAllowed() const 411 bool repaintAllowed() const
411 { 412 {
412 if (!RuntimeEnabledFeatures::repaintAfterLayoutEnabled()) 413 if (!RuntimeEnabledFeatures::repaintAfterLayoutEnabled())
413 return true; 414 return true;
414 415
415 return !m_inPerformLayout || canRepaintDuringPerformLayout(); 416 return !isInPerformLayout() || canRepaintDuringPerformLayout();
416 } 417 }
417 418
418 static double s_currentFrameTimeStamp; // used for detecting decoded resourc e thrash in the cache 419 static double s_currentFrameTimeStamp; // used for detecting decoded resourc e thrash in the cache
419 static bool s_inPaintContents; 420 static bool s_inPaintContents;
420 421
421 LayoutSize m_size; 422 LayoutSize m_size;
422 423
423 typedef HashSet<RefPtr<RenderEmbeddedObject> > EmbeddedObjectSet; 424 typedef HashSet<RefPtr<RenderEmbeddedObject> > EmbeddedObjectSet;
424 EmbeddedObjectSet m_widgetUpdateSet; 425 EmbeddedObjectSet m_widgetUpdateSet;
425 426
426 // FIXME: These are just "children" of the FrameView and should be RefPtr<Wi dget> instead. 427 // FIXME: These are just "children" of the FrameView and should be RefPtr<Wi dget> instead.
427 HashSet<RefPtr<RenderWidget> > m_widgets; 428 HashSet<RefPtr<RenderWidget> > m_widgets;
428 429
429 RefPtr<Frame> m_frame; 430 RefPtr<Frame> m_frame;
430 431
431 bool m_doFullRepaint; 432 bool m_doFullRepaint;
432 433
433 bool m_canHaveScrollbars; 434 bool m_canHaveScrollbars;
434 bool m_cannotBlitToWindow; 435 bool m_cannotBlitToWindow;
435 bool m_isOverlapped; 436 bool m_isOverlapped;
436 bool m_contentIsOpaque; 437 bool m_contentIsOpaque;
437 unsigned m_slowRepaintObjectCount; 438 unsigned m_slowRepaintObjectCount;
438 439
439 bool m_hasPendingLayout; 440 bool m_hasPendingLayout;
440 bool m_delayedLayout;
441 RenderObject* m_layoutSubtreeRoot; 441 RenderObject* m_layoutSubtreeRoot;
442 442
443 bool m_layoutSchedulingEnabled; 443 bool m_layoutSchedulingEnabled;
444 bool m_inPerformLayout; 444 bool m_inPerformLayout;
445 bool m_canRepaintDuringPerformLayout; 445 bool m_canRepaintDuringPerformLayout;
446 bool m_doingPreLayoutStyleUpdate; 446 bool m_doingPreLayoutStyleUpdate;
447 bool m_inSynchronousPostLayout; 447 bool m_inSynchronousPostLayout;
448 int m_layoutCount; 448 int m_layoutCount;
449 unsigned m_nestedLayoutCount; 449 unsigned m_nestedLayoutCount;
450 Timer<FrameView> m_postLayoutTasksTimer; 450 Timer<FrameView> m_postLayoutTasksTimer;
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 m_view->setCanRepaintDuringPerformLayout(m_originalValue); 562 m_view->setCanRepaintDuringPerformLayout(m_originalValue);
563 } 563 }
564 private: 564 private:
565 FrameView* m_view; 565 FrameView* m_view;
566 bool m_originalValue; 566 bool m_originalValue;
567 }; 567 };
568 568
569 } // namespace WebCore 569 } // namespace WebCore
570 570
571 #endif // FrameView_h 571 #endif // FrameView_h
OLDNEW
« no previous file with comments | « Source/core/frame/Frame.cpp ('k') | Source/core/frame/FrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698