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 4419f0c5a9bc85c9c156bda820d95ee6ba10c10f..3e19a1aea51d5211fc0a03fe65a57b0aac6ba24d 100644 |
--- a/third_party/WebKit/Source/core/frame/FrameView.h |
+++ b/third_party/WebKit/Source/core/frame/FrameView.h |
@@ -62,6 +62,7 @@ class ComputedStyle; |
class DocumentLifecycle; |
class Cursor; |
class Element; |
+class ElementVisibilityObserver; |
class FloatSize; |
class HTMLFrameOwnerElement; |
class JSONArray; |
@@ -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( |
@@ -902,9 +904,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 |
@@ -946,8 +946,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; |
@@ -1029,16 +1027,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. |
@@ -1069,6 +1061,8 @@ class CORE_EXPORT FrameView final |
bool m_suppressAdjustViewSize; |
bool m_allowsLayoutInvalidationAfterLayoutClean; |
+ Member<ElementVisibilityObserver> m_visibilityObserver; |
+ |
// For testing. |
struct ObjectPaintInvalidation { |
String name; |