Index: third_party/WebKit/Source/core/frame/LocalFrame.h |
diff --git a/third_party/WebKit/Source/core/frame/LocalFrame.h b/third_party/WebKit/Source/core/frame/LocalFrame.h |
index d29aea93f4fc45ca49f5bbc9166070b8e65e7dbd..01c195ec7796de6f98cfc6ff5bbd325ed7bc98d6 100644 |
--- a/third_party/WebKit/Source/core/frame/LocalFrame.h |
+++ b/third_party/WebKit/Source/core/frame/LocalFrame.h |
@@ -124,6 +124,9 @@ class CORE_EXPORT LocalFrame final : public Frame, |
void PrintNavigationWarning(const String&) override; |
bool PrepareForCommit() override; |
void DidChangeVisibilityState() override; |
+ // This sets the is_inert_ flag and also recurses through this frame's |
+ // subtree, updating the inert bit on all descendant frames. |
+ void SetIsInert(bool) override; |
void DetachChildren(); |
void DocumentAttached(); |
@@ -240,6 +243,8 @@ class CORE_EXPORT LocalFrame final : public Frame, |
std::unique_ptr<WebURLLoader> CreateURLLoader(); |
+ bool IsInert() const { return is_inert_; } |
+ |
using FrameInitCallback = void (*)(LocalFrame*); |
// Allows for the registration of a callback that is invoked whenever a new |
// LocalFrame is initialized. Callbacks are executed in the order that they |
@@ -274,6 +279,8 @@ class CORE_EXPORT LocalFrame final : public Frame, |
bool CanNavigateWithoutFramebusting(const Frame&, String& error_reason); |
+ void PropagateInertToChildFrames(); |
+ |
std::unique_ptr<WebFrameScheduler> frame_scheduler_; |
mutable FrameLoader loader_; |
@@ -300,6 +307,8 @@ class CORE_EXPORT LocalFrame final : public Frame, |
bool in_view_source_mode_; |
+ bool is_inert_; |
+ |
Member<CoreProbeSink> probe_sink_; |
Member<PerformanceMonitor> performance_monitor_; |