diff --git a/atom/browser/api/atom_api_protocol.cc b/atom/browser/api/atom_api_protocol.cc index 341baf2d1d1f..20667ffd3a04 100644 --- a/atom/browser/api/atom_api_protocol.cc +++ b/atom/browser/api/atom_api_protocol.cc @@ -52,7 +52,7 @@ void Protocol::RegisterStandardSchemes( if (Browser::Get()->is_ready()) { isolate()->ThrowException(v8::Exception::Error(mate::StringToV8( isolate(), - "\"protocol.registerStandardSchemes\" should be called before" + "protocol.registerStandardSchemes should be called before" "app is ready"))); return; } diff --git a/docs/api/protocol.md b/docs/api/protocol.md index 9474a4539a70..ab0bd7578894 100644 --- a/docs/api/protocol.md +++ b/docs/api/protocol.md @@ -7,11 +7,10 @@ An example of implementing a protocol that has the same effect as the ```javascript const electron = require('electron'); -const { app } = electron; +const { app, protocol } = electron; const path = require('path'); app.on('ready', function() { - const { protocol } = electron; protocol.registerFileProtocol('atom', function(request, callback) { const url = request.url.substr(7); callback({path: path.normalize(__dirname + '/' + url)}); @@ -21,9 +20,8 @@ app.on('ready', function() { }); }); ``` - -**Note:** This module can only be used after the `ready` event in the `app` -module is emitted. +**Note:** All methods unless specified can only be used after the `ready` +event in the `app` module is emitted. ## Methods @@ -35,7 +33,11 @@ The `protocol` module has the following methods: A standard `scheme` adheres to what RFC 3986 calls [generic URI syntax](https://tools.ietf.org/html/rfc3986#section-3). This -includes `file:` and `filesystem:`. +includes `file:`, `filesystem:`, `http` etc. Registering a scheme as standard, will +allow relative and absolute resources to be resolved correctly when served. + +**Note:** This method can only be used before the `ready` event in the +`app` module is emitted. ### `protocol.registerServiceWorkerSchemes(schemes)` diff --git a/spec/api-protocol-spec.js b/spec/api-protocol-spec.js index 2a1d158c3dfd..cfbbc6608e06 100644 --- a/spec/api-protocol-spec.js +++ b/spec/api-protocol-spec.js @@ -841,6 +841,12 @@ describe('protocol module', function () { }) }) + it('throws when called after ready event', function () { + assert.throws(function () { + protocol.registerStandardSchemes(['some-scheme']) + }, 'protocol.registerStandardSchemes should be called before app is ready') + }) + it('resolves relative resources', function (done) { var handler = function (request, callback) { if (request.url === imageURL) {