Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Unified Diff: content/browser/frame_host/render_frame_host_impl.cc

Issue 2884243003: Add a mojo channel for frame messages. (Closed)
Patch Set: Fix dcheng's initial comments Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/render_frame_host_impl.cc
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index 4b35a18caf4cf2822ef5984ae939dbae9cce6855..666a48b30d90bb29424c576be127c5c8be8166b2 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -30,6 +30,7 @@
#include "content/browser/frame_host/debug_urls.h"
#include "content/browser/frame_host/frame_tree.h"
#include "content/browser/frame_host/frame_tree_node.h"
+#include "content/browser/frame_host/input/legacy_ipc_frame_input_handler.h"
#include "content/browser/frame_host/navigation_entry_impl.h"
#include "content/browser/frame_host/navigation_handle_impl.h"
#include "content/browser/frame_host/navigation_request.h"
@@ -69,6 +70,7 @@
#include "content/common/content_security_policy/content_security_policy.h"
#include "content/common/frame_messages.h"
#include "content/common/frame_owner_properties.h"
+#include "content/common/input/input_handler.mojom.h"
#include "content/common/input_messages.h"
#include "content/common/inter_process_time_ticks_converter.h"
#include "content/common/navigation_params.h"
@@ -988,6 +990,12 @@ bool RenderFrameHostImpl::SchemeShouldBypassCSP(
scheme) != bypassing_schemes.end();
}
+mojom::FrameInputHandler* RenderFrameHostImpl::GetFrameInputHandler() {
+ if (legacy_frame_input_handler_.get())
dcheng 2017/05/19 14:59:33 Nit: no.get() in conditional tests
dtapuska 2017/05/23 16:01:18 Done.
+ return legacy_frame_input_handler_.get();
+ return frame_input_handler_.get();
+}
+
bool RenderFrameHostImpl::CreateRenderFrame(int proxy_routing_id,
int opener_routing_id,
int parent_routing_id,
@@ -2983,21 +2991,6 @@ void RenderFrameHostImpl::AdvanceFocus(blink::WebFocusType type,
new FrameMsg_AdvanceFocus(GetRoutingID(), type, source_proxy_routing_id));
}
-void RenderFrameHostImpl::ExtendSelectionAndDelete(size_t before,
- size_t after) {
- Send(new InputMsg_ExtendSelectionAndDelete(routing_id_, before, after));
-}
-
-void RenderFrameHostImpl::DeleteSurroundingText(size_t before, size_t after) {
- Send(new InputMsg_DeleteSurroundingText(routing_id_, before, after));
-}
-
-void RenderFrameHostImpl::DeleteSurroundingTextInCodePoints(int before,
- int after) {
- Send(new InputMsg_DeleteSurroundingTextInCodePoints(routing_id_, before,
- after));
-}
-
void RenderFrameHostImpl::JavaScriptDialogClosed(
IPC::Message* reply_msg,
bool success,
@@ -3152,6 +3145,14 @@ void RenderFrameHostImpl::SetUpMojoIfNeeded() {
frame_->GetInterfaceProvider(mojo::MakeRequest(&remote_interfaces));
remote_interfaces_.reset(new service_manager::InterfaceProvider);
remote_interfaces_->Bind(std::move(remote_interfaces));
+
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kMojoInputMessages)) {
+ GetRemoteInterfaces()->GetInterface(&frame_input_handler_);
+ } else {
+ legacy_frame_input_handler_.reset(
+ new LegacyIPCFrameInputHandler(this, routing_id_));
+ }
}
void RenderFrameHostImpl::InvalidateMojoConnection() {

Powered by Google App Engine
This is Rietveld 408576698