From 5a44cc50cf5ad4ab40d1faf954def7509ce89904 Mon Sep 17 00:00:00 2001 From: Jeremy Apthorp Date: Tue, 12 Feb 2019 06:31:53 -0800 Subject: [PATCH] docs: migration guide for register{StandardSchemes => SchemesAsPrivileged} (#16762) * docs: migration guide for register{StandardSchemes => SchemesAsPrivileged} cc @nitsakh * Update docs/api/protocol.md Co-Authored-By: nornagon * Update docs/api/protocol.md Co-Authored-By: nornagon * Update protocol.md * Update docs/api/protocol.md Co-Authored-By: nornagon --- docs/api/protocol.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/api/protocol.md b/docs/api/protocol.md index 9ce37e8f71..84b43094b0 100644 --- a/docs/api/protocol.md +++ b/docs/api/protocol.md @@ -75,6 +75,22 @@ By default web storage apis (localStorage, sessionStorage, webSQL, indexedDB, co are disabled for non standard schemes. So in general if you want to register a custom protocol to replace the `http` protocol, you have to register it as a standard scheme. +`protocol.registerSchemesAsPriviliged` can be used to replicate the functionality of the previous `protocol.registerStandardSchemes`, `webFrame.registerURLSchemeAs*` and `protocol.registerServiceWorkerSchemes` functions that existed prior to Electron 5.0.0, for example: +``` +# before (<= v4.x) +// Main +protocol.registerStandardSchemes(['scheme1', 'scheme2'], { secure: true }) +// Renderer +webFrame.registerURLSchemeAsPrivileged('scheme1', { secure: true }) +webFrame.registerURLSchemeAsPrivileged('scheme2', { secure: true }) + +# after (>= v5.x) +protocol.registerSchemesAsPriviliged([ + { scheme: 'scheme1', privileges: { standard: true, secure: true } }, + { scheme: 'scheme2', privileges: { standard: true, secure: true } }, +]) +``` + ### `protocol.registerFileProtocol(scheme, handler[, completion])` * `scheme` String