| Index: content/renderer/render_view_impl.cc
|
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
|
| index f2f1077c568994b38feaff3d752ffb31aeac93c9..4983dec03ddb69a868c4c091a3ff419988783c57 100644
|
| --- a/content/renderer/render_view_impl.cc
|
| +++ b/content/renderer/render_view_impl.cc
|
| @@ -387,14 +387,14 @@ static bool DeviceScaleEnsuresTextQuality(float device_scale_factor) {
|
|
|
| }
|
|
|
| -static bool PreferCompositingToLCDText(float device_scale_factor) {
|
| +static bool PreferCompositingToLCDText(CompositorDependencies* compositor_deps,
|
| + float device_scale_factor) {
|
| const CommandLine& command_line = *CommandLine::ForCurrentProcess();
|
| if (command_line.HasSwitch(switches::kDisablePreferCompositingToLCDText))
|
| return false;
|
| if (command_line.HasSwitch(switches::kEnablePreferCompositingToLCDText))
|
| return true;
|
| - if (RenderThreadImpl::current() &&
|
| - !RenderThreadImpl::current()->is_lcd_text_enabled())
|
| + if (!compositor_deps->IsLcdTextEnabled())
|
| return true;
|
| return DeviceScaleEnsuresTextQuality(device_scale_factor);
|
| }
|
| @@ -672,9 +672,9 @@ RenderViewImpl::RenderViewImpl(const ViewMsg_New_Params& params)
|
| next_snapshot_id_(0) {
|
| }
|
|
|
| -void RenderViewImpl::Initialize(
|
| - const ViewMsg_New_Params& params,
|
| - bool was_created_by_renderer) {
|
| +void RenderViewImpl::Initialize(const ViewMsg_New_Params& params,
|
| + CompositorDependencies* compositor_deps,
|
| + bool was_created_by_renderer) {
|
| routing_id_ = params.view_id;
|
| surface_id_ = params.surface_id;
|
| if (params.opener_route_id != MSG_ROUTING_NONE && was_created_by_renderer)
|
| @@ -690,6 +690,7 @@ void RenderViewImpl::Initialize(
|
| WebLocalFrame* web_frame = WebLocalFrame::create(main_render_frame_.get());
|
| main_render_frame_->SetWebFrame(web_frame);
|
|
|
| + compositor_deps_ = compositor_deps;
|
| webwidget_ = WebView::create(this);
|
| webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_));
|
|
|
| @@ -734,7 +735,7 @@ void RenderViewImpl::Initialize(
|
| g_routing_id_view_map.Get().insert(std::make_pair(routing_id_, this));
|
| webview()->setDeviceScaleFactor(device_scale_factor_);
|
| webview()->settings()->setPreferCompositingToLCDTextEnabled(
|
| - PreferCompositingToLCDText(device_scale_factor_));
|
| + PreferCompositingToLCDText(compositor_deps_, device_scale_factor_));
|
| webview()->settings()->setThreadedScrollingEnabled(
|
| !command_line.HasSwitch(switches::kDisableThreadedScrolling));
|
| webview()->settings()->setRootLayerScrolls(
|
| @@ -754,8 +755,7 @@ void RenderViewImpl::Initialize(
|
| }
|
|
|
| // In --site-per-process, just use the WebRemoteFrame as the main frame.
|
| - if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSitePerProcess) &&
|
| - proxy) {
|
| + if (command_line.HasSwitch(switches::kSitePerProcess) && proxy) {
|
| webview()->setMainFrame(proxy->web_frame());
|
| // Initialize the WebRemoteFrame with information replicated from the
|
| // browser process.
|
| @@ -1133,9 +1133,9 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
|
| }
|
|
|
| /*static*/
|
| -RenderViewImpl* RenderViewImpl::Create(
|
| - const ViewMsg_New_Params& params,
|
| - bool was_created_by_renderer) {
|
| +RenderViewImpl* RenderViewImpl::Create(const ViewMsg_New_Params& params,
|
| + CompositorDependencies* compositor_deps,
|
| + bool was_created_by_renderer) {
|
| DCHECK(params.view_id != MSG_ROUTING_NONE);
|
| RenderViewImpl* render_view = NULL;
|
| if (g_create_render_view_impl)
|
| @@ -1143,7 +1143,7 @@ RenderViewImpl* RenderViewImpl::Create(
|
| else
|
| render_view = new RenderViewImpl(params);
|
|
|
| - render_view->Initialize(params, was_created_by_renderer);
|
| + render_view->Initialize(params, compositor_deps, was_created_by_renderer);
|
| return render_view;
|
| }
|
|
|
| @@ -1582,12 +1582,9 @@ WebView* RenderViewImpl::createView(WebLocalFrame* creator,
|
| int32 surface_id = 0;
|
| int64 cloned_session_storage_namespace_id = 0;
|
|
|
| - RenderThread::Get()->Send(
|
| - new ViewHostMsg_CreateWindow(params,
|
| - &routing_id,
|
| - &main_frame_routing_id,
|
| - &surface_id,
|
| - &cloned_session_storage_namespace_id));
|
| + RenderThread::Get()->Send(new ViewHostMsg_CreateWindow(
|
| + params, &routing_id, &main_frame_routing_id, &surface_id,
|
| + &cloned_session_storage_namespace_id));
|
| if (routing_id == MSG_ROUTING_NONE)
|
| return NULL;
|
|
|
| @@ -1630,7 +1627,8 @@ WebView* RenderViewImpl::createView(WebLocalFrame* creator,
|
| view_params.min_size = gfx::Size();
|
| view_params.max_size = gfx::Size();
|
|
|
| - RenderViewImpl* view = RenderViewImpl::Create(view_params, true);
|
| + RenderViewImpl* view =
|
| + RenderViewImpl::Create(view_params, compositor_deps_, true);
|
| view->opened_by_user_gesture_ = params.user_gesture;
|
|
|
| // Record whether the creator frame is trying to suppress the opener field.
|
| @@ -1640,8 +1638,8 @@ WebView* RenderViewImpl::createView(WebLocalFrame* creator,
|
| }
|
|
|
| WebWidget* RenderViewImpl::createPopupMenu(blink::WebPopupType popup_type) {
|
| - RenderWidget* widget =
|
| - RenderWidget::Create(routing_id_, popup_type, screen_info_);
|
| + RenderWidget* widget = RenderWidget::Create(routing_id_, compositor_deps_,
|
| + popup_type, screen_info_);
|
| if (!widget)
|
| return NULL;
|
| if (screen_metrics_emulator_) {
|
| @@ -3589,7 +3587,7 @@ void RenderViewImpl::SetDeviceScaleFactor(float device_scale_factor) {
|
| if (webview()) {
|
| webview()->setDeviceScaleFactor(device_scale_factor);
|
| webview()->settings()->setPreferCompositingToLCDTextEnabled(
|
| - PreferCompositingToLCDText(device_scale_factor_));
|
| + PreferCompositingToLCDText(compositor_deps_, device_scale_factor_));
|
| }
|
| if (auto_resize_mode_)
|
| AutoResizeCompositor();
|
|
|