Commit e29875ce authored by Julie Jeongeun Kim's avatar Julie Jeongeun Kim Committed by Commit Bot

Convert prerender.mojom to new Mojo types

This CL converts PrerenderDispatcherAssociatedPtr,
PrerenderCancelerRequest, and PrerenderCancelerPtr
to new mojo types using Remote, AssociatedRemote,
PendingReceiver, and Receiver.

Bug: 955171
Change-Id: I75a60af8e0477726ce4f19aa0017eb97aea65cd2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1828781Reviewed-by: default avatarTarun Bansal <tbansal@chromium.org>
Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarLei Zhang <thestig@chromium.org>
Commit-Queue: Julie Kim <jkim@igalia.com>
Cr-Commit-Position: refs/heads/master@{#701398}
parent 1dde58f1
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_delegate.h" #include "content/public/browser/web_contents_delegate.h"
#include "content/public/common/frame_navigate_params.h" #include "content/public/common/frame_navigate_params.h"
#include "mojo/public/cpp/bindings/associated_remote.h"
#include "net/http/http_response_headers.h" #include "net/http/http_response_headers.h"
#include "services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.h" #include "services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.h"
#include "services/service_manager/public/cpp/binder_registry.h" #include "services/service_manager/public/cpp/binder_registry.h"
...@@ -179,7 +180,6 @@ PrerenderContents::PrerenderContents( ...@@ -179,7 +180,6 @@ PrerenderContents::PrerenderContents(
Origin origin) Origin origin)
: prerender_mode_(DEPRECATED_FULL_PRERENDER), : prerender_mode_(DEPRECATED_FULL_PRERENDER),
prerendering_has_started_(false), prerendering_has_started_(false),
prerender_canceler_binding_(this),
prerender_manager_(prerender_manager), prerender_manager_(prerender_manager),
prerender_url_(url), prerender_url_(url),
referrer_(referrer), referrer_(referrer),
...@@ -214,7 +214,7 @@ PrerenderContents::PrerenderContents( ...@@ -214,7 +214,7 @@ PrerenderContents::PrerenderContents(
DCHECK(prerender_manager); DCHECK(prerender_manager);
registry_.AddInterface(base::Bind( registry_.AddInterface(base::Bind(
&PrerenderContents::OnPrerenderCancelerRequest, base::Unretained(this))); &PrerenderContents::OnPrerenderCancelerReceiver, base::Unretained(this)));
} }
bool PrerenderContents::Init() { bool PrerenderContents::Init() {
...@@ -361,7 +361,8 @@ PrerenderContents::~PrerenderContents() { ...@@ -361,7 +361,8 @@ PrerenderContents::~PrerenderContents() {
IPC::ChannelProxy* channel = host->GetChannel(); IPC::ChannelProxy* channel = host->GetChannel();
// |channel| might be NULL in tests. // |channel| might be NULL in tests.
if (host->IsInitializedAndNotDead() && channel) { if (host->IsInitializedAndNotDead() && channel) {
chrome::mojom::PrerenderDispatcherAssociatedPtr prerender_dispatcher; mojo::AssociatedRemote<chrome::mojom::PrerenderDispatcher>
prerender_dispatcher;
channel->GetRemoteAssociatedInterface(&prerender_dispatcher); channel->GetRemoteAssociatedInterface(&prerender_dispatcher);
prerender_dispatcher->PrerenderRemoveAliases(alias_urls_); prerender_dispatcher->PrerenderRemoveAliases(alias_urls_);
} }
...@@ -484,7 +485,8 @@ bool PrerenderContents::AddAliasURL(const GURL& url) { ...@@ -484,7 +485,8 @@ bool PrerenderContents::AddAliasURL(const GURL& url) {
IPC::ChannelProxy* channel = host->GetChannel(); IPC::ChannelProxy* channel = host->GetChannel();
// |channel| might be NULL in tests. // |channel| might be NULL in tests.
if (host->IsInitializedAndNotDead() && channel) { if (host->IsInitializedAndNotDead() && channel) {
chrome::mojom::PrerenderDispatcherAssociatedPtr prerender_dispatcher; mojo::AssociatedRemote<chrome::mojom::PrerenderDispatcher>
prerender_dispatcher;
channel->GetRemoteAssociatedInterface(&prerender_dispatcher); channel->GetRemoteAssociatedInterface(&prerender_dispatcher);
prerender_dispatcher->PrerenderAddAlias(url); prerender_dispatcher->PrerenderAddAlias(url);
} }
...@@ -763,10 +765,10 @@ void PrerenderContents::CancelPrerenderForSyncDeferredRedirect() { ...@@ -763,10 +765,10 @@ void PrerenderContents::CancelPrerenderForSyncDeferredRedirect() {
Destroy(FINAL_STATUS_BAD_DEFERRED_REDIRECT); Destroy(FINAL_STATUS_BAD_DEFERRED_REDIRECT);
} }
void PrerenderContents::OnPrerenderCancelerRequest( void PrerenderContents::OnPrerenderCancelerReceiver(
chrome::mojom::PrerenderCancelerRequest request) { mojo::PendingReceiver<chrome::mojom::PrerenderCanceler> receiver) {
if (!prerender_canceler_binding_.is_bound()) if (!prerender_canceler_receiver_.is_bound())
prerender_canceler_binding_.Bind(std::move(request)); prerender_canceler_receiver_.Bind(std::move(receiver));
} }
void PrerenderContents::AddNetworkBytes(int64_t bytes) { void PrerenderContents::AddNetworkBytes(int64_t bytes) {
......
...@@ -26,7 +26,8 @@ ...@@ -26,7 +26,8 @@
#include "content/public/browser/notification_registrar.h" #include "content/public/browser/notification_registrar.h"
#include "content/public/browser/web_contents_observer.h" #include "content/public/browser/web_contents_observer.h"
#include "content/public/common/referrer.h" #include "content/public/common/referrer.h"
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "services/service_manager/public/cpp/binder_registry.h" #include "services/service_manager/public/cpp/binder_registry.h"
#include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/rect.h"
#include "url/origin.h" #include "url/origin.h"
...@@ -298,10 +299,11 @@ class PrerenderContents : public content::NotificationObserver, ...@@ -298,10 +299,11 @@ class PrerenderContents : public content::NotificationObserver,
void CancelPrerenderForUnsupportedScheme(const GURL& url) override; void CancelPrerenderForUnsupportedScheme(const GURL& url) override;
void CancelPrerenderForSyncDeferredRedirect() override; void CancelPrerenderForSyncDeferredRedirect() override;
void OnPrerenderCancelerRequest( void OnPrerenderCancelerReceiver(
chrome::mojom::PrerenderCancelerRequest request); mojo::PendingReceiver<chrome::mojom::PrerenderCanceler> receiver);
mojo::Binding<chrome::mojom::PrerenderCanceler> prerender_canceler_binding_; mojo::Receiver<chrome::mojom::PrerenderCanceler> prerender_canceler_receiver_{
this};
base::ObserverList<Observer>::Unchecked observer_list_; base::ObserverList<Observer>::Unchecked observer_list_;
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include "content/public/browser/session_storage_namespace.h" #include "content/public/browser/session_storage_namespace.h"
#include "content/public/common/referrer.h" #include "content/public/common/referrer.h"
#include "extensions/buildflags/buildflags.h" #include "extensions/buildflags/buildflags.h"
#include "mojo/public/cpp/bindings/associated_remote.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
#include "third_party/blink/public/common/prerender/prerender_rel_type.h" #include "third_party/blink/public/common/prerender/prerender_rel_type.h"
#include "ui/gfx/geometry/size.h" #include "ui/gfx/geometry/size.h"
...@@ -58,9 +59,10 @@ void RecordLinkManagerStarting(const uint32_t rel_types) { ...@@ -58,9 +59,10 @@ void RecordLinkManagerStarting(const uint32_t rel_types) {
kRelTypeHistogramEnumMax); kRelTypeHistogramEnumMax);
} }
chrome::mojom::PrerenderDispatcherAssociatedPtr GetPrerenderDispatcher( mojo::AssociatedRemote<chrome::mojom::PrerenderDispatcher>
int child_id) { GetPrerenderDispatcher(int child_id) {
chrome::mojom::PrerenderDispatcherAssociatedPtr prerender_dispatcher; mojo::AssociatedRemote<chrome::mojom::PrerenderDispatcher>
prerender_dispatcher;
content::RenderProcessHost* render_process_host = content::RenderProcessHost* render_process_host =
content::RenderProcessHost::FromID(child_id); content::RenderProcessHost::FromID(child_id);
if (render_process_host) { if (render_process_host) {
...@@ -384,7 +386,8 @@ void PrerenderLinkManager::StartPrerenders() { ...@@ -384,7 +386,8 @@ void PrerenderLinkManager::StartPrerenders() {
IPC::ChannelProxy* channel = render_process_host->GetChannel(); IPC::ChannelProxy* channel = render_process_host->GetChannel();
// |channel| might be NULL in tests. // |channel| might be NULL in tests.
if (channel) { if (channel) {
chrome::mojom::PrerenderDispatcherAssociatedPtr prerender_dispatcher; mojo::AssociatedRemote<chrome::mojom::PrerenderDispatcher>
prerender_dispatcher;
channel->GetRemoteAssociatedInterface(&prerender_dispatcher); channel->GetRemoteAssociatedInterface(&prerender_dispatcher);
prerender_dispatcher->PrerenderStop(it->prerender_id); prerender_dispatcher->PrerenderStop(it->prerender_id);
} }
...@@ -476,7 +479,8 @@ void PrerenderLinkManager::OnPrerenderStart( ...@@ -476,7 +479,8 @@ void PrerenderLinkManager::OnPrerenderStart(
if (!prerender) if (!prerender)
return; return;
chrome::mojom::PrerenderDispatcherAssociatedPtr prerender_dispatcher = mojo::AssociatedRemote<chrome::mojom::PrerenderDispatcher>
prerender_dispatcher =
GetPrerenderDispatcher(prerender->launcher_child_id); GetPrerenderDispatcher(prerender->launcher_child_id);
if (prerender_dispatcher) if (prerender_dispatcher)
prerender_dispatcher->PrerenderStart(prerender->prerender_id); prerender_dispatcher->PrerenderStart(prerender->prerender_id);
...@@ -488,7 +492,8 @@ void PrerenderLinkManager::OnPrerenderStopLoading( ...@@ -488,7 +492,8 @@ void PrerenderLinkManager::OnPrerenderStopLoading(
if (!prerender) if (!prerender)
return; return;
chrome::mojom::PrerenderDispatcherAssociatedPtr prerender_dispatcher = mojo::AssociatedRemote<chrome::mojom::PrerenderDispatcher>
prerender_dispatcher =
GetPrerenderDispatcher(prerender->launcher_child_id); GetPrerenderDispatcher(prerender->launcher_child_id);
if (prerender_dispatcher) if (prerender_dispatcher)
prerender_dispatcher->PrerenderStopLoading(prerender->prerender_id); prerender_dispatcher->PrerenderStopLoading(prerender->prerender_id);
...@@ -500,7 +505,8 @@ void PrerenderLinkManager::OnPrerenderDomContentLoaded( ...@@ -500,7 +505,8 @@ void PrerenderLinkManager::OnPrerenderDomContentLoaded(
if (!prerender) if (!prerender)
return; return;
chrome::mojom::PrerenderDispatcherAssociatedPtr prerender_dispatcher = mojo::AssociatedRemote<chrome::mojom::PrerenderDispatcher>
prerender_dispatcher =
GetPrerenderDispatcher(prerender->launcher_child_id); GetPrerenderDispatcher(prerender->launcher_child_id);
if (prerender_dispatcher) if (prerender_dispatcher)
prerender_dispatcher->PrerenderDomContentLoaded(prerender->prerender_id); prerender_dispatcher->PrerenderDomContentLoaded(prerender->prerender_id);
...@@ -512,7 +518,8 @@ void PrerenderLinkManager::OnPrerenderStop( ...@@ -512,7 +518,8 @@ void PrerenderLinkManager::OnPrerenderStop(
if (!prerender) if (!prerender)
return; return;
chrome::mojom::PrerenderDispatcherAssociatedPtr prerender_dispatcher = mojo::AssociatedRemote<chrome::mojom::PrerenderDispatcher>
prerender_dispatcher =
GetPrerenderDispatcher(prerender->launcher_child_id); GetPrerenderDispatcher(prerender->launcher_child_id);
if (prerender_dispatcher) if (prerender_dispatcher)
prerender_dispatcher->PrerenderStop(prerender->prerender_id); prerender_dispatcher->PrerenderStop(prerender->prerender_id);
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "chrome/renderer/prerender/prerender_helper.h" #include "chrome/renderer/prerender/prerender_helper.h"
#include "content/public/renderer/render_frame.h" #include "content/public/renderer/render_frame.h"
#include "extensions/buildflags/buildflags.h" #include "extensions/buildflags/buildflags.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/service_manager/public/cpp/interface_provider.h" #include "services/service_manager/public/cpp/interface_provider.h"
#include "third_party/blink/public/web/web_document.h" #include "third_party/blink/public/web/web_document.h"
#include "third_party/blink/public/web/web_element.h" #include "third_party/blink/public/web/web_element.h"
...@@ -36,8 +37,9 @@ bool ChromePrintRenderFrameHelperDelegate::CancelPrerender( ...@@ -36,8 +37,9 @@ bool ChromePrintRenderFrameHelperDelegate::CancelPrerender(
if (!prerender::PrerenderHelper::IsPrerendering(render_frame)) if (!prerender::PrerenderHelper::IsPrerendering(render_frame))
return false; return false;
chrome::mojom::PrerenderCancelerPtr canceler; mojo::Remote<chrome::mojom::PrerenderCanceler> canceler;
render_frame->GetRemoteInterfaces()->GetInterface(&canceler); render_frame->GetRemoteInterfaces()->GetInterface(
canceler.BindNewPipeAndPassReceiver());
canceler->CancelPrerenderForPrinting(); canceler->CancelPrerenderForPrinting();
return true; return true;
} }
......
...@@ -54,8 +54,9 @@ chrome::mojom::PrerenderCanceler* GetPrerenderCanceller(int render_frame_id) { ...@@ -54,8 +54,9 @@ chrome::mojom::PrerenderCanceler* GetPrerenderCanceller(int render_frame_id) {
if (!helper) if (!helper)
return nullptr; return nullptr;
auto* canceler = new chrome::mojom::PrerenderCancelerPtr; auto* canceler = new mojo::Remote<chrome::mojom::PrerenderCanceler>;
render_frame->GetRemoteInterfaces()->GetInterface(canceler); render_frame->GetRemoteInterfaces()->GetInterface(
canceler->BindNewPipeAndPassReceiver());
base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, canceler); base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, canceler);
return canceler->get(); return canceler->get();
} }
......
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