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

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

Issue 2401713003: Turn on render throttling for iframes with pending sheets. (Closed)
Patch Set: ojan@ cr. Created 4 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) 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 7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
8 reserved. 8 reserved.
9 9
10 This library is free software; you can redistribute it and/or 10 This library is free software; you can redistribute it and/or
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 // Returns true if this frame could potentially skip rendering and avoid 674 // Returns true if this frame could potentially skip rendering and avoid
675 // scheduling visual updates. 675 // scheduling visual updates.
676 bool canThrottleRendering() const; 676 bool canThrottleRendering() const;
677 bool isHiddenForThrottling() const { return m_hiddenForThrottling; } 677 bool isHiddenForThrottling() const { return m_hiddenForThrottling; }
678 void setupRenderThrottling(); 678 void setupRenderThrottling();
679 679
680 // For testing, run pending intersection observer notifications for this 680 // For testing, run pending intersection observer notifications for this
681 // frame. 681 // frame.
682 void updateRenderThrottlingStatusForTesting(); 682 void updateRenderThrottlingStatusForTesting();
683 683
684 void beginLifecycleUpdates();
685
684 // Paint properties for SPv2 Only. 686 // Paint properties for SPv2 Only.
685 void setPreTranslation( 687 void setPreTranslation(
686 PassRefPtr<TransformPaintPropertyNode> preTranslation) { 688 PassRefPtr<TransformPaintPropertyNode> preTranslation) {
687 m_preTranslation = preTranslation; 689 m_preTranslation = preTranslation;
688 } 690 }
689 TransformPaintPropertyNode* preTranslation() const { 691 TransformPaintPropertyNode* preTranslation() const {
690 return m_preTranslation.get(); 692 return m_preTranslation.get();
691 } 693 }
692 694
693 void setScrollTranslation( 695 void setScrollTranslation(
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 ScrollbarMode& hMode, 832 ScrollbarMode& hMode,
831 ScrollbarMode& vMode); 833 ScrollbarMode& vMode);
832 834
833 void updateCounters(); 835 void updateCounters();
834 void forceLayoutParentViewIfNeeded(); 836 void forceLayoutParentViewIfNeeded();
835 void performPreLayoutTasks(); 837 void performPreLayoutTasks();
836 void performLayout(bool inSubtreeLayout); 838 void performLayout(bool inSubtreeLayout);
837 void scheduleOrPerformPostLayoutTasks(); 839 void scheduleOrPerformPostLayoutTasks();
838 void performPostLayoutTasks(); 840 void performPostLayoutTasks();
839 841
842 void maybeRecordLoadReason();
843
840 DocumentLifecycle& lifecycle() const; 844 DocumentLifecycle& lifecycle() const;
841 845
842 void contentsResized() override; 846 void contentsResized() override;
843 void scrollbarExistenceDidChange(); 847 void scrollbarExistenceDidChange();
844 848
845 // Override Widget methods to do point conversion via layoutObjects, in order 849 // Override Widget methods to do point conversion via layoutObjects, in order
846 // to take transforms into account. 850 // to take transforms into account.
847 IntRect convertToContainingWidget(const IntRect&) const override; 851 IntRect convertToContainingWidget(const IntRect&) const override;
848 IntRect convertFromContainingWidget(const IntRect&) const override; 852 IntRect convertFromContainingWidget(const IntRect&) const override;
849 IntPoint convertToContainingWidget(const IntPoint&) const override; 853 IntPoint convertToContainingWidget(const IntPoint&) const override;
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
1039 // Exists only on root frame. 1043 // Exists only on root frame.
1040 // TODO(bokan): crbug.com/484188. We should specialize FrameView for the 1044 // TODO(bokan): crbug.com/484188. We should specialize FrameView for the
1041 // main frame. 1045 // main frame.
1042 Member<RootFrameViewport> m_viewportScrollableArea; 1046 Member<RootFrameViewport> m_viewportScrollableArea;
1043 1047
1044 // The following members control rendering pipeline throttling for this 1048 // The following members control rendering pipeline throttling for this
1045 // frame. They are only updated in response to intersection observer 1049 // frame. They are only updated in response to intersection observer
1046 // notifications, i.e., not in the middle of the lifecycle. 1050 // notifications, i.e., not in the middle of the lifecycle.
1047 bool m_hiddenForThrottling; 1051 bool m_hiddenForThrottling;
1048 bool m_subtreeThrottled; 1052 bool m_subtreeThrottled;
1053 bool m_lifecycleUpdatesThrottled;
1049 1054
1050 // Paint properties for SPv2 Only. 1055 // Paint properties for SPv2 Only.
1051 // The hierarchy of transform subtree created by a FrameView. 1056 // The hierarchy of transform subtree created by a FrameView.
1052 // [ preTranslation ] The offset from Widget::frameRect. 1057 // [ preTranslation ] The offset from Widget::frameRect.
1053 // | Establishes viewport. 1058 // | Establishes viewport.
1054 // +---[ scrollTranslation ] Frame scrolling. 1059 // +---[ scrollTranslation ] Frame scrolling.
1055 // TODO(trchen): These will not be needed once settings->rootLayerScrolls() is 1060 // TODO(trchen): These will not be needed once settings->rootLayerScrolls() is
1056 // enabled. 1061 // enabled.
1057 RefPtr<TransformPaintPropertyNode> m_preTranslation; 1062 RefPtr<TransformPaintPropertyNode> m_preTranslation;
1058 RefPtr<TransformPaintPropertyNode> m_scrollTranslation; 1063 RefPtr<TransformPaintPropertyNode> m_scrollTranslation;
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1127 widget.isFrameView()); 1132 widget.isFrameView());
1128 DEFINE_TYPE_CASTS(FrameView, 1133 DEFINE_TYPE_CASTS(FrameView,
1129 ScrollableArea, 1134 ScrollableArea,
1130 scrollableArea, 1135 scrollableArea,
1131 scrollableArea->isFrameView(), 1136 scrollableArea->isFrameView(),
1132 scrollableArea.isFrameView()); 1137 scrollableArea.isFrameView());
1133 1138
1134 } // namespace blink 1139 } // namespace blink
1135 1140
1136 #endif // FrameView_h 1141 #endif // FrameView_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/Document.cpp ('k') | third_party/WebKit/Source/core/frame/FrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698