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

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

Issue 1209133002: Traverse into child LayoutViews during invalidateTreeIfNeeded (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: NeedsRebaselines (see previous patch set for expected test expectation changes) Created 5 years, 5 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 | « LayoutTests/fast/repaint/in-scaled-iframe-expected.txt ('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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 class HTMLFrameOwnerElement; 56 class HTMLFrameOwnerElement;
57 class LayoutPart; 57 class LayoutPart;
58 class LocalFrame; 58 class LocalFrame;
59 class KURL; 59 class KURL;
60 class Node; 60 class Node;
61 class LayoutBox; 61 class LayoutBox;
62 class LayoutEmbeddedObject; 62 class LayoutEmbeddedObject;
63 class LayoutObject; 63 class LayoutObject;
64 class LayoutScrollbarPart; 64 class LayoutScrollbarPart;
65 class LayoutView; 65 class LayoutView;
66 class PaintInvalidationState;
66 class Page; 67 class Page;
67 class ScrollingCoordinator; 68 class ScrollingCoordinator;
68 class TracedValue; 69 class TracedValue;
69 struct AnnotatedRegionValue; 70 struct AnnotatedRegionValue;
70 struct CompositedSelection; 71 struct CompositedSelection;
71 72
72 typedef unsigned long long DOMTimeStamp; 73 typedef unsigned long long DOMTimeStamp;
73 74
74 class CORE_EXPORT FrameView final : public Widget, public ScrollableArea { 75 class CORE_EXPORT FrameView final : public Widget, public ScrollableArea {
75 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(FrameView); 76 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(FrameView);
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 class InUpdateScrollbarsScope { 592 class InUpdateScrollbarsScope {
592 public: 593 public:
593 explicit InUpdateScrollbarsScope(FrameView* view) 594 explicit InUpdateScrollbarsScope(FrameView* view)
594 : m_scope(view->m_inUpdateScrollbars, true) 595 : m_scope(view->m_inUpdateScrollbars, true)
595 { } 596 { }
596 private: 597 private:
597 TemporaryChange<bool> m_scope; 598 TemporaryChange<bool> m_scope;
598 }; 599 };
599 600
600 private: 601 private:
602 friend class LayoutPart; // For invalidateTreeIfNeeded.
chrishtr 2015/07/01 19:56:51 We don't do that elsewhere, since friend classes c
Xianzhu 2015/07/01 20:10:46 Done.
603
601 explicit FrameView(LocalFrame*); 604 explicit FrameView(LocalFrame*);
602 605
603 virtual void setScrollOffset(const IntPoint&, ScrollType) override; 606 virtual void setScrollOffset(const IntPoint&, ScrollType) override;
604 virtual void setScrollOffset(const DoublePoint&, ScrollType) override; 607 virtual void setScrollOffset(const DoublePoint&, ScrollType) override;
605 608
606 void updateLayoutAndStyleForPaintingInternal(); 609 void updateLayoutAndStyleForPaintingInternal();
607 void invalidateTreeIfNeededRecursive(); 610 void invalidateTreeIfNeededRecursive();
608 void scrollContentsIfNeededRecursive(); 611 void scrollContentsIfNeededRecursive();
609 void updateLayoutAndStyleIfNeededRecursive(); 612 void updateLayoutAndStyleIfNeededRecursive();
610 613
(...skipping 12 matching lines...) Expand all
623 void applyOverflowToViewport(LayoutObject*, ScrollbarMode& hMode, ScrollbarM ode& vMode); 626 void applyOverflowToViewport(LayoutObject*, ScrollbarMode& hMode, ScrollbarM ode& vMode);
624 void updateOverflowStatus(bool horizontalOverflow, bool verticalOverflow); 627 void updateOverflowStatus(bool horizontalOverflow, bool verticalOverflow);
625 628
626 void updateCounters(); 629 void updateCounters();
627 void forceLayoutParentViewIfNeeded(); 630 void forceLayoutParentViewIfNeeded();
628 void performPreLayoutTasks(); 631 void performPreLayoutTasks();
629 void performLayout(bool inSubtreeLayout); 632 void performLayout(bool inSubtreeLayout);
630 void scheduleOrPerformPostLayoutTasks(); 633 void scheduleOrPerformPostLayoutTasks();
631 void performPostLayoutTasks(); 634 void performPostLayoutTasks();
632 635
633 void invalidateTreeIfNeeded(Vector<LayoutObject*>& pendingDelayedPaintInvali dations); 636 void invalidateTreeIfNeeded(PaintInvalidationState&);
634 637
635 DocumentLifecycle& lifecycle() const; 638 DocumentLifecycle& lifecycle() const;
636 639
637 void contentRectangleForPaintInvalidation(const IntRect&); 640 void contentRectangleForPaintInvalidation(const IntRect&);
638 virtual void contentsResized() override; 641 virtual void contentsResized() override;
639 void scrollbarExistenceDidChange(); 642 void scrollbarExistenceDidChange();
640 643
641 // Override Widget methods to do point conversion via layoutObjects, in orde r to 644 // Override Widget methods to do point conversion via layoutObjects, in orde r to
642 // take transforms into account. 645 // take transforms into account.
643 virtual IntRect convertToContainingView(const IntRect&) const override; 646 virtual IntRect convertToContainingView(const IntRect&) const override;
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
867 static const unsigned visualPixelThreshold = 32 * 32; 870 static const unsigned visualPixelThreshold = 32 * 32;
868 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) 871 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold)
869 setIsVisuallyNonEmpty(); 872 setIsVisuallyNonEmpty();
870 } 873 }
871 874
872 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView()); 875 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView());
873 876
874 } // namespace blink 877 } // namespace blink
875 878
876 #endif // FrameView_h 879 #endif // FrameView_h
OLDNEW
« no previous file with comments | « LayoutTests/fast/repaint/in-scaled-iframe-expected.txt ('k') | Source/core/frame/FrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698