  template<unsigned type>
  bool shouldInvalidateNodeListCachesForAttr(const HeapHashSet<WeakMember<const LiveNodeListBase>> nodeLists[], const QualifiedName& attrName)
  {
-@@ -6001,6 +6132,7 @@ DEFINE_TRACE(Document)
-     visitor->trace(m_intersectionObserverController);
+@@ -6007,6 +6138,7 @@ DEFINE_TRACE(Document)
      visitor->trace(m_intersectionObserverData);
      visitor->trace(m_snapCoordinator);
+     visitor->trace(m_resizeObserverController);
 +    visitor->trace(m_requestedVisibility);
      Supplementable<Document>::trace(visitor);
      TreeScope::trace(visitor);
      ContainerNode::trace(visitor);
 diff --git a/third_party/WebKit/Source/core/dom/Document.h b/third_party/WebKit/Source/core/dom/Document.h
-index 21464a1..728ce17 100644
+index 6966b1f..cd383e5 100644
 --- a/third_party/WebKit/Source/core/dom/Document.h
 +++ b/third_party/WebKit/Source/core/dom/Document.h
-@@ -176,6 +176,7 @@ struct AnnotatedRegionValue;
+@@ -177,6 +177,7 @@ struct AnnotatedRegionValue;
  struct FocusParams;
  struct IconURL;
  

 void Document::enqueueUniqueAnimationFrameEvent(Event* event)
 {
     ensureScriptedAnimationController().enqueuePerFrameEvent(event);
@@ -5799,6 +5815,121 @@ bool Document::hasFocus() const
     return page() && page()->focusController().isDocumentFocused(*this);
 }
 

 using MouseEventWithHitTestResults = EventWithHitTestResults<PlatformMouseEvent>;
 using ExceptionCode = int;
 
@@ -711,6 +712,8 @@ public:
     ResizeObserverController* resizeObserverController() const { return m_resizeObserverController; }
     ResizeObserverController& ensureResizeObserverController();
 
+    VisibilityDocumentSet *requestedVisibility();
+
     void updateViewportDescription();
 
     // Returns the owning element in the parent document. Returns nullptr if
@@ -926,6 +929,7 @@ public:
     void enqueueMediaQueryChangeListeners(HeapVector<Member<MediaQueryListListener>>&);
     void enqueueVisualViewportScrollEvent();
     void enqueueVisualViewportResizeEvent();
