Make it possible to set the display mode from Chromium

This CL allows setting of blink::WebView display mode with the value obtainted from the content::WebContentsDelegate implementations (so far there is a preliminary implementation at content_shell).
The display mode value is send along with ViewMsg_Resize_Params IPC message.

The follow-up layout test: https://codereview.chromium.org/1066213003/

BUG=471703

Review URL: https://codereview.chromium.org/964403003

Cr-Commit-Position: refs/heads/master@{#325200}
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 17733e04..1aab8b4 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -269,7 +269,8 @@
   void Apply(bool top_controls_shrink_blink_size,
              float top_controls_height,
              gfx::Rect resizer_rect,
-             bool is_fullscreen_granted);
+             bool is_fullscreen_granted,
+             blink::WebDisplayMode display_mode);
 
   RenderWidget* widget_;
 
@@ -307,7 +308,8 @@
   Apply(widget_->top_controls_shrink_blink_size_,
         widget_->top_controls_height_,
         widget_->resizer_rect_,
-        widget_->is_fullscreen_granted_);
+        widget_->is_fullscreen_granted_,
+        widget_->display_mode_);
 }
 
 RenderWidget::ScreenMetricsEmulator::~ScreenMetricsEmulator() {
@@ -324,6 +326,7 @@
                   original_visible_viewport_size_,
                   widget_->resizer_rect_,
                   widget_->is_fullscreen_granted_,
+                  widget_->display_mode_,
                   NO_RESIZE_ACK);
 }
 
@@ -337,14 +340,16 @@
   Apply(widget_->top_controls_shrink_blink_size_,
         widget_->top_controls_height_,
         widget_->resizer_rect_,
-        widget_->is_fullscreen_granted_);
+        widget_->is_fullscreen_granted_,
+        widget_->display_mode_);
 }
 
 void RenderWidget::ScreenMetricsEmulator::Apply(
     bool top_controls_shrink_blink_size,
     float top_controls_height,
     gfx::Rect resizer_rect,
-    bool is_fullscreen_granted) {
+    bool is_fullscreen_granted,
+    blink::WebDisplayMode display_mode) {
   applied_widget_rect_.set_size(gfx::Size(params_.viewSize));
   if (!applied_widget_rect_.width())
     applied_widget_rect_.set_width(original_size_.width());
@@ -410,6 +415,7 @@
                   applied_widget_rect_.size(),
                   resizer_rect,
                   is_fullscreen_granted,
+                  display_mode,
                   NO_RESIZE_ACK);
 }
 
@@ -424,7 +430,8 @@
   Apply(params.top_controls_shrink_blink_size,
         params.top_controls_height,
         params.resizer_rect,
-        params.is_fullscreen_granted);
+        params.is_fullscreen_granted,
+        params.display_mode);
 
   if (need_ack) {
     widget_->set_next_paint_is_resize_ack();
@@ -480,6 +487,7 @@
       is_hidden_(hidden),
       never_visible_(never_visible),
       is_fullscreen_granted_(false),
+      display_mode_(blink::WebDisplayModeUndefined),
       has_focus_(false),
       handling_input_event_(false),
       handling_ime_event_(false),
@@ -772,6 +780,7 @@
                           const gfx::Size& visible_viewport_size,
                           const gfx::Rect& resizer_rect,
                           bool is_fullscreen_granted,
+                          blink::WebDisplayMode display_mode,
                           const ResizeAck resize_ack) {
   if (resizing_mode_selector_->NeverUsesSynchronousResize()) {
     // A resize ack shouldn't be requested if we have not ACK'd the previous
@@ -799,6 +808,7 @@
   if (fullscreen_change)
     WillToggleFullscreen();
   is_fullscreen_granted_ = is_fullscreen_granted;
+  display_mode_ = display_mode;
 
   webwidget_->setTopControlsHeight(top_controls_height,
                                    top_controls_shrink_blink_size_);
@@ -844,6 +854,7 @@
          new_window_rect.size(),
          gfx::Rect(),
          is_fullscreen_granted_,
+         display_mode_,
          NO_RESIZE_ACK);
   view_screen_rect_ = new_window_rect;
   window_screen_rect_ = new_window_rect;
@@ -904,6 +915,7 @@
          params.visible_viewport_size,
          params.resizer_rect,
          params.is_fullscreen_granted,
+         params.display_mode,
          params.needs_resize_ack ? SEND_RESIZE_ACK : NO_RESIZE_ACK);
 
   if (orientation_changed)