diff --git a/brightray/browser/devtools_embedder_message_dispatcher.cc b/brightray/browser/devtools_embedder_message_dispatcher.cc index b6abdfbae565..a949eabcb8d1 100644 --- a/brightray/browser/devtools_embedder_message_dispatcher.cc +++ b/brightray/browser/devtools_embedder_message_dispatcher.cc @@ -168,6 +168,7 @@ DevToolsEmbedderMessageDispatcher::CreateForDevToolsFrontend( d->RegisterHandlerWithCallback("setIsDocked", &Delegate::SetIsDocked, delegate); d->RegisterHandler("openInNewTab", &Delegate::OpenInNewTab, delegate); + d->RegisterHandler("showItemInFolder", &Delegate::ShowItemInFolder, delegate); d->RegisterHandler("save", &Delegate::SaveToFile, delegate); d->RegisterHandler("append", &Delegate::AppendToFile, delegate); d->RegisterHandler("requestFileSystems", &Delegate::RequestFileSystems, @@ -183,11 +184,21 @@ DevToolsEmbedderMessageDispatcher::CreateForDevToolsFrontend( d->RegisterHandler("searchInPath", &Delegate::SearchInPath, delegate); d->RegisterHandler("setWhitelistedShortcuts", &Delegate::SetWhitelistedShortcuts, delegate); + d->RegisterHandler("setEyeDropperActive", &Delegate::SetEyeDropperActive, + delegate); + d->RegisterHandler("showCertificateViewer", &Delegate::ShowCertificateViewer, + delegate); d->RegisterHandler("zoomIn", &Delegate::ZoomIn, delegate); d->RegisterHandler("zoomOut", &Delegate::ZoomOut, delegate); d->RegisterHandler("resetZoom", &Delegate::ResetZoom, delegate); + d->RegisterHandler("setDevicesDiscoveryConfig", + &Delegate::SetDevicesDiscoveryConfig, delegate); d->RegisterHandler("setDevicesUpdatesEnabled", &Delegate::SetDevicesUpdatesEnabled, delegate); + d->RegisterHandler("performActionOnRemotePage", + &Delegate::PerformActionOnRemotePage, delegate); + d->RegisterHandler("openRemotePage", &Delegate::OpenRemotePage, delegate); + d->RegisterHandler("openNodeFrontend", &Delegate::OpenNodeFrontend, delegate); d->RegisterHandler("dispatchProtocolMessage", &Delegate::DispatchProtocolMessageFromDevToolsFrontend, delegate); @@ -198,6 +209,7 @@ DevToolsEmbedderMessageDispatcher::CreateForDevToolsFrontend( d->RegisterHandler("setPreference", &Delegate::SetPreference, delegate); d->RegisterHandler("removePreference", &Delegate::RemovePreference, delegate); d->RegisterHandler("clearPreferences", &Delegate::ClearPreferences, delegate); + d->RegisterHandler("connectionReady", &Delegate::ConnectionReady, delegate); d->RegisterHandler("registerExtensionsAPI", &Delegate::RegisterExtensionsAPI, delegate); return d; diff --git a/brightray/browser/devtools_embedder_message_dispatcher.h b/brightray/browser/devtools_embedder_message_dispatcher.h index 060275a964be..4df3bdda0948 100644 --- a/brightray/browser/devtools_embedder_message_dispatcher.h +++ b/brightray/browser/devtools_embedder_message_dispatcher.h @@ -43,6 +43,7 @@ class DevToolsEmbedderMessageDispatcher { virtual void SetIsDocked(const DispatchCallback& callback, bool is_docked) = 0; virtual void OpenInNewTab(const std::string& url) = 0; + virtual void ShowItemInFolder(const std::string& file_system_path) = 0; virtual void SaveToFile(const std::string& url, const std::string& content, bool save_as) = 0; @@ -64,10 +65,23 @@ class DevToolsEmbedderMessageDispatcher { const std::string& file_system_path, const std::string& query) = 0; virtual void SetWhitelistedShortcuts(const std::string& message) = 0; + virtual void SetEyeDropperActive(bool active) = 0; + virtual void ShowCertificateViewer(const std::string& cert_chain) = 0; virtual void ZoomIn() = 0; virtual void ZoomOut() = 0; virtual void ResetZoom() = 0; + virtual void SetDevicesDiscoveryConfig( + bool discover_usb_devices, + bool port_forwarding_enabled, + const std::string& port_forwarding_config, + bool network_discovery_enabled, + const std::string& network_discovery_config) = 0; virtual void SetDevicesUpdatesEnabled(bool enabled) = 0; + virtual void PerformActionOnRemotePage(const std::string& page_id, + const std::string& action) = 0; + virtual void OpenRemotePage(const std::string& browser_id, + const std::string& url) = 0; + virtual void OpenNodeFrontend() = 0; virtual void DispatchProtocolMessageFromDevToolsFrontend( const std::string& message) = 0; virtual void SendJsonRequest(const DispatchCallback& callback, @@ -78,6 +92,7 @@ class DevToolsEmbedderMessageDispatcher { const std::string& value) = 0; virtual void RemovePreference(const std::string& name) = 0; virtual void ClearPreferences() = 0; + virtual void ConnectionReady() = 0; virtual void RegisterExtensionsAPI(const std::string& origin, const std::string& script) = 0; }; diff --git a/brightray/browser/inspectable_web_contents_impl.cc b/brightray/browser/inspectable_web_contents_impl.cc index ab609a4a9d19..2f682b021a4b 100644 --- a/brightray/browser/inspectable_web_contents_impl.cc +++ b/brightray/browser/inspectable_web_contents_impl.cc @@ -7,6 +7,7 @@ #include "brightray/browser/inspectable_web_contents_impl.h" +#include "atom/common/platform_util.h" #include "base/guid.h" #include "base/json/json_reader.h" #include "base/json/json_writer.h" @@ -47,7 +48,7 @@ const double kPresetZoomFactors[] = {0.25, 0.333, 0.5, 0.666, 0.75, 0.9, 2.5, 3.0, 4.0, 5.0}; const char kChromeUIDevToolsURL[] = - "chrome-devtools://devtools/bundled/inspector.html?" + "chrome-devtools://devtools/bundled/devtools_app.html?" "remoteBase=%s&" "can_dock=%s&" "toolbarColor=rgba(223,223,223,1)&" @@ -485,6 +486,14 @@ void InspectableWebContentsImpl::SetIsDocked(const DispatchCallback& callback, void InspectableWebContentsImpl::OpenInNewTab(const std::string& url) {} +void InspectableWebContentsImpl::ShowItemInFolder( + const std::string& file_system_path) { + if (file_system_path.empty()) + return; + base::FilePath path = base::FilePath::FromUTF8Unsafe(file_system_path); + platform_util::ShowItemInFolder(path); +} + void InspectableWebContentsImpl::SaveToFile(const std::string& url, const std::string& content, bool save_as) { @@ -543,6 +552,10 @@ void InspectableWebContentsImpl::SearchInPath( void InspectableWebContentsImpl::SetWhitelistedShortcuts( const std::string& message) {} +void InspectableWebContentsImpl::SetEyeDropperActive(bool active) {} +void InspectableWebContentsImpl::ShowCertificateViewer( + const std::string& cert_chain) {} + void InspectableWebContentsImpl::ZoomIn() { double new_level = GetNextZoomLevel(GetDevToolsZoomLevel(), false); SetZoomLevelForWebContents(GetDevToolsWebContents(), new_level); @@ -560,8 +573,24 @@ void InspectableWebContentsImpl::ResetZoom() { UpdateDevToolsZoomLevel(0.); } +void InspectableWebContentsImpl::SetDevicesDiscoveryConfig( + bool discover_usb_devices, + bool port_forwarding_enabled, + const std::string& port_forwarding_config, + bool network_discovery_enabled, + const std::string& network_discovery_config) {} + void InspectableWebContentsImpl::SetDevicesUpdatesEnabled(bool enabled) {} +void InspectableWebContentsImpl::PerformActionOnRemotePage( + const std::string& page_id, + const std::string& action) {} + +void InspectableWebContentsImpl::OpenRemotePage(const std::string& browser_id, + const std::string& url) {} + +void InspectableWebContentsImpl::OpenNodeFrontend() {} + void InspectableWebContentsImpl::DispatchProtocolMessageFromDevToolsFrontend( const std::string& message) { // If the devtools wants to reload the page, hijack the message and handle it @@ -609,6 +638,8 @@ void InspectableWebContentsImpl::ClearPreferences() { update.Get()->Clear(); } +void InspectableWebContentsImpl::ConnectionReady() {} + void InspectableWebContentsImpl::RegisterExtensionsAPI( const std::string& origin, const std::string& script) { diff --git a/brightray/browser/inspectable_web_contents_impl.h b/brightray/browser/inspectable_web_contents_impl.h index 9ebcbfdd1ff3..c75f46fed427 100644 --- a/brightray/browser/inspectable_web_contents_impl.h +++ b/brightray/browser/inspectable_web_contents_impl.h @@ -83,6 +83,7 @@ class InspectableWebContentsImpl int stream_id) override; void SetIsDocked(const DispatchCallback& callback, bool is_docked) override; void OpenInNewTab(const std::string& url) override; + void ShowItemInFolder(const std::string& file_system_path) override; void SaveToFile(const std::string& url, const std::string& content, bool save_as) override; @@ -100,10 +101,23 @@ class InspectableWebContentsImpl const std::string& file_system_path, const std::string& query) override; void SetWhitelistedShortcuts(const std::string& message) override; + void SetEyeDropperActive(bool active) override; + void ShowCertificateViewer(const std::string& cert_chain) override; void ZoomIn() override; void ZoomOut() override; void ResetZoom() override; + void SetDevicesDiscoveryConfig( + bool discover_usb_devices, + bool port_forwarding_enabled, + const std::string& port_forwarding_config, + bool network_discovery_enabled, + const std::string& network_discovery_config) override; void SetDevicesUpdatesEnabled(bool enabled) override; + void PerformActionOnRemotePage(const std::string& page_id, + const std::string& action) override; + void OpenRemotePage(const std::string& browser_id, + const std::string& url) override; + void OpenNodeFrontend() override; void DispatchProtocolMessageFromDevToolsFrontend( const std::string& message) override; void SendJsonRequest(const DispatchCallback& callback, @@ -114,6 +128,7 @@ class InspectableWebContentsImpl const std::string& value) override; void RemovePreference(const std::string& name) override; void ClearPreferences() override; + void ConnectionReady() override; void RegisterExtensionsAPI(const std::string& origin, const std::string& script) override; diff --git a/spec/api-browser-window-spec.js b/spec/api-browser-window-spec.js index 31064b00b76f..dcbf41d97204 100644 --- a/spec/api-browser-window-spec.js +++ b/spec/api-browser-window-spec.js @@ -2761,8 +2761,7 @@ describe('BrowserWindow module', () => { }) }) - // TODO(alexeykuzmin): [Ch66] Enable the tests. - xdescribe('for a valid extension', () => { + describe('for a valid extension', () => { const extensionName = 'foo' const removeExtension = () => { @@ -2803,7 +2802,8 @@ describe('BrowserWindow module', () => { expect(this.message).to.have.own.property('tabId') expect(this.message.tabId).to.equal(w.webContents.id) }) - it('has "i18nString" with proper contents', function () { + // TODO(zcbena): [Ch66] Enable the tests. + xit('has "i18nString" with proper contents', function () { expect(this.message).to.have.own.property('i18nString') expect(this.message.i18nString).to.equal('foo - bar (baz)') }) @@ -2849,8 +2849,7 @@ describe('BrowserWindow module', () => { }) }) - // TODO(alexeykuzmin): [Ch66] Times out. Fix it and enable. - xit('works when used with partitions', (done) => { + it('works when used with partitions', (done) => { if (w != null) { w.destroy() }