Remove deprecated options check in BrowserWindow
This commit is contained in:
parent
0342db9328
commit
6f0471f6cb
2 changed files with 1 additions and 72 deletions
|
@ -52,11 +52,6 @@ namespace api {
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
// This function is implemented in JavaScript
|
|
||||||
using DeprecatedOptionsCheckCallback =
|
|
||||||
base::Callback<std::string(v8::Local<v8::Value>)>;
|
|
||||||
DeprecatedOptionsCheckCallback g_deprecated_options_check;
|
|
||||||
|
|
||||||
void OnCapturePageDone(
|
void OnCapturePageDone(
|
||||||
v8::Isolate* isolate,
|
v8::Isolate* isolate,
|
||||||
const base::Callback<void(const gfx::Image&)>& callback,
|
const base::Callback<void(const gfx::Image&)>& callback,
|
||||||
|
@ -304,13 +299,6 @@ mate::WrappableBase* Window::New(v8::Isolate* isolate, mate::Arguments* args) {
|
||||||
options = mate::Dictionary::CreateEmpty(isolate);
|
options = mate::Dictionary::CreateEmpty(isolate);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string deprecation_message = g_deprecated_options_check.Run(
|
|
||||||
options.GetHandle());
|
|
||||||
if (deprecation_message.length() > 0) {
|
|
||||||
args->ThrowError(deprecation_message);
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Window(isolate, options);
|
return new Window(isolate, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -822,10 +810,6 @@ v8::Local<v8::Value> Window::From(v8::Isolate* isolate,
|
||||||
return v8::Null(isolate);
|
return v8::Null(isolate);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetDeprecatedOptionsCheck(const DeprecatedOptionsCheckCallback& callback) {
|
|
||||||
g_deprecated_options_check = callback;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace api
|
} // namespace api
|
||||||
|
|
||||||
} // namespace atom
|
} // namespace atom
|
||||||
|
@ -848,8 +832,6 @@ void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
|
||||||
|
|
||||||
mate::Dictionary dict(isolate, exports);
|
mate::Dictionary dict(isolate, exports);
|
||||||
dict.Set("BrowserWindow", browser_window);
|
dict.Set("BrowserWindow", browser_window);
|
||||||
dict.SetMethod("_setDeprecatedOptionsCheck",
|
|
||||||
&atom::api::SetDeprecatedOptionsCheck);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const ipcMain = require('electron').ipcMain
|
const ipcMain = require('electron').ipcMain
|
||||||
const deprecate = require('electron').deprecate
|
|
||||||
const EventEmitter = require('events').EventEmitter
|
const EventEmitter = require('events').EventEmitter
|
||||||
const {BrowserWindow, _setDeprecatedOptionsCheck} = process.atomBinding('window')
|
const {BrowserWindow} = process.atomBinding('window')
|
||||||
|
|
||||||
Object.setPrototypeOf(BrowserWindow.prototype, EventEmitter.prototype)
|
Object.setPrototypeOf(BrowserWindow.prototype, EventEmitter.prototype)
|
||||||
|
|
||||||
|
@ -196,56 +195,4 @@ BrowserWindow.prototype.inspectServiceWorker = function () {
|
||||||
return this.webContents.inspectServiceWorker()
|
return this.webContents.inspectServiceWorker()
|
||||||
}
|
}
|
||||||
|
|
||||||
const isDeprecatedKey = function (key) {
|
|
||||||
return key.indexOf('-') >= 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// Map deprecated key with hyphens to camel case key
|
|
||||||
const getNonDeprecatedKey = function (deprecatedKey) {
|
|
||||||
return deprecatedKey.replace(/-./g, function (match) {
|
|
||||||
return match[1].toUpperCase()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO Remove for 1.0
|
|
||||||
const checkForDeprecatedOptions = function (options) {
|
|
||||||
if (!options) return ''
|
|
||||||
|
|
||||||
let keysToCheck = Object.keys(options)
|
|
||||||
if (options.webPreferences) {
|
|
||||||
keysToCheck = keysToCheck.concat(Object.keys(options.webPreferences))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check options for keys with hyphens in them
|
|
||||||
let deprecatedKey = keysToCheck.filter(isDeprecatedKey)[0]
|
|
||||||
if (deprecatedKey) {
|
|
||||||
try {
|
|
||||||
deprecate.warn(deprecatedKey, getNonDeprecatedKey(deprecatedKey))
|
|
||||||
} catch (error) {
|
|
||||||
// Return error message so it can be rethrown via C++
|
|
||||||
return error.message
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let webPreferenceOption
|
|
||||||
if (options.hasOwnProperty('nodeIntegration')) {
|
|
||||||
webPreferenceOption = 'nodeIntegration'
|
|
||||||
} else if (options.hasOwnProperty('preload')) {
|
|
||||||
webPreferenceOption = 'preload'
|
|
||||||
} else if (options.hasOwnProperty('zoomFactor')) {
|
|
||||||
webPreferenceOption = 'zoomFactor'
|
|
||||||
}
|
|
||||||
if (webPreferenceOption) {
|
|
||||||
try {
|
|
||||||
deprecate.warn(`options.${webPreferenceOption}`, `options.webPreferences.${webPreferenceOption}`)
|
|
||||||
} catch (error) {
|
|
||||||
// Return error message so it can be rethrown via C++
|
|
||||||
return error.message
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ''
|
|
||||||
}
|
|
||||||
_setDeprecatedOptionsCheck(checkForDeprecatedOptions)
|
|
||||||
|
|
||||||
module.exports = BrowserWindow
|
module.exports = BrowserWindow
|
||||||
|
|
Loading…
Reference in a new issue