Add "disablewebsecurity" attribute for <webview>

This commit is contained in:
Cheng Zhao 2014-12-17 16:32:25 -08:00
Родитель 6d168b89ef
Коммит c92d2531b5
6 изменённых файлов: 11 добавлений и 2 удалений

Просмотреть файл

@ -93,6 +93,7 @@ attachGuest = (embedder, elementInstanceId, guestInstanceId, params) ->
webViewManager.addGuest guestInstanceId, elementInstanceId, embedder, guest,
nodeIntegration: params.nodeintegration
plugins: params.plugins
disableWebSecurity: params.disablewebsecurity
preloadUrl: params.preload ? ''
guest.attachParams = params

Просмотреть файл

@ -41,7 +41,8 @@ struct Converter<atom::WebViewManager::WebViewOptions> {
return false;
return options.Get("nodeIntegration", &(out->node_integration)) &&
options.Get("plugins", &(out->plugins)) &&
options.Get("preloadUrl", &(out->preload_url));
options.Get("preloadUrl", &(out->preload_url)) &&
options.Get("disableWebSecurity", &(out->disable_web_security));
}
};
@ -63,7 +64,10 @@ void WebViewManager::AddGuest(int guest_instance_id,
web_contents_map_[guest_instance_id] = { web_contents, embedder };
WebViewRendererState::WebViewInfo web_view_info = {
guest_instance_id, options.node_integration, options.plugins
guest_instance_id,
options.node_integration,
options.plugins,
options.disable_web_security,
};
net::FileURLToFilePath(options.preload_url, &web_view_info.preload_script);
content::BrowserThread::PostTask(

Просмотреть файл

@ -24,6 +24,7 @@ class WebViewManager : public content::BrowserPluginGuestManager {
struct WebViewOptions {
bool node_integration;
bool plugins;
bool disable_web_security;
GURL preload_url;
};

Просмотреть файл

@ -24,6 +24,7 @@ class WebViewRendererState {
int guest_instance_id;
bool node_integration;
bool plugins;
bool disable_web_security;
base::FilePath preload_script;
};

Просмотреть файл

@ -195,6 +195,7 @@ WebViewImpl::setupWebViewAttributes = ->
@attributes[webViewConstants.ATTRIBUTE_HTTPREFERRER] = new HttpReferrerAttribute(this)
@attributes[webViewConstants.ATTRIBUTE_NODEINTEGRATION] = new BooleanAttribute(webViewConstants.ATTRIBUTE_NODEINTEGRATION, this)
@attributes[webViewConstants.ATTRIBUTE_PLUGINS] = new BooleanAttribute(webViewConstants.ATTRIBUTE_PLUGINS, this)
@attributes[webViewConstants.ATTRIBUTE_DISABLEWEBSECURITY] = new BooleanAttribute(webViewConstants.ATTRIBUTE_DISABLEWEBSECURITY, this)
@attributes[webViewConstants.ATTRIBUTE_PRELOAD] = new PreloadAttribute(this)
autosizeAttributes = [

Просмотреть файл

@ -12,6 +12,7 @@ module.exports =
ATTRIBUTE_HTTPREFERRER: 'httpreferrer'
ATTRIBUTE_NODEINTEGRATION: 'nodeintegration'
ATTRIBUTE_PLUGINS: 'plugins'
ATTRIBUTE_DISABLEWEBSECURITY: 'disablewebsecurity'
ATTRIBUTE_PRELOAD: 'preload'
# Internal attribute.