Commit 589b9fbe authored by Hiroki Nakagawa's avatar Hiroki Nakagawa Committed by Commit Bot

Prerender: Rename PrerenderHandleClient to PrerenderProcessorClient

This is a follow-up CL for https://crrev.com/c/2413830. After the CL,
mojom::PrerenderHandleClient was the client of mojom::PrerenderProcessor
so that should have been renamed to mojom::PrerenderProcessorClient.

Bug: 1132746
Change-Id: Ia55cbf2f0e248baf3f172caeccbd29be18f3f614
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2434071Reviewed-by: default avatarRobert Ogden <robertogden@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#811386}
parent af403921
...@@ -407,7 +407,7 @@ class NoStatePrefetchBrowserTest ...@@ -407,7 +407,7 @@ class NoStatePrefetchBrowserTest
} }
// Synchronization note: The IPCs used to communicate DOM events back to the // Synchronization note: The IPCs used to communicate DOM events back to the
// referring web page (see blink::mojom::PrerenderHandleClient) may race w/ // referring web page (see blink::mojom::PrerenderProcessorClient) may race w/
// the IPCs used here to inject script. The WaitFor* variants should be used // the IPCs used here to inject script. The WaitFor* variants should be used
// when an event was expected to happen or to happen soon. // when an event was expected to happen or to happen soon.
......
...@@ -68,12 +68,13 @@ class UnitTestPrerenderManager; ...@@ -68,12 +68,13 @@ class UnitTestPrerenderManager;
namespace { namespace {
class DummyPrerenderHandleClient : public blink::mojom::PrerenderHandleClient { class DummyPrerenderProcessorClient
: public blink::mojom::PrerenderProcessorClient {
public: public:
DummyPrerenderHandleClient() = default; DummyPrerenderProcessorClient() = default;
~DummyPrerenderHandleClient() override = default; ~DummyPrerenderProcessorClient() override = default;
// blink::mojom::PrerenderHandleClient implementation // blink::mojom::PrerenderProcessorClient implementation
void OnPrerenderStart() override {} void OnPrerenderStart() override {}
void OnPrerenderStopLoading() override {} void OnPrerenderStopLoading() override {}
void OnPrerenderDomContentLoaded() override {} void OnPrerenderDomContentLoaded() override {}
...@@ -406,15 +407,16 @@ class PrerenderTest : public testing::Test { ...@@ -406,15 +407,16 @@ class PrerenderTest : public testing::Test {
attributes->initiator_origin = url::Origin::Create(initiator_url); attributes->initiator_origin = url::Origin::Create(initiator_url);
attributes->view_size = kDefaultViewSize; attributes->view_size = kDefaultViewSize;
mojo::PendingRemote<blink::mojom::PrerenderHandleClient> handle_client; mojo::PendingRemote<blink::mojom::PrerenderProcessorClient>
clients_.Add(std::make_unique<DummyPrerenderHandleClient>(), processor_client;
handle_client.InitWithNewPipeAndPassReceiver()); clients_.Add(std::make_unique<DummyPrerenderProcessorClient>(),
processor_client.InitWithNewPipeAndPassReceiver());
// This could delete an existing prerender as a side-effect. // This could delete an existing prerender as a side-effect.
base::Optional<int> prerender_id = base::Optional<int> prerender_id =
prerender_link_manager()->OnStartPrerender( prerender_link_manager()->OnStartPrerender(
render_process_id, render_view_id, std::move(attributes), render_process_id, render_view_id, std::move(attributes),
std::move(handle_client)); std::move(processor_client));
// Check if the new prerender request was added and running. // Check if the new prerender request was added and running.
return prerender_id && LastPrerenderIsRunning(); return prerender_id && LastPrerenderIsRunning();
...@@ -473,7 +475,7 @@ class PrerenderTest : public testing::Test { ...@@ -473,7 +475,7 @@ class PrerenderTest : public testing::Test {
chrome_browser_net::NETWORK_PREDICTION_ALWAYS); chrome_browser_net::NETWORK_PREDICTION_ALWAYS);
} }
void DisconnectAllPrerenderHandleClients() { clients_.Clear(); } void DisconnectAllPrerenderProcessorClients() { clients_.Clear(); }
const base::HistogramTester& histogram_tester() { return histogram_tester_; } const base::HistogramTester& histogram_tester() { return histogram_tester_; }
...@@ -486,7 +488,7 @@ class PrerenderTest : public testing::Test { ...@@ -486,7 +488,7 @@ class PrerenderTest : public testing::Test {
std::unique_ptr<UnitTestPrerenderManager> prerender_manager_; std::unique_ptr<UnitTestPrerenderManager> prerender_manager_;
std::unique_ptr<PrerenderLinkManager> prerender_link_manager_; std::unique_ptr<PrerenderLinkManager> prerender_link_manager_;
base::HistogramTester histogram_tester_; base::HistogramTester histogram_tester_;
mojo::UniqueReceiverSet<blink::mojom::PrerenderHandleClient> clients_; mojo::UniqueReceiverSet<blink::mojom::PrerenderProcessorClient> clients_;
// Restore prerender mode after this test finishes running. // Restore prerender mode after this test finishes running.
test_utils::RestorePrerenderMode restore_prerender_mode_; test_utils::RestorePrerenderMode restore_prerender_mode_;
...@@ -1599,7 +1601,7 @@ TEST_F(PrerenderTest, LinkManagerRendererDisconnect) { ...@@ -1599,7 +1601,7 @@ TEST_F(PrerenderTest, LinkManagerRendererDisconnect) {
// Disconnect all clients. Spin the run loop to give the link manager // Disconnect all clients. Spin the run loop to give the link manager
// opportunity to detect disconnection. // opportunity to detect disconnection.
DisconnectAllPrerenderHandleClients(); DisconnectAllPrerenderProcessorClients();
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
tick_clock()->Advance(prerender_manager()->config().abandon_time_to_live + tick_clock()->Advance(prerender_manager()->config().abandon_time_to_live +
......
...@@ -52,7 +52,8 @@ PrerenderLinkManager::LinkPrerender::LinkPrerender( ...@@ -52,7 +52,8 @@ PrerenderLinkManager::LinkPrerender::LinkPrerender(
int launcher_render_process_id, int launcher_render_process_id,
int launcher_render_view_id, int launcher_render_view_id,
blink::mojom::PrerenderAttributesPtr attributes, blink::mojom::PrerenderAttributesPtr attributes,
mojo::PendingRemote<blink::mojom::PrerenderHandleClient> handle_client, mojo::PendingRemote<blink::mojom::PrerenderProcessorClient>
processor_client,
base::TimeTicks creation_time, base::TimeTicks creation_time,
PrerenderContents* deferred_launcher) PrerenderContents* deferred_launcher)
: launcher_render_process_id(launcher_render_process_id), : launcher_render_process_id(launcher_render_process_id),
...@@ -62,7 +63,7 @@ PrerenderLinkManager::LinkPrerender::LinkPrerender( ...@@ -62,7 +63,7 @@ PrerenderLinkManager::LinkPrerender::LinkPrerender(
referrer(content::Referrer(*attributes->referrer)), referrer(content::Referrer(*attributes->referrer)),
initiator_origin(attributes->initiator_origin), initiator_origin(attributes->initiator_origin),
size(attributes->view_size), size(attributes->view_size),
remote_handle_client(std::move(handle_client)), remote_processor_client(std::move(processor_client)),
creation_time(creation_time), creation_time(creation_time),
deferred_launcher(deferred_launcher), deferred_launcher(deferred_launcher),
has_been_abandoned(false), has_been_abandoned(false),
...@@ -91,7 +92,8 @@ base::Optional<int> PrerenderLinkManager::OnStartPrerender( ...@@ -91,7 +92,8 @@ base::Optional<int> PrerenderLinkManager::OnStartPrerender(
int launcher_render_process_id, int launcher_render_process_id,
int launcher_render_view_id, int launcher_render_view_id,
blink::mojom::PrerenderAttributesPtr attributes, blink::mojom::PrerenderAttributesPtr attributes,
mojo::PendingRemote<blink::mojom::PrerenderHandleClient> handle_client) { mojo::PendingRemote<blink::mojom::PrerenderProcessorClient>
processor_client) {
// TODO(crbug.com/722453): Use a dedicated build flag for GuestView. // TODO(crbug.com/722453): Use a dedicated build flag for GuestView.
#if !defined(OS_ANDROID) && !defined(OS_IOS) && !defined(OS_FUCHSIA) #if !defined(OS_ANDROID) && !defined(OS_IOS) && !defined(OS_FUCHSIA)
content::RenderViewHost* rvh = content::RenderViewHost::FromID( content::RenderViewHost* rvh = content::RenderViewHost::FromID(
...@@ -118,13 +120,13 @@ base::Optional<int> PrerenderLinkManager::OnStartPrerender( ...@@ -118,13 +120,13 @@ base::Optional<int> PrerenderLinkManager::OnStartPrerender(
auto prerender = std::make_unique<LinkPrerender>( auto prerender = std::make_unique<LinkPrerender>(
launcher_render_process_id, launcher_render_view_id, launcher_render_process_id, launcher_render_view_id,
std::move(attributes), std::move(handle_client), std::move(attributes), std::move(processor_client),
manager_->GetCurrentTimeTicks(), prerender_contents); manager_->GetCurrentTimeTicks(), prerender_contents);
// Observe disconnect of the client and treat as equivalent to explicit // Observe disconnect of the client and treat as equivalent to explicit
// abandonment. Similar to above, the raw pointer to |this| is safe because // abandonment. Similar to above, the raw pointer to |this| is safe because
// |prerender| is owned by |this|. // |prerender| is owned by |this|.
prerender->remote_handle_client.set_disconnect_handler( prerender->remote_processor_client.set_disconnect_handler(
base::BindOnce(&PrerenderLinkManager::OnAbandonPrerender, base::BindOnce(&PrerenderLinkManager::OnAbandonPrerender,
base::Unretained(this), prerender->prerender_id)); base::Unretained(this), prerender->prerender_id));
...@@ -290,7 +292,7 @@ void PrerenderLinkManager::StartPrerenders() { ...@@ -290,7 +292,7 @@ void PrerenderLinkManager::StartPrerenders() {
running_launcher_and_render_view_routes.insert( running_launcher_and_render_view_routes.insert(
launcher_and_render_view_route); launcher_and_render_view_route);
} else { } else {
pending_prerender->remote_handle_client->OnPrerenderStop(); pending_prerender->remote_processor_client->OnPrerenderStop();
prerenders_.erase(it); prerenders_.erase(it);
} }
} }
...@@ -354,7 +356,7 @@ void PrerenderLinkManager::OnPrerenderStart(PrerenderHandle* prerender_handle) { ...@@ -354,7 +356,7 @@ void PrerenderLinkManager::OnPrerenderStart(PrerenderHandle* prerender_handle) {
if (!prerender) if (!prerender)
return; return;
prerender->remote_handle_client->OnPrerenderStart(); prerender->remote_processor_client->OnPrerenderStart();
} }
void PrerenderLinkManager::OnPrerenderStopLoading( void PrerenderLinkManager::OnPrerenderStopLoading(
...@@ -363,7 +365,7 @@ void PrerenderLinkManager::OnPrerenderStopLoading( ...@@ -363,7 +365,7 @@ void PrerenderLinkManager::OnPrerenderStopLoading(
if (!prerender) if (!prerender)
return; return;
prerender->remote_handle_client->OnPrerenderStopLoading(); prerender->remote_processor_client->OnPrerenderStopLoading();
} }
void PrerenderLinkManager::OnPrerenderDomContentLoaded( void PrerenderLinkManager::OnPrerenderDomContentLoaded(
...@@ -372,7 +374,7 @@ void PrerenderLinkManager::OnPrerenderDomContentLoaded( ...@@ -372,7 +374,7 @@ void PrerenderLinkManager::OnPrerenderDomContentLoaded(
if (!prerender) if (!prerender)
return; return;
prerender->remote_handle_client->OnPrerenderDomContentLoaded(); prerender->remote_processor_client->OnPrerenderDomContentLoaded();
} }
void PrerenderLinkManager::OnPrerenderStop(PrerenderHandle* prerender_handle) { void PrerenderLinkManager::OnPrerenderStop(PrerenderHandle* prerender_handle) {
...@@ -380,7 +382,7 @@ void PrerenderLinkManager::OnPrerenderStop(PrerenderHandle* prerender_handle) { ...@@ -380,7 +382,7 @@ void PrerenderLinkManager::OnPrerenderStop(PrerenderHandle* prerender_handle) {
if (!prerender) if (!prerender)
return; return;
prerender->remote_handle_client->OnPrerenderStop(); prerender->remote_processor_client->OnPrerenderStop();
RemovePrerender(prerender); RemovePrerender(prerender);
StartPrerenders(); StartPrerenders();
......
...@@ -44,7 +44,8 @@ class PrerenderLinkManager : public KeyedService, ...@@ -44,7 +44,8 @@ class PrerenderLinkManager : public KeyedService,
int launcher_render_process_id, int launcher_render_process_id,
int launcher_render_view_id, int launcher_render_view_id,
blink::mojom::PrerenderAttributesPtr attributes, blink::mojom::PrerenderAttributesPtr attributes,
mojo::PendingRemote<blink::mojom::PrerenderHandleClient> handle_client); mojo::PendingRemote<blink::mojom::PrerenderProcessorClient>
processor_client);
// Called when a <link rel=prerender ...> element has been explicitly removed // Called when a <link rel=prerender ...> element has been explicitly removed
// from a document. // from a document.
...@@ -66,11 +67,11 @@ class PrerenderLinkManager : public KeyedService, ...@@ -66,11 +67,11 @@ class PrerenderLinkManager : public KeyedService,
// Used to store state about a requested prerender. // Used to store state about a requested prerender.
struct LinkPrerender { struct LinkPrerender {
LinkPrerender( LinkPrerender(int launcher_render_process_id,
int launcher_render_process_id,
int launcher_render_view_id, int launcher_render_view_id,
blink::mojom::PrerenderAttributesPtr attributes, blink::mojom::PrerenderAttributesPtr attributes,
mojo::PendingRemote<blink::mojom::PrerenderHandleClient> handle_client, mojo::PendingRemote<blink::mojom::PrerenderProcessorClient>
processor_client,
base::TimeTicks creation_time, base::TimeTicks creation_time,
PrerenderContents* deferred_launcher); PrerenderContents* deferred_launcher);
~LinkPrerender(); ~LinkPrerender();
...@@ -88,7 +89,8 @@ class PrerenderLinkManager : public KeyedService, ...@@ -88,7 +89,8 @@ class PrerenderLinkManager : public KeyedService,
const gfx::Size size; const gfx::Size size;
// Notification interface back to the requestor of this prerender. // Notification interface back to the requestor of this prerender.
mojo::Remote<blink::mojom::PrerenderHandleClient> remote_handle_client; mojo::Remote<blink::mojom::PrerenderProcessorClient>
remote_processor_client;
// The time at which this Prerender was added to PrerenderLinkManager. // The time at which this Prerender was added to PrerenderLinkManager.
const base::TimeTicks creation_time; const base::TimeTicks creation_time;
......
...@@ -38,7 +38,7 @@ void PrerenderProcessorImpl::Create( ...@@ -38,7 +38,7 @@ void PrerenderProcessorImpl::Create(
void PrerenderProcessorImpl::Start( void PrerenderProcessorImpl::Start(
blink::mojom::PrerenderAttributesPtr attributes, blink::mojom::PrerenderAttributesPtr attributes,
mojo::PendingRemote<blink::mojom::PrerenderHandleClient> handle_client) { mojo::PendingRemote<blink::mojom::PrerenderProcessorClient> client) {
if (!attributes->initiator_origin.opaque() && if (!attributes->initiator_origin.opaque() &&
!content::ChildProcessSecurityPolicy::GetInstance() !content::ChildProcessSecurityPolicy::GetInstance()
->CanAccessDataForOrigin(render_process_id_, ->CanAccessDataForOrigin(render_process_id_,
...@@ -66,7 +66,7 @@ void PrerenderProcessorImpl::Start( ...@@ -66,7 +66,7 @@ void PrerenderProcessorImpl::Start(
prerender_id_ = link_manager->OnStartPrerender( prerender_id_ = link_manager->OnStartPrerender(
render_process_id_, render_process_id_,
render_frame_host->GetRenderViewHost()->GetRoutingID(), render_frame_host->GetRenderViewHost()->GetRoutingID(),
std::move(attributes), std::move(handle_client)); std::move(attributes), std::move(client));
} }
void PrerenderProcessorImpl::Cancel() { void PrerenderProcessorImpl::Cancel() {
......
...@@ -28,9 +28,9 @@ class PrerenderProcessorImpl : public blink::mojom::PrerenderProcessor { ...@@ -28,9 +28,9 @@ class PrerenderProcessorImpl : public blink::mojom::PrerenderProcessor {
std::unique_ptr<PrerenderProcessorImplDelegate> delegate); std::unique_ptr<PrerenderProcessorImplDelegate> delegate);
// blink::mojom::PrerenderProcessor implementation // blink::mojom::PrerenderProcessor implementation
void Start( void Start(blink::mojom::PrerenderAttributesPtr attributes,
blink::mojom::PrerenderAttributesPtr attributes, mojo::PendingRemote<blink::mojom::PrerenderProcessorClient> client)
mojo::PendingRemote<blink::mojom::PrerenderHandleClient> client) override; override;
void Cancel() override; void Cancel() override;
void Abandon() override; void Abandon() override;
......
...@@ -9,14 +9,11 @@ import "ui/gfx/geometry/mojom/geometry.mojom"; ...@@ -9,14 +9,11 @@ import "ui/gfx/geometry/mojom/geometry.mojom";
import "url/mojom/origin.mojom"; import "url/mojom/origin.mojom";
import "url/mojom/url.mojom"; import "url/mojom/url.mojom";
// This interface is used to notify of events on prerendering from the browser // This interface is used to notify of events about prerendering from the
// process to a renderer process that requested prerendering. This is created // browser process to a renderer process that requested prerendering. This is
// per prerender request, for example, when a new <link rel=prerender> element // created per prerender request, for example, when a new <link rel=prerender>
// is added, when the element's href is changed, etc. // element is added, when the element's href is changed, etc.
// interface PrerenderProcessorClient {
// TODO(https://crbug.com/1126305): Rename this interface to
// PrerenderProcessorClient.
interface PrerenderHandleClient {
// Notifies that a prerender started. // Notifies that a prerender started.
OnPrerenderStart(); OnPrerenderStart();
...@@ -52,16 +49,16 @@ struct PrerenderAttributes { ...@@ -52,16 +49,16 @@ struct PrerenderAttributes {
// changed, etc. // changed, etc.
interface PrerenderProcessor { interface PrerenderProcessor {
// Requests the browesr process to start prerendering with // Requests the browesr process to start prerendering with
// |prerender_attribute|. |prerender_handle_client| will be notified as the // |prerender_attribute|. |prerender_processor_client| will be notified as the
// prerendering makes progress. This must be called only one time before any // prerendering makes progress. This must be called only one time before any
// other functions. // other functions.
Start(PrerenderAttributes prerender_attribute, Start(PrerenderAttributes prerender_attribute,
pending_remote<PrerenderHandleClient> prerender_handle_client); pending_remote<PrerenderProcessorClient> prerender_processor_client);
// Cancels the ongoing prerendering. This is supposed to be called when the // Cancels the ongoing prerendering. This is supposed to be called when the
// <link rel=prerender> element is removed, the element's href is changed, // <link rel=prerender> element is removed, the element's href is changed,
// etc. This must be called after Start(). This does not trigger // etc. This must be called after Start(). This does not trigger
// OnPrerenderStop() on PrerenderHandleClient. // OnPrerenderStop() on PrerenderProcessorClient.
Cancel(); Cancel();
// Abandons the ongoing prerendering. This is supposed to be called when the // Abandons the ongoing prerendering. This is supposed to be called when the
......
...@@ -77,7 +77,7 @@ class MockPrerenderProcessor : public mojom::blink::PrerenderProcessor { ...@@ -77,7 +77,7 @@ class MockPrerenderProcessor : public mojom::blink::PrerenderProcessor {
// mojom::blink::PrerenderProcessor implementation // mojom::blink::PrerenderProcessor implementation
void Start(mojom::blink::PrerenderAttributesPtr attributes, void Start(mojom::blink::PrerenderAttributesPtr attributes,
mojo::PendingRemote<mojom::blink::PrerenderHandleClient> client) mojo::PendingRemote<mojom::blink::PrerenderProcessorClient> client)
override { override {
attributes_ = std::move(attributes); attributes_ = std::move(attributes);
client_.Bind(std::move(client)); client_.Bind(std::move(client));
...@@ -118,7 +118,7 @@ class MockPrerenderProcessor : public mojom::blink::PrerenderProcessor { ...@@ -118,7 +118,7 @@ class MockPrerenderProcessor : public mojom::blink::PrerenderProcessor {
private: private:
mojom::blink::PrerenderAttributesPtr attributes_; mojom::blink::PrerenderAttributesPtr attributes_;
mojo::Remote<mojom::blink::PrerenderHandleClient> client_; mojo::Remote<mojom::blink::PrerenderProcessorClient> client_;
mojo::Receiver<mojom::blink::PrerenderProcessor> receiver_{this}; mojo::Receiver<mojom::blink::PrerenderProcessor> receiver_{this};
size_t cancel_count_ = 0; size_t cancel_count_ = 0;
......
...@@ -71,12 +71,12 @@ PrerenderHandle* PrerenderHandle::Create( ...@@ -71,12 +71,12 @@ PrerenderHandle* PrerenderHandle::Create(
prerender_processor.BindNewPipeAndPassReceiver( prerender_processor.BindNewPipeAndPassReceiver(
context->GetTaskRunner(TaskType::kMiscPlatformAPI))); context->GetTaskRunner(TaskType::kMiscPlatformAPI)));
mojo::PendingRemote<mojom::blink::PrerenderHandleClient> mojo::PendingRemote<mojom::blink::PrerenderProcessorClient>
prerender_handle_client; prerender_processor_client;
auto receiver = prerender_handle_client.InitWithNewPipeAndPassReceiver(); auto receiver = prerender_processor_client.InitWithNewPipeAndPassReceiver();
prerender_processor->Start(std::move(attributes), prerender_processor->Start(std::move(attributes),
std::move(prerender_handle_client)); std::move(prerender_processor_client));
return MakeGarbageCollected<PrerenderHandle>(PassKey(), context, client, url, return MakeGarbageCollected<PrerenderHandle>(PassKey(), context, client, url,
std::move(prerender_processor), std::move(prerender_processor),
...@@ -89,7 +89,7 @@ PrerenderHandle::PrerenderHandle( ...@@ -89,7 +89,7 @@ PrerenderHandle::PrerenderHandle(
PrerenderClient* client, PrerenderClient* client,
const KURL& url, const KURL& url,
HeapMojoRemote<mojom::blink::PrerenderProcessor> remote_processor, HeapMojoRemote<mojom::blink::PrerenderProcessor> remote_processor,
mojo::PendingReceiver<mojom::blink::PrerenderHandleClient> receiver) mojo::PendingReceiver<mojom::blink::PrerenderProcessorClient> receiver)
: ExecutionContextLifecycleObserver(context), : ExecutionContextLifecycleObserver(context),
url_(url), url_(url),
client_(client), client_(client),
......
...@@ -47,9 +47,16 @@ class ExecutionContext; ...@@ -47,9 +47,16 @@ class ExecutionContext;
class Document; class Document;
class PrerenderClient; class PrerenderClient;
// This is the Blink-side liaison of mojom::PrerenderProcessor to request the
// browser process to start prerendering, and implements
// mojom::PrerenderProcessorClient to observe events about prerendering. This is
// instantiated per prerender request, for example, when a new <link
// rel=prerender> element is added, when the element's href is changed etc.
//
// TODO(https://crbug.com/1126305): Rename this to PrerenderProcessorHandle.
class PrerenderHandle final : public GarbageCollected<PrerenderHandle>, class PrerenderHandle final : public GarbageCollected<PrerenderHandle>,
public ExecutionContextLifecycleObserver, public ExecutionContextLifecycleObserver,
public mojom::blink::PrerenderHandleClient { public mojom::blink::PrerenderProcessorClient {
USING_PRE_FINALIZER(PrerenderHandle, Dispose); USING_PRE_FINALIZER(PrerenderHandle, Dispose);
public: public:
...@@ -60,12 +67,13 @@ class PrerenderHandle final : public GarbageCollected<PrerenderHandle>, ...@@ -60,12 +67,13 @@ class PrerenderHandle final : public GarbageCollected<PrerenderHandle>,
mojom::blink::PrerenderRelType prerender_rel_type); mojom::blink::PrerenderRelType prerender_rel_type);
using PassKey = util::PassKey<PrerenderHandle>; using PassKey = util::PassKey<PrerenderHandle>;
PrerenderHandle(PassKey, PrerenderHandle(
PassKey,
ExecutionContext*, ExecutionContext*,
PrerenderClient*, PrerenderClient*,
const KURL&, const KURL&,
HeapMojoRemote<mojom::blink::PrerenderProcessor>, HeapMojoRemote<mojom::blink::PrerenderProcessor>,
mojo::PendingReceiver<mojom::blink::PrerenderHandleClient>); mojo::PendingReceiver<mojom::blink::PrerenderProcessorClient>);
~PrerenderHandle() override; ~PrerenderHandle() override;
void Dispose(); void Dispose();
...@@ -75,7 +83,7 @@ class PrerenderHandle final : public GarbageCollected<PrerenderHandle>, ...@@ -75,7 +83,7 @@ class PrerenderHandle final : public GarbageCollected<PrerenderHandle>,
// ExecutionContextLifecycleObserver: // ExecutionContextLifecycleObserver:
void ContextDestroyed() override; void ContextDestroyed() override;
// mojom::blink::PrerenderHandleClient: // mojom::blink::PrerenderProcessorClient:
void OnPrerenderStart() override; void OnPrerenderStart() override;
void OnPrerenderStopLoading() override; void OnPrerenderStopLoading() override;
void OnPrerenderDomContentLoaded() override; void OnPrerenderDomContentLoaded() override;
...@@ -89,7 +97,7 @@ class PrerenderHandle final : public GarbageCollected<PrerenderHandle>, ...@@ -89,7 +97,7 @@ class PrerenderHandle final : public GarbageCollected<PrerenderHandle>,
KURL url_; KURL url_;
WeakMember<PrerenderClient> client_; WeakMember<PrerenderClient> client_;
HeapMojoRemote<mojom::blink::PrerenderProcessor> remote_processor_; HeapMojoRemote<mojom::blink::PrerenderProcessor> remote_processor_;
HeapMojoReceiver<mojom::blink::PrerenderHandleClient, PrerenderHandle> HeapMojoReceiver<mojom::blink::PrerenderProcessorClient, PrerenderHandle>
receiver_; receiver_;
DISALLOW_COPY_AND_ASSIGN(PrerenderHandle); DISALLOW_COPY_AND_ASSIGN(PrerenderHandle);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment