diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/loader/private/prerender_handle.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/loader/private/prerender_handle.h | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/chromium/third_party/blink/renderer/core/loader/private/prerender_handle.h b/chromium/third_party/blink/renderer/core/loader/private/prerender_handle.h index b9d4a97460a..18df853e178 100644 --- a/chromium/third_party/blink/renderer/core/loader/private/prerender_handle.h +++ b/chromium/third_party/blink/renderer/core/loader/private/prerender_handle.h @@ -33,18 +33,21 @@ #include "base/macros.h" #include "base/memory/scoped_refptr.h" -#include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h" +#include "base/util/type_safety/pass_key.h" +#include "mojo/public/cpp/bindings/remote.h" +#include "third_party/blink/public/mojom/prerender/prerender.mojom-blink.h" +#include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h" #include "third_party/blink/renderer/platform/heap/handle.h" #include "third_party/blink/renderer/platform/weborigin/kurl.h" namespace blink { class Document; -class Prerender; class PrerenderClient; class PrerenderHandle final : public GarbageCollected<PrerenderHandle>, - public ContextLifecycleObserver { + public ExecutionContextLifecycleObserver, + public mojom::blink::PrerenderHandleClient { USING_GARBAGE_COLLECTED_MIXIN(PrerenderHandle); USING_PRE_FINALIZER(PrerenderHandle, Dispose); @@ -54,22 +57,37 @@ class PrerenderHandle final : public GarbageCollected<PrerenderHandle>, const KURL&, unsigned prerender_rel_types); - PrerenderHandle(Document&, Prerender*); - virtual ~PrerenderHandle(); + using PassKey = util::PassKey<PrerenderHandle>; + PrerenderHandle(PassKey, + Document&, + PrerenderClient*, + const KURL&, + mojo::Remote<mojom::blink::PrerenderHandle>, + mojo::PendingReceiver<mojom::blink::PrerenderHandleClient>); + ~PrerenderHandle() override; void Dispose(); void Cancel(); const KURL& Url() const; - // ContextLifecycleObserver: - void ContextDestroyed(ExecutionContext*) override; + // ExecutionContextLifecycleObserver: + void ContextDestroyed() override; - void Trace(blink::Visitor*) override; + // mojom::blink::PrerenderHandleClient: + void OnPrerenderStart() override; + void OnPrerenderStopLoading() override; + void OnPrerenderDomContentLoaded() override; + void OnPrerenderStop() override; + + void Trace(Visitor*) override; private: void Detach(); - Member<Prerender> prerender_; + KURL url_; + WeakMember<PrerenderClient> client_; + mojo::Remote<mojom::blink::PrerenderHandle> remote_handle_; + mojo::Receiver<mojom::blink::PrerenderHandleClient> receiver_; DISALLOW_COPY_AND_ASSIGN(PrerenderHandle); }; |