diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/display_lock/display_lock_utilities.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/display_lock/display_lock_utilities.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/core/display_lock/display_lock_utilities.h b/chromium/third_party/blink/renderer/core/display_lock/display_lock_utilities.h index 855309e5bf8..94474471d70 100644 --- a/chromium/third_party/blink/renderer/core/display_lock/display_lock_utilities.h +++ b/chromium/third_party/blink/renderer/core/display_lock/display_lock_utilities.h @@ -8,7 +8,7 @@ #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/display_lock/display_lock_context.h" #include "third_party/blink/renderer/core/editing/ephemeral_range.h" -#include "third_party/blink/renderer/platform/wtf/allocator.h" +#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h" namespace blink { @@ -18,17 +18,20 @@ class CORE_EXPORT DisplayLockUtilities { public: // This class forces updates on display locks from the given node up the - // ancestor chain until the root. + // ancestor chain until the local frame root. class ScopedChainForcedUpdate { - STACK_ALLOCATED(); DISALLOW_COPY_AND_ASSIGN(ScopedChainForcedUpdate); public: - explicit ScopedChainForcedUpdate(const Node* node); + explicit ScopedChainForcedUpdate(const Node* node, + bool include_self = false); ~ScopedChainForcedUpdate() = default; + void CreateParentFrameScopeIfNeeded(const Node* node); + private: Vector<DisplayLockContext::ScopedForcedUpdate> scoped_update_forced_list_; + std::unique_ptr<ScopedChainForcedUpdate> parent_frame_scope_; }; // Activates all the nodes within a find-in-page match |range|. // Returns true if at least one node gets activated. |