Add "plugins" attribute for <webview>
This commit is contained in:
parent
d1724ad733
commit
80d574482e
6 changed files with 11 additions and 4 deletions
|
@ -154,6 +154,8 @@ void AtomBrowserClient::AppendExtraCommandLineSwitches(
|
|||
command_line->AppendSwitchASCII(
|
||||
switches::kNodeIntegration,
|
||||
info.node_integration ? "true" : "false");
|
||||
if (info.plugins)
|
||||
command_line->AppendSwitch(switches::kEnablePlugins);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ createGuest = (embedder, params) ->
|
|||
guestInstanceId: id
|
||||
storagePartitionId: params.storagePartitionId
|
||||
guestInstances[id] = {guest, embedder}
|
||||
webViewManager.addGuest id, embedder, guest, params.nodeIntegration
|
||||
webViewManager.addGuest id, embedder, guest, params.nodeIntegration, params.plugins
|
||||
|
||||
# Destroy guest when the embedder is gone.
|
||||
embedder.once 'render-view-deleted', ->
|
||||
|
|
|
@ -43,11 +43,12 @@ WebViewManager::~WebViewManager() {
|
|||
void WebViewManager::AddGuest(int guest_instance_id,
|
||||
content::WebContents* embedder,
|
||||
content::WebContents* web_contents,
|
||||
bool node_integration) {
|
||||
bool node_integration,
|
||||
bool plugins) {
|
||||
web_contents_map_[guest_instance_id] = { web_contents, embedder };
|
||||
|
||||
WebViewRendererState::WebViewInfo web_view_info = {
|
||||
guest_instance_id, node_integration
|
||||
guest_instance_id, node_integration, plugins
|
||||
};
|
||||
content::BrowserThread::PostTask(
|
||||
content::BrowserThread::IO,
|
||||
|
|
|
@ -23,7 +23,8 @@ class WebViewManager : public content::BrowserPluginGuestManager {
|
|||
void AddGuest(int guest_instance_id,
|
||||
content::WebContents* embedder,
|
||||
content::WebContents* web_contents,
|
||||
bool node_integration);
|
||||
bool node_integration,
|
||||
bool plugins);
|
||||
void RemoveGuest(int guest_instance_id);
|
||||
|
||||
protected:
|
||||
|
|
|
@ -22,6 +22,7 @@ class WebViewRendererState {
|
|||
struct WebViewInfo {
|
||||
int guest_instance_id;
|
||||
bool node_integration;
|
||||
bool plugins;
|
||||
};
|
||||
|
||||
static WebViewRendererState* GetInstance();
|
||||
|
|
|
@ -20,6 +20,7 @@ WEB_VIEW_ATTRIBUTE_MINHEIGHT = 'minheight'
|
|||
WEB_VIEW_ATTRIBUTE_MINWIDTH = 'minwidth'
|
||||
WEB_VIEW_ATTRIBUTE_PARTITION = 'partition'
|
||||
WEB_VIEW_ATTRIBUTE_NODEINTEGRATION = 'nodeintegration'
|
||||
WEB_VIEW_ATTRIBUTE_PLUGINS = 'plugins'
|
||||
AUTO_SIZE_ATTRIBUTES = [
|
||||
WEB_VIEW_ATTRIBUTE_AUTOSIZE,
|
||||
WEB_VIEW_ATTRIBUTE_MAXHEIGHT,
|
||||
|
@ -377,6 +378,7 @@ class WebView
|
|||
params =
|
||||
storagePartitionId: storagePartitionId
|
||||
nodeIntegration: @webviewNode.hasAttribute WEB_VIEW_ATTRIBUTE_NODEINTEGRATION
|
||||
plugins: @webviewNode.hasAttribute WEB_VIEW_ATTRIBUTE_PLUGINS
|
||||
guestViewInternal.createGuest 'webview', params, (guestInstanceId) =>
|
||||
@pendingGuestCreation = false
|
||||
unless @elementAttached
|
||||
|
|
Loading…
Reference in a new issue