Note about incorrect usage of blink::SchemeRegistry methods
This commit is contained in:
parent
73919ea91a
commit
fd297722a8
4 changed files with 6 additions and 9 deletions
|
@ -215,6 +215,10 @@ void WebFrame::RegisterURLSchemeAsBypassingCSP(const std::string& scheme) {
|
||||||
|
|
||||||
void WebFrame::RegisterURLSchemeAsPrivileged(const std::string& scheme,
|
void WebFrame::RegisterURLSchemeAsPrivileged(const std::string& scheme,
|
||||||
mate::Arguments* args) {
|
mate::Arguments* args) {
|
||||||
|
// TODO(deepak1556): blink::SchemeRegistry methods should be called
|
||||||
|
// before any renderer threads are created. Fixing this would break
|
||||||
|
// current api. Change it with 2.0.
|
||||||
|
|
||||||
// Read optional flags
|
// Read optional flags
|
||||||
bool secure = true;
|
bool secure = true;
|
||||||
bool bypassCSP = true;
|
bool bypassCSP = true;
|
||||||
|
|
|
@ -116,6 +116,7 @@ void RendererClientBase::RenderThreadStarted() {
|
||||||
// Allow file scheme to handle service worker by default.
|
// Allow file scheme to handle service worker by default.
|
||||||
// FIXME(zcbenz): Can this be moved elsewhere?
|
// FIXME(zcbenz): Can this be moved elsewhere?
|
||||||
blink::WebSecurityPolicy::RegisterURLSchemeAsAllowingServiceWorkers("file");
|
blink::WebSecurityPolicy::RegisterURLSchemeAsAllowingServiceWorkers("file");
|
||||||
|
blink::SchemeRegistry::RegisterURLSchemeAsSupportingFetchAPI("file");
|
||||||
|
|
||||||
preferences_manager_.reset(new PreferencesManager);
|
preferences_manager_.reset(new PreferencesManager);
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,6 @@ describe('webFrame module', function () {
|
||||||
|
|
||||||
describe('webFrame.registerURLSchemeAsPrivileged', function () {
|
describe('webFrame.registerURLSchemeAsPrivileged', function () {
|
||||||
it('supports fetch api by default', function (done) {
|
it('supports fetch api by default', function (done) {
|
||||||
webFrame.registerURLSchemeAsPrivileged('file')
|
|
||||||
var url = 'file://' + fixtures + '/assets/logo.png'
|
var url = 'file://' + fixtures + '/assets/logo.png'
|
||||||
window.fetch(url).then(function (response) {
|
window.fetch(url).then(function (response) {
|
||||||
assert(response.ok)
|
assert(response.ok)
|
||||||
|
|
|
@ -4,7 +4,7 @@ const http = require('http')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const ws = require('ws')
|
const ws = require('ws')
|
||||||
const url = require('url')
|
const url = require('url')
|
||||||
const {ipcRenderer, remote, webFrame} = require('electron')
|
const {ipcRenderer, remote} = require('electron')
|
||||||
const {closeWindow} = require('./window-helpers')
|
const {closeWindow} = require('./window-helpers')
|
||||||
|
|
||||||
const {app, BrowserWindow, ipcMain, protocol, session, webContents} = remote
|
const {app, BrowserWindow, ipcMain, protocol, session, webContents} = remote
|
||||||
|
@ -1043,13 +1043,6 @@ describe('chromium feature', () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should not open when pdf is requested as sub resource', (done) => {
|
it('should not open when pdf is requested as sub resource', (done) => {
|
||||||
createBrowserWindow({plugins: true, preload: 'preload-pdf-loaded.js'})
|
|
||||||
webFrame.registerURLSchemeAsPrivileged('file', {
|
|
||||||
secure: false,
|
|
||||||
bypassCSP: false,
|
|
||||||
allowServiceWorkers: false,
|
|
||||||
corsEnabled: false
|
|
||||||
})
|
|
||||||
fetch(pdfSource).then((res) => {
|
fetch(pdfSource).then((res) => {
|
||||||
assert.equal(res.status, 200)
|
assert.equal(res.status, 200)
|
||||||
assert.notEqual(document.title, 'cat.pdf')
|
assert.notEqual(document.title, 'cat.pdf')
|
||||||
|
|
Loading…
Reference in a new issue