From 719980a948f3284b190318eaa2a4b7e3f32237b5 Mon Sep 17 00:00:00 2001 From: deepak1556 Date: Sat, 30 Dec 2017 21:55:09 +0530 Subject: [PATCH] REVIEW: remove device emulation ipc dependecny on rvh --- atom/browser/api/atom_api_web_contents.cc | 28 +++++++++++++-------- atom/common/api/event_emitter_caller.h | 1 + atom/renderer/atom_render_frame_observer.cc | 2 -- spec/api-web-contents-spec.js | 4 +-- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/atom/browser/api/atom_api_web_contents.cc b/atom/browser/api/atom_api_web_contents.cc index 5b6b16b43533..c48f66ddc2a5 100644 --- a/atom/browser/api/atom_api_web_contents.cc +++ b/atom/browser/api/atom_api_web_contents.cc @@ -65,8 +65,6 @@ #include "content/public/browser/navigation_handle.h" #include "content/public/browser/plugin_service.h" #include "content/public/browser/render_frame_host.h" -#include "content/public/browser/render_process_host.h" -#include "content/public/browser/render_view_host.h" #include "content/public/browser/render_widget_host.h" #include "content/public/browser/render_widget_host_view.h" #include "content/public/browser/resource_request_details.h" @@ -1278,20 +1276,30 @@ void WebContents::EnableDeviceEmulation( if (type_ == REMOTE) return; - auto host = web_contents()->GetRenderViewHost(); - - if (host) - host->Send(new ViewMsg_EnableDeviceEmulation(host->GetRoutingID(), params)); + auto frame_host = web_contents()->GetMainFrame(); + if (frame_host) { + auto widget_host = + frame_host ? frame_host->GetView()->GetRenderWidgetHost() : nullptr; + if (!widget_host) + return; + widget_host->Send( + new ViewMsg_EnableDeviceEmulation(widget_host->GetRoutingID(), params)); + } } void WebContents::DisableDeviceEmulation() { if (type_ == REMOTE) return; - auto host = web_contents()->GetRenderViewHost(); - - if (host) - host->Send(new ViewMsg_DisableDeviceEmulation(host->GetRoutingID())); + auto frame_host = web_contents()->GetMainFrame(); + if (frame_host) { + auto widget_host = + frame_host ? frame_host->GetView()->GetRenderWidgetHost() : nullptr; + if (!widget_host) + return; + widget_host->Send( + new ViewMsg_DisableDeviceEmulation(widget_host->GetRoutingID())); + } } void WebContents::ToggleDevTools() { diff --git a/atom/common/api/event_emitter_caller.h b/atom/common/api/event_emitter_caller.h index 24917cbef62c..64322e562efa 100644 --- a/atom/common/api/event_emitter_caller.h +++ b/atom/common/api/event_emitter_caller.h @@ -7,6 +7,7 @@ #include +#include "atom/common/native_mate_converters/string16_converter.h" #include "native_mate/converter.h" namespace mate { diff --git a/atom/renderer/atom_render_frame_observer.cc b/atom/renderer/atom_render_frame_observer.cc index 07b634331af3..8fb04f7363d6 100644 --- a/atom/renderer/atom_render_frame_observer.cc +++ b/atom/renderer/atom_render_frame_observer.cc @@ -7,8 +7,6 @@ #include #include -// Put this before event_emitter_caller.h to have string16 support. -#include "atom/common/native_mate_converters/string16_converter.h" #include "atom/common/api/api_messages.h" #include "atom/common/api/event_emitter_caller.h" #include "atom/common/native_mate_converters/value_converter.h" diff --git a/spec/api-web-contents-spec.js b/spec/api-web-contents-spec.js index 47d1786bc285..cf9025228994 100644 --- a/spec/api-web-contents-spec.js +++ b/spec/api-web-contents-spec.js @@ -92,9 +92,7 @@ describe('webContents module', () => { }) }) - // TODO(alexeykuzmin): Disabled during Ch63 upgrade. - // Fix it and enable back. - xdescribe('setDevToolsWebCotnents() API', () => { + describe('setDevToolsWebCotnents() API', () => { it('sets arbitry webContents as devtools', (done) => { let devtools = new BrowserWindow({show: false}) devtools.webContents.once('dom-ready', () => {