diff --git a/atom/browser/atom_browser_client.cc b/atom/browser/atom_browser_client.cc index 323acdd9b370..87f18316a664 100644 --- a/atom/browser/atom_browser_client.cc +++ b/atom/browser/atom_browser_client.cc @@ -23,8 +23,9 @@ #include "base/command_line.h" #include "base/files/file_util.h" #include "base/stl_util.h" -#include "base/strings/string_util.h" #include "base/strings/string_number_conversions.h" +#include "base/strings/string_split.h" +#include "base/strings/string_util.h" #include "chrome/browser/printing/printing_message_filter.h" #include "chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.h" #include "chrome/browser/renderer_host/pepper/widevine_cdm_message_filter.h" @@ -279,6 +280,21 @@ bool AtomBrowserClient::CanCreateWindow( return false; } +void AtomBrowserClient::GetAdditionalAllowedSchemesForFileSystem( + std::vector* additional_schemes) { + // Parse --standard-schemes=scheme1,scheme2 + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + std::string custom_schemes = command_line->GetSwitchValueASCII( + switches::kStandardSchemes); + if (!custom_schemes.empty()) { + std::vector schemes_list = base::SplitString( + custom_schemes, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY); + additional_schemes->insert(additional_schemes->end(), + schemes_list.begin(), + schemes_list.end()); + } +} + brightray::BrowserMainParts* AtomBrowserClient::OverrideCreateBrowserMainParts( const content::MainFunctionParams&) { v8::V8::Initialize(); // Init V8 before creating main parts. diff --git a/atom/browser/atom_browser_client.h b/atom/browser/atom_browser_client.h index a61706534aa8..e5ccb7961c32 100644 --- a/atom/browser/atom_browser_client.h +++ b/atom/browser/atom_browser_client.h @@ -94,6 +94,8 @@ class AtomBrowserClient : public brightray::BrowserClient, int opener_render_view_id, int opener_render_frame_id, bool* no_javascript_access) override; + void GetAdditionalAllowedSchemesForFileSystem( + std::vector* schemes) override; // brightray::BrowserClient: brightray::BrowserMainParts* OverrideCreateBrowserMainParts(