diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/locks/lock.h')
-rw-r--r-- | chromium/third_party/blink/renderer/modules/locks/lock.h | 22 |
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. |