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

Unified Diff: content/renderer/render_view_impl.cc

Issue 801973002: Introduce CompositorDependencies for RenderWidgetCompositor. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: compdep: . Created 6 years 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
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/renderer/render_widget.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/renderer/render_widget.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698