| Index: Source/core/layout/LayoutView.h | 
| diff --git a/Source/core/layout/LayoutView.h b/Source/core/layout/LayoutView.h | 
| index 87144aafcac754b76dd2ed9db94ce07488a378c5..a0f8ac1e0e1320ac0768784cf5be65fd932ca587 100644 | 
| --- a/Source/core/layout/LayoutView.h | 
| +++ b/Source/core/layout/LayoutView.h | 
| @@ -40,6 +40,7 @@ namespace blink { | 
|  | 
| class DeprecatedPaintLayerCompositor; | 
| class LayoutQuote; | 
| +class LayoutMedia; | 
|  | 
| // The root of the layout tree, corresponding to the CSS initial containing block. | 
| // It's dimensions match that of the logical viewport (which may be different from | 
| @@ -186,6 +187,15 @@ public: | 
| // It is very likely you do not want to call this method. | 
| void setShouldDoFullPaintInvalidationForViewAndAllDescendants(); | 
|  | 
| +    // Some LayoutMedias want to know about their viewport visibility for | 
| +    // crbug.com/487345,402044 .  This facility will be removed once those | 
| +    // experiments complete. | 
| +    void registerMediaForPositionChangeNotification(LayoutMedia*); | 
| +    void unregisterMediaForPositionChangeNotification(LayoutMedia*); | 
| +    // Notify all registered LayoutMedias that their position on-screen might | 
| +    // have changed. | 
| +    void sendMediaPositionChangeNotifications(); | 
| + | 
| private: | 
| void mapLocalToContainer(const LayoutBoxModelObject* paintInvalidationContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr, const PaintInvalidationState* = nullptr) const override; | 
|  | 
| @@ -226,6 +236,8 @@ private: | 
| unsigned m_hitTestCount; | 
| unsigned m_hitTestCacheHits; | 
| OwnPtrWillBePersistent<HitTestCache> m_hitTestCache; | 
| + | 
| +    Vector<LayoutMedia*> m_mediaForPositionNotification; | 
| }; | 
|  | 
| DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutView, isLayoutView()); | 
|  |