Index: third_party/WebKit/Source/core/dom/Document.cpp |
diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp |
index fd0f51ca7d38f92ec8bf9f4d8e17b4cd052e75c0..0c4358f0011424d7a91626c76919513d6b77f33d 100644 |
--- a/third_party/WebKit/Source/core/dom/Document.cpp |
+++ b/third_party/WebKit/Source/core/dom/Document.cpp |
@@ -83,6 +83,7 @@ |
#include "core/dom/IntersectionObserverController.h" |
#include "core/dom/LayoutTreeBuilderTraversal.h" |
#include "core/dom/LiveNodeList.h" |
+#include "core/dom/MediaIPHManager.h" |
#include "core/dom/MutationObserver.h" |
#include "core/dom/NodeChildRemovalTracker.h" |
#include "core/dom/NodeComputedStyle.h" |
@@ -2304,6 +2305,8 @@ void Document::LayoutUpdated() { |
} |
root_scroller_controller_->DidUpdateLayout(); |
+ if (media_iph_manager_) |
+ media_iph_manager_->LayoutUpdated(); |
} |
void Document::ClearFocusedElementSoon() { |
@@ -2677,6 +2680,8 @@ void Document::Shutdown() { |
// should be renamed, or this setting of the frame to 0 could be made |
// explicit in each of the callers of Document::detachLayoutTree(). |
frame_ = nullptr; |
+ |
+ media_iph_manager_ = nullptr; |
} |
void Document::RemoveAllEventListeners() { |
@@ -6794,6 +6799,17 @@ CoreProbeSink* Document::GetProbeSink() { |
return probe::ToCoreProbeSink(frame); |
} |
+MediaIPHManager* Document::GetMediaIPHManager() { |
+ if (!media_iph_manager_ && GetFrame()) { |
+ std::unique_ptr<WebMediaIPH> media_iph( |
+ GetFrame()->GetPage()->GetChromeClient().CreateWebMediaIPH(GetFrame())); |
+ if (media_iph) |
+ media_iph_manager_ = MediaIPHManager::Create(std::move(media_iph)); |
+ } |
+ |
+ return media_iph_manager_; |
+} |
+ |
DEFINE_TRACE(Document) { |
visitor->Trace(imports_controller_); |
visitor->Trace(doc_type_); |
@@ -6850,6 +6866,7 @@ DEFINE_TRACE(Document) { |
visitor->Trace(resize_observer_controller_); |
visitor->Trace(property_registry_); |
visitor->Trace(network_state_observer_); |
+ visitor->Trace(media_iph_manager_); |
Supplementable<Document>::Trace(visitor); |
TreeScope::Trace(visitor); |
ContainerNode::Trace(visitor); |