diff --git a/browser/api/atom_api_protocol.cc b/browser/api/atom_api_protocol.cc index 8fe1571c27..69f7ebe719 100644 --- a/browser/api/atom_api_protocol.cc +++ b/browser/api/atom_api_protocol.cc @@ -298,6 +298,12 @@ v8::Handle Protocol::UnregisterProtocol(const v8::Arguments& args) { return v8::Undefined(); } +// static +v8::Handle Protocol::IsHandledProtocol(const v8::Arguments& args) { + return v8::Boolean::New(net::URLRequest::IsHandledProtocol( + *v8::String::Utf8Value(args[0]))); +} + // static void Protocol::RegisterProtocolInIO(const std::string& scheme) { DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); @@ -316,6 +322,7 @@ void Protocol::UnregisterProtocolInIO(const std::string& scheme) { void Protocol::Initialize(v8::Handle target) { node::SetMethod(target, "registerProtocol", RegisterProtocol); node::SetMethod(target, "unregisterProtocol", UnregisterProtocol); + node::SetMethod(target, "isHandledProtocol", IsHandledProtocol); } } // namespace api diff --git a/browser/api/atom_api_protocol.h b/browser/api/atom_api_protocol.h index 7e2f0bf36d..4b9b0bfe32 100644 --- a/browser/api/atom_api_protocol.h +++ b/browser/api/atom_api_protocol.h @@ -22,6 +22,7 @@ class Protocol { private: static v8::Handle RegisterProtocol(const v8::Arguments& args); static v8::Handle UnregisterProtocol(const v8::Arguments& args); + static v8::Handle IsHandledProtocol(const v8::Arguments& args); static void RegisterProtocolInIO(const std::string& scheme); static void UnregisterProtocolInIO(const std::string& scheme);