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..14b1d59a7796c18cf2aabc505d3bc3e376f15fe3 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->never_visible), |
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 never_visible, |
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, |
+ never_visible, |
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 never_visible = 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 |
+ never_visible, |
params.disposition == NEW_BACKGROUND_TAB, // hidden |
1, // next_page_id |
screen_info_, |