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

Convert mojo interfaces for devtools_frontend to new Mojo types

This CL converts SetupDevToolsFrontend from
devtools_frontend.mojom to new Mojo types.

Along with updating mojom interfaces, it also updates
methods and members which take DevToolsFrontendAssociatedPtr,
DevToolsFrontendAssociatedPtr,
DevToolsFrontendHostAssociatedPtrInfo,
DevToolsFrontendAssociatedRequest with new Mojo types.

Bug: 955171, 978694
Change-Id: I7896a82b81b36066b5d36ca91fc86f858fd9c486
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1748966Reviewed-by: default avatarSam McNally <sammc@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Reviewed-by: default avatarAndrey Kosyakov <caseq@chromium.org>
Commit-Queue: Julie Kim <jkim@igalia.com>
Cr-Commit-Position: refs/heads/master@{#686417}
parent 6fb21602
......@@ -42,7 +42,7 @@ void DevToolsFrontendHost::SetupExtensionsAPI(
RenderFrameHost* frame_host,
const std::string& extension_api) {
DCHECK(frame_host->GetParent());
blink::mojom::DevToolsFrontendAssociatedPtr frontend;
mojo::AssociatedRemote<blink::mojom::DevToolsFrontend> frontend;
frame_host->GetRemoteAssociatedInterfaces()->GetInterface(&frontend);
frontend->SetupDevToolsExtensionAPI(extension_api);
}
......@@ -65,17 +65,15 @@ DevToolsFrontendHostImpl::DevToolsFrontendHostImpl(
RenderFrameHost* frame_host,
const HandleMessageCallback& handle_message_callback)
: web_contents_(WebContents::FromRenderFrameHost(frame_host)),
handle_message_callback_(handle_message_callback),
binding_(this) {
blink::mojom::DevToolsFrontendAssociatedPtr frontend;
handle_message_callback_(handle_message_callback) {
mojo::AssociatedRemote<blink::mojom::DevToolsFrontend> frontend;
frame_host->GetRemoteAssociatedInterfaces()->GetInterface(&frontend);
std::string api_script =
content::DevToolsFrontendHost::GetFrontendResource(kCompatibilityScript)
.as_string() +
kCompatibilityScriptSourceURL;
blink::mojom::DevToolsFrontendHostAssociatedPtrInfo host;
binding_.Bind(mojo::MakeRequest(&host));
frontend->SetupDevToolsFrontend(api_script, std::move(host));
frontend->SetupDevToolsFrontend(api_script,
receiver_.BindNewEndpointAndPassRemote());
}
DevToolsFrontendHostImpl::~DevToolsFrontendHostImpl() {
......
......@@ -7,7 +7,7 @@
#include "base/macros.h"
#include "content/public/browser/devtools_frontend_host.h"
#include "mojo/public/cpp/bindings/associated_binding.h"
#include "mojo/public/cpp/bindings/associated_receiver.h"
#include "third_party/blink/public/mojom/devtools/devtools_frontend.mojom.h"
namespace content {
......@@ -30,7 +30,7 @@ class DevToolsFrontendHostImpl : public DevToolsFrontendHost,
WebContents* web_contents_;
HandleMessageCallback handle_message_callback_;
mojo::AssociatedBinding<blink::mojom::DevToolsFrontendHost> binding_;
mojo::AssociatedReceiver<blink::mojom::DevToolsFrontendHost> receiver_{this};
DISALLOW_COPY_AND_ASSIGN(DevToolsFrontendHostImpl);
};
......
......@@ -18,7 +18,7 @@ interface DevToolsFrontend {
// loading. It makes use of DevToolsHost to expose embedder capabilities to
// DevTools (e.g. connection to the inspected target).
SetupDevToolsFrontend(string api_script,
associated DevToolsFrontendHost host);
pending_associated_remote<DevToolsFrontendHost> host);
// Sets up a child frame to expose DevTools extension API by executing script
// |extension_api| on each navigation in the frame. This script provides
......
......@@ -44,11 +44,11 @@ namespace blink {
// static
void DevToolsFrontendImpl::BindMojoRequest(
LocalFrame* local_frame,
mojom::blink::DevToolsFrontendAssociatedRequest request) {
mojo::PendingAssociatedReceiver<mojom::blink::DevToolsFrontend> receiver) {
if (!local_frame)
return;
local_frame->ProvideSupplement(MakeGarbageCollected<DevToolsFrontendImpl>(
*local_frame, std::move(request)));
*local_frame, std::move(receiver)));
}
// static
......@@ -63,8 +63,8 @@ const char DevToolsFrontendImpl::kSupplementName[] = "DevToolsFrontendImpl";
DevToolsFrontendImpl::DevToolsFrontendImpl(
LocalFrame& frame,
mojom::blink::DevToolsFrontendAssociatedRequest request)
: Supplement<LocalFrame>(frame), binding_(this, std::move(request)) {}
mojo::PendingAssociatedReceiver<mojom::blink::DevToolsFrontend> receiver)
: Supplement<LocalFrame>(frame), receiver_(this, std::move(receiver)) {}
DevToolsFrontendImpl::~DevToolsFrontendImpl() = default;
......@@ -99,11 +99,11 @@ void DevToolsFrontendImpl::DidClearWindowObject() {
void DevToolsFrontendImpl::SetupDevToolsFrontend(
const String& api_script,
mojom::blink::DevToolsFrontendHostAssociatedPtrInfo host) {
mojo::PendingAssociatedRemote<mojom::blink::DevToolsFrontendHost> host) {
DCHECK(GetSupplementable()->IsMainFrame());
api_script_ = api_script;
host_.Bind(std::move(host));
host_.set_connection_error_handler(WTF::Bind(
host_.set_disconnect_handler(WTF::Bind(
&DevToolsFrontendImpl::DestroyOnHostGone, WrapWeakPersistent(this)));
GetSupplementable()->GetPage()->SetDefaultPageScaleLimits(1.f, 1.f);
}
......
......@@ -32,7 +32,8 @@
#define THIRD_PARTY_BLINK_RENDERER_CONTROLLER_DEV_TOOLS_FRONTEND_IMPL_H_
#include "base/macros.h"
#include "mojo/public/cpp/bindings/associated_binding.h"
#include "mojo/public/cpp/bindings/associated_receiver.h"
#include "mojo/public/cpp/bindings/associated_remote.h"
#include "third_party/blink/public/mojom/devtools/devtools_frontend.mojom-blink.h"
#include "third_party/blink/renderer/core/inspector/inspector_frontend_client.h"
#include "third_party/blink/renderer/platform/heap/handle.h"
......@@ -57,12 +58,14 @@ class DevToolsFrontendImpl final
public:
static const char kSupplementName[];
static void BindMojoRequest(LocalFrame*,
mojom::blink::DevToolsFrontendAssociatedRequest);
static void BindMojoRequest(
LocalFrame*,
mojo::PendingAssociatedReceiver<mojom::blink::DevToolsFrontend>);
static DevToolsFrontendImpl* From(LocalFrame*);
DevToolsFrontendImpl(LocalFrame&,
mojom::blink::DevToolsFrontendAssociatedRequest);
DevToolsFrontendImpl(
LocalFrame&,
mojo::PendingAssociatedReceiver<mojom::blink::DevToolsFrontend>);
~DevToolsFrontendImpl() override;
void DidClearWindowObject();
void Trace(blink::Visitor*) override;
......@@ -73,7 +76,8 @@ class DevToolsFrontendImpl final
// mojom::blink::DevToolsFrontend implementation.
void SetupDevToolsFrontend(
const String& api_script,
mojom::blink::DevToolsFrontendHostAssociatedPtrInfo) override;
mojo::PendingAssociatedRemote<mojom::blink::DevToolsFrontendHost>)
override;
void SetupDevToolsExtensionAPI(const String& extension_api) override;
// InspectorFrontendClient implementation.
......@@ -81,8 +85,8 @@ class DevToolsFrontendImpl final
Member<DevToolsHost> devtools_host_;
String api_script_;
mojom::blink::DevToolsFrontendHostAssociatedPtr host_;
mojo::AssociatedBinding<mojom::blink::DevToolsFrontend> binding_;
mojo::AssociatedRemote<mojom::blink::DevToolsFrontendHost> host_;
mojo::AssociatedReceiver<mojom::blink::DevToolsFrontend> receiver_;
DISALLOW_COPY_AND_ASSIGN(DevToolsFrontendImpl);
};
......
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