Index: chrome/browser/extensions/extension_webkit_preferences.cc |
diff --git a/chrome/browser/extensions/extension_webkit_preferences.cc b/chrome/browser/extensions/extension_webkit_preferences.cc |
index 4be4be7faef99d5718840956ce3c9f279579feff..c598992d37dc3636b3fe1e175d2663122d5e9676 100644 |
--- a/chrome/browser/extensions/extension_webkit_preferences.cc |
+++ b/chrome/browser/extensions/extension_webkit_preferences.cc |
@@ -2,13 +2,16 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "webkit/glue/webpreferences.h" |
+#include "chrome/browser/extensions/extension_webkit_preferences.h" |
#include "chrome/common/extensions/extension.h" |
+#include "webkit/glue/webpreferences.h" |
namespace extension_webkit_preferences { |
-void SetPreferences(WebPreferences* webkit_prefs, const Extension* extension) { |
+void SetPreferences(const Extension* extension, |
+ content::ViewType render_view_type, |
+ WebPreferences* webkit_prefs) { |
if (extension && !extension->is_hosted_app()) { |
// Extensions are trusted so we override any user preferences for disabling |
// javascript or images. |
@@ -21,6 +24,14 @@ void SetPreferences(WebPreferences* webkit_prefs, const Extension* extension) { |
// Enable privileged WebGL extensions. |
webkit_prefs->privileged_webgl_extensions_enabled = true; |
+ |
+ // Disable anything that requires the GPU process for background pages. |
+ // See http://crbug.com/64512 and http://crbug.com/64841. |
+ if (render_view_type == chrome::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE) { |
+ webkit_prefs->experimental_webgl_enabled = false; |
+ webkit_prefs->accelerated_compositing_enabled = false; |
+ webkit_prefs->accelerated_2d_canvas_enabled = false; |
+ } |
} |
} |