summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/display_lock/display_lock_utilities.h
diff options
context:
space:
mode:
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.h11
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.