diff --git a/browser/atom_browser_client.cc b/browser/atom_browser_client.cc index 1942479a96..d35b81cc85 100644 --- a/browser/atom_browser_client.cc +++ b/browser/atom_browser_client.cc @@ -10,6 +10,7 @@ #include "browser/net/atom_url_request_context_getter.h" #include "browser/window_list.h" #include "content/public/browser/render_process_host.h" +#include "content/public/browser/render_view_host.h" #include "content/public/browser/site_instance.h" #include "content/public/browser/web_contents.h" #include "webkit/common/webpreferences.h" @@ -67,6 +68,12 @@ void AtomBrowserClient::OverrideWebkitPrefs( prefs->experimental_webgl_enabled = false; prefs->allow_displaying_insecure_content = true; prefs->allow_running_insecure_content = true; + + NativeWindow* window = NativeWindow::FromRenderView( + render_view_host->GetProcess()->GetID(), + render_view_host->GetRoutingID()); + if (window) + window->OverrideWebkitPrefs(url, prefs); } bool AtomBrowserClient::ShouldSwapProcessesForNavigation( diff --git a/browser/native_window.cc b/browser/native_window.cc index f6172334ff..e1f061d795 100644 --- a/browser/native_window.cc +++ b/browser/native_window.cc @@ -42,6 +42,7 @@ #include "vendor/brightray/browser/inspectable_web_contents.h" #include "vendor/brightray/browser/inspectable_web_contents_view.h" #include "webkit/common/user_agent/user_agent_util.h" +#include "webkit/common/webpreferences.h" using content::NavigationEntry; @@ -319,6 +320,12 @@ void NativeWindow::AppendExtraCommandLineSwitches(CommandLine* command_line, node_integration_); } +void NativeWindow::OverrideWebkitPrefs(const GURL& url, WebPreferences* prefs) { + // FIXME Disable accelerated composition in frameless window. + if (!has_frame_) + prefs->accelerated_compositing_enabled = false; +} + void NativeWindow::NotifyWindowClosed() { if (is_closed_) return; diff --git a/browser/native_window.h b/browser/native_window.h index efd319cd7c..287138aa8d 100644 --- a/browser/native_window.h +++ b/browser/native_window.h @@ -20,6 +20,7 @@ #include "vendor/brightray/browser/inspectable_web_contents_impl.h" class CommandLine; +struct WebPreferences; namespace base { class DictionaryValue; @@ -165,6 +166,7 @@ class NativeWindow : public brightray::DefaultWebContentsDelegate, // Called when renderer process is going to be started. void AppendExtraCommandLineSwitches(CommandLine* command_line, int child_process_id); + void OverrideWebkitPrefs(const GURL& url, WebPreferences* prefs); void AddObserver(NativeWindowObserver* obs) { observers_.AddObserver(obs);