Add "preload" option for BrowserWindow
This commit is contained in:
parent
14d01544d4
commit
9f29f66768
4 changed files with 16 additions and 2 deletions
|
@ -101,6 +101,13 @@ NativeWindow::NativeWindow(content::WebContents* web_contents,
|
||||||
// Read icon before window is created.
|
// Read icon before window is created.
|
||||||
options.Get(switches::kIcon, &icon_);
|
options.Get(switches::kIcon, &icon_);
|
||||||
|
|
||||||
|
// The "preload" option must be absolute path.
|
||||||
|
if (options.Get(switches::kPreloadScript, &preload_script_) &&
|
||||||
|
!preload_script_.IsAbsolute()) {
|
||||||
|
LOG(ERROR) << "Path of \"preload\" script must be absolute.";
|
||||||
|
preload_script_.clear();
|
||||||
|
}
|
||||||
|
|
||||||
// Be compatible with old API of "node-integration" option.
|
// Be compatible with old API of "node-integration" option.
|
||||||
std::string old_string_token;
|
std::string old_string_token;
|
||||||
if (options.Get(switches::kNodeIntegration, &old_string_token) &&
|
if (options.Get(switches::kNodeIntegration, &old_string_token) &&
|
||||||
|
@ -349,6 +356,10 @@ void NativeWindow::AppendExtraCommandLineSwitches(
|
||||||
command_line->AppendSwitchASCII(switches::kNodeIntegration,
|
command_line->AppendSwitchASCII(switches::kNodeIntegration,
|
||||||
node_integration_ ? "true" : "false");
|
node_integration_ ? "true" : "false");
|
||||||
|
|
||||||
|
// Append --preload.
|
||||||
|
if (!preload_script_.empty())
|
||||||
|
command_line->AppendSwitchPath(switches::kPreloadScript, preload_script_);
|
||||||
|
|
||||||
// Append --zoom-factor.
|
// Append --zoom-factor.
|
||||||
if (zoom_factor_ != 1.0)
|
if (zoom_factor_ != 1.0)
|
||||||
command_line->AppendSwitchASCII(switches::kZoomFactor,
|
command_line->AppendSwitchASCII(switches::kZoomFactor,
|
||||||
|
|
|
@ -318,6 +318,9 @@ class NativeWindow : public brightray::DefaultWebContentsDelegate,
|
||||||
// Web preferences.
|
// Web preferences.
|
||||||
mate::PersistentDictionary web_preferences_;
|
mate::PersistentDictionary web_preferences_;
|
||||||
|
|
||||||
|
// The script to load before page's JavaScript starts to run.
|
||||||
|
base::FilePath preload_script_;
|
||||||
|
|
||||||
// Page's default zoom factor.
|
// Page's default zoom factor.
|
||||||
double zoom_factor_;
|
double zoom_factor_;
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ const char kEnablePlugins[] = "enable-plugins";
|
||||||
const char kGuestInstanceID[] = "guest-instance-id";
|
const char kGuestInstanceID[] = "guest-instance-id";
|
||||||
|
|
||||||
// Script that will be loaded by guest WebContents before other scripts.
|
// Script that will be loaded by guest WebContents before other scripts.
|
||||||
const char kPreloadScript[] = "preload-script";
|
const char kPreloadScript[] = "preload";
|
||||||
|
|
||||||
// Web runtime features.
|
// Web runtime features.
|
||||||
const char kExperimentalFeatures[] = "experimental-features";
|
const char kExperimentalFeatures[] = "experimental-features";
|
||||||
|
|
|
@ -31,7 +31,7 @@ for arg in process.argv
|
||||||
require('web-frame').setName 'ATOM_SHELL_GUEST_WEB_VIEW'
|
require('web-frame').setName 'ATOM_SHELL_GUEST_WEB_VIEW'
|
||||||
else if arg.indexOf('--node-integration=') == 0
|
else if arg.indexOf('--node-integration=') == 0
|
||||||
nodeIntegration = arg.substr arg.indexOf('=') + 1
|
nodeIntegration = arg.substr arg.indexOf('=') + 1
|
||||||
else if arg.indexOf('--preload-script=') == 0
|
else if arg.indexOf('--preload=') == 0
|
||||||
preloadScript = arg.substr arg.indexOf('=') + 1
|
preloadScript = arg.substr arg.indexOf('=') + 1
|
||||||
|
|
||||||
if location.protocol is 'chrome-devtools:'
|
if location.protocol is 'chrome-devtools:'
|
||||||
|
|
Loading…
Reference in a new issue