diff --git a/brightray/browser/devtools_embedder_message_dispatcher.cc b/brightray/browser/devtools_embedder_message_dispatcher.cc index b6abdfbae565..a869c29743e6 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, diff --git a/brightray/browser/devtools_embedder_message_dispatcher.h b/brightray/browser/devtools_embedder_message_dispatcher.h index 060275a964be..84d30f680293 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; diff --git a/brightray/browser/inspectable_web_contents_impl.cc b/brightray/browser/inspectable_web_contents_impl.cc index ab609a4a9d19..65c1092bd428 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" @@ -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) { diff --git a/brightray/browser/inspectable_web_contents_impl.h b/brightray/browser/inspectable_web_contents_impl.h index 9ebcbfdd1ff3..614f7945eb65 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;