Index: third_party/WebKit/Source/core/frame/FrameView.h |
diff --git a/third_party/WebKit/Source/core/frame/FrameView.h b/third_party/WebKit/Source/core/frame/FrameView.h |
index b07546a6bf4dd190c9e3cf0bfa2ad4a15e8d81e7..d13d6a2ef407e0dacbb2c8d410ac8f21e0c2b454 100644 |
--- a/third_party/WebKit/Source/core/frame/FrameView.h |
+++ b/third_party/WebKit/Source/core/frame/FrameView.h |
@@ -63,6 +63,7 @@ class ComputedStyle; |
class DocumentLifecycle; |
class Cursor; |
class Element; |
+class ElementVisibilityObserver; |
class FloatSize; |
class JSONArray; |
class JSONObject; |
@@ -675,10 +676,11 @@ class CORE_EXPORT FrameView final |
// scheduling visual updates. |
bool canThrottleRendering() const; |
bool isHiddenForThrottling() const { return m_hiddenForThrottling; } |
+ void setupRenderThrottling(); |
// For testing, run pending intersection observer notifications for this |
// frame. |
- void notifyRenderThrottlingObserversForTesting(); |
+ void updateRenderThrottlingStatusForTesting(); |
// Paint properties for SPv2 Only. |
void setPreTranslation( |
@@ -919,9 +921,7 @@ class CORE_EXPORT FrameView final |
void setNeedsUpdateViewportIntersection(); |
void updateViewportIntersectionsForSubtree( |
DocumentLifecycle::LifecycleState targetState); |
- void updateViewportIntersectionIfNeeded(); |
- void notifyRenderThrottlingObservers(); |
- void updateThrottlingStatus(); |
+ void updateRenderThrottlingStatus(bool hidden, bool subtreeThrottled); |
void notifyResizeObservers(); |
// PaintInvalidationCapableScrollableArea |
@@ -963,8 +963,6 @@ class CORE_EXPORT FrameView final |
unsigned m_nestedLayoutCount; |
Timer<FrameView> m_postLayoutTasksTimer; |
Timer<FrameView> m_updateWidgetsTimer; |
- std::unique_ptr<CancellableTaskFactory> |
- m_renderThrottlingObserverNotificationFactory; |
bool m_firstLayout; |
bool m_isTransparent; |
@@ -1044,16 +1042,10 @@ class CORE_EXPORT FrameView final |
// main frame. |
Member<RootFrameViewport> m_viewportScrollableArea; |
- // This frame's bounds in the root frame's content coordinates, clipped |
- // recursively through every ancestor view. |
- IntRect m_viewportIntersection; |
- bool m_viewportIntersectionValid; |
- |
// The following members control rendering pipeline throttling for this |
// frame. They are only updated in response to intersection observer |
// notifications, i.e., not in the middle of the lifecycle. |
bool m_hiddenForThrottling; |
- bool m_crossOriginForThrottling; |
bool m_subtreeThrottled; |
// Paint properties for SPv2 Only. |
@@ -1090,6 +1082,8 @@ class CORE_EXPORT FrameView final |
bool m_suppressAdjustViewSize; |
bool m_allowsLayoutInvalidationAfterLayoutClean; |
+ Member<ElementVisibilityObserver> m_visibilityObserver; |
+ |
// For testing. |
struct ObjectPaintInvalidation { |
String name; |