Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1458)

Unified Diff: content/renderer/render_view_impl.cc

Issue 233093006: Stop disabling force_compositing_mode for background RenderViews. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: background: test Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 0d4c45e06236690a9825b4885304e0054337c13f..af5e7cca1d6582be5a724cf4c49ab868cfb166fd 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -642,7 +642,8 @@ RenderViewImpl::RenderViewImpl(RenderViewImplParams* params)
: RenderWidget(blink::WebPopupTypeNone,
params->screen_info,
params->swapped_out,
- params->hidden),
+ params->hidden,
+ params->background),
webkit_preferences_(params->webkit_prefs),
send_content_state_immediately_(false),
enabled_bindings_(0),
@@ -926,6 +927,7 @@ RenderViewImpl* RenderViewImpl::Create(
bool is_renderer_created,
bool swapped_out,
bool hidden,
+ bool background,
int32 next_page_id,
const blink::WebScreenInfo& screen_info,
AccessibilityMode accessibility_mode) {
@@ -941,6 +943,7 @@ RenderViewImpl* RenderViewImpl::Create(
is_renderer_created,
swapped_out,
hidden,
+ background,
next_page_id,
screen_info,
accessibility_mode);
@@ -1519,19 +1522,11 @@ WebView* RenderViewImpl::createView(WebLocalFrame* creator,
WebUserGestureIndicator::consumeUserGesture();
- WebPreferences transferred_preferences = webkit_preferences_;
-
- // Unless accelerated compositing has been explicitly disabled from the
- // command line (e.g. via the blacklist or about:flags) re-enable it for
- // new views that get spawned by this view. This gets around the issue that
- // background extension pages disable accelerated compositing via web prefs
- // but can themselves spawn a visible render view which should be allowed
- // use gpu acceleration.
- if (!webkit_preferences_.accelerated_compositing_enabled) {
- const CommandLine& command_line = *CommandLine::ForCurrentProcess();
- if (!command_line.HasSwitch(switches::kDisableAcceleratedCompositing))
- transferred_preferences.accelerated_compositing_enabled = true;
- }
+ // While this view may be a background extension page, it can spawn a visible
+ // render view. So we just assume that the new one is not another background
+ // page instead of passing on our own value.
+ // TODO(vangelis): Can we call if the new view will be a background page?
+ bool is_background = false;
// The initial hidden state for the RenderViewImpl here has to match what the
// browser will eventually decide for the given disposition. Since we have to
@@ -1541,7 +1536,7 @@ WebView* RenderViewImpl::createView(WebLocalFrame* creator,
RenderViewImpl* view = RenderViewImpl::Create(
routing_id_,
renderer_preferences_,
- transferred_preferences,
+ webkit_preferences_,
routing_id,
main_frame_routing_id,
surface_id,
@@ -1549,6 +1544,7 @@ WebView* RenderViewImpl::createView(WebLocalFrame* creator,
base::string16(), // WebCore will take care of setting the correct name.
true, // is_renderer_created
false, // swapped_out
+ is_background,
params.disposition == NEW_BACKGROUND_TAB, // hidden
1, // next_page_id
screen_info_,

Powered by Google App Engine
This is Rietveld 408576698