android: Use ScreenInfo to calculate tile size

This removes the dependency on deprecated DeviceDisplayInfo.
Try to emulate previous logic, though the physical dimension computed
from ScreenInfo has rounding errors, so it's not exact.

Note for perf sheriffs: this may have device-specific perf impact.

BUG=625089
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_blink_rel

Review-Url: https://codereview.chromium.org/2613303002
Cr-Commit-Position: refs/heads/master@{#442490}
diff --git a/content/renderer/gpu/render_widget_compositor.h b/content/renderer/gpu/render_widget_compositor.h
index 1bd9b6b4..f14063a9 100644
--- a/content/renderer/gpu/render_widget_compositor.h
+++ b/content/renderer/gpu/render_widget_compositor.h
@@ -50,6 +50,7 @@
 namespace content {
 
 class RenderWidgetCompositorDelegate;
+struct ScreenInfo;
 
 class CONTENT_EXPORT RenderWidgetCompositor
     : NON_EXPORTED_BASE(public blink::WebLayerTreeView),
@@ -62,6 +63,7 @@
   static std::unique_ptr<RenderWidgetCompositor> Create(
       RenderWidgetCompositorDelegate* delegate,
       float device_scale_factor,
+      const ScreenInfo& screen_info,
       CompositorDependencies* compositor_deps);
 
   ~RenderWidgetCompositor() override;
@@ -69,7 +71,8 @@
   static cc::LayerTreeSettings GenerateLayerTreeSettings(
       const base::CommandLine& cmd,
       CompositorDependencies* compositor_deps,
-      float device_scale_factor);
+      float device_scale_factor,
+      const ScreenInfo& screen_info);
   static cc::ManagedMemoryPolicy GetGpuMemoryPolicy(
       const cc::ManagedMemoryPolicy& policy);
 
@@ -209,7 +212,7 @@
   RenderWidgetCompositor(RenderWidgetCompositorDelegate* delegate,
                          CompositorDependencies* compositor_deps);
 
-  void Initialize(float device_scale_factor);
+  void Initialize(float device_scale_factor, const ScreenInfo& screen_info);
   cc::LayerTreeHost* layer_tree_host() { return layer_tree_host_.get(); }
 
  private: