Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 8cb6d43f62cff3ac5d53a4cf4c78153328153bcf..cc2f998c740dace87ce96197476dd8604afbf6be 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), |
@@ -927,6 +928,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) { |
@@ -942,6 +944,7 @@ RenderViewImpl* RenderViewImpl::Create( |
is_renderer_created, |
swapped_out, |
hidden, |
+ never_visible, |
next_page_id, |
screen_info, |
accessibility_mode); |
@@ -1507,19 +1510,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 tell 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 |
@@ -1529,7 +1524,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, |
@@ -1538,7 +1533,8 @@ WebView* RenderViewImpl::createView(WebLocalFrame* creator, |
true, // is_renderer_created |
false, // swapped_out |
params.disposition == NEW_BACKGROUND_TAB, // hidden |
- 1, // next_page_id |
+ never_visible, |
+ 1, // next_page_id |
screen_info_, |
accessibility_mode_); |
view->opened_by_user_gesture_ = params.user_gesture; |