summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/locks/lock.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/locks/lock.h')
-rw-r--r--chromium/third_party/blink/renderer/modules/locks/lock.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/chromium/third_party/blink/renderer/modules/locks/lock.h b/chromium/third_party/blink/renderer/modules/locks/lock.h
index 9578c2d894c..6851d710382 100644
--- a/chromium/third_party/blink/renderer/modules/locks/lock.h
+++ b/chromium/third_party/blink/renderer/modules/locks/lock.h
@@ -6,8 +6,10 @@
#define THIRD_PARTY_BLINK_RENDERER_MODULES_LOCKS_LOCK_H_
#include "mojo/public/cpp/bindings/associated_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
+#include "third_party/blink/public/mojom/feature_observer/feature_observer.mojom-blink.h"
#include "third_party/blink/public/mojom/locks/lock_manager.mojom-blink.h"
-#include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
+#include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
#include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
#include "third_party/blink/renderer/platform/heap/handle.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
@@ -20,25 +22,21 @@ class ScriptPromise;
class ScriptPromiseResolver;
class ScriptState;
-class Lock final : public ScriptWrappable, public ContextLifecycleObserver {
+class Lock final : public ScriptWrappable,
+ public ExecutionContextLifecycleObserver {
DEFINE_WRAPPERTYPEINFO();
USING_GARBAGE_COLLECTED_MIXIN(Lock);
USING_PRE_FINALIZER(Lock, Dispose);
public:
- static Lock* Create(ScriptState*,
- const String& name,
- mojom::blink::LockMode,
- mojo::PendingAssociatedRemote<mojom::blink::LockHandle>,
- LockManager*);
-
Lock(ScriptState*,
const String& name,
mojom::blink::LockMode,
mojo::PendingAssociatedRemote<mojom::blink::LockHandle>,
+ mojo::PendingRemote<mojom::blink::ObservedFeature>,
LockManager*);
~Lock() override;
- void Trace(blink::Visitor*) override;
+ void Trace(Visitor*) override;
void Dispose();
@@ -46,8 +44,8 @@ class Lock final : public ScriptWrappable, public ContextLifecycleObserver {
String name() const { return name_; }
String mode() const;
- // ContextLifecycleObserver
- void ContextDestroyed(ExecutionContext*) override;
+ // ExecutionContextLifecycleObserver
+ void ContextDestroyed() override;
// The lock is held until the passed promise resolves. When it is released,
// the passed resolver is invoked with the promise's result.
@@ -72,6 +70,8 @@ class Lock final : public ScriptWrappable, public ContextLifecycleObserver {
// the lock is released by the back end.
mojo::AssociatedRemote<mojom::blink::LockHandle> handle_;
+ mojo::Remote<mojom::blink::ObservedFeature> lock_lifetime_;
+
// LockManager::OnLockReleased() is called when this lock is released, to
// stop artificially keeping this instance alive. It is necessary in the
// case where the resolver's promise could potentially be GC'd.