summaryrefslogtreecommitdiffstats
path: root/content/renderer/render_widget.cc
diff options
context:
space:
mode:
authormikhail.pozdnyakov <mikhail.pozdnyakov@intel.com>2015-04-14 23:51:12 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-15 06:51:42 +0000
commitc0e251b8eedbeec65e9d0cafc3c270f072fc6724 (patch)
tree2c2af403cfe497efee16ea8f44d9e18bf4d42271 /content/renderer/render_widget.cc
parentff7f5276bf1dc8eda41af0d976ce5fba85a50f63 (diff)
downloadchromium_src-c0e251b8eedbeec65e9d0cafc3c270f072fc6724.zip
chromium_src-c0e251b8eedbeec65e9d0cafc3c270f072fc6724.tar.gz
chromium_src-c0e251b8eedbeec65e9d0cafc3c270f072fc6724.tar.bz2
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}
Diffstat (limited to 'content/renderer/render_widget.cc')
-rw-r--r--content/renderer/render_widget.cc22
1 files changed, 17 insertions, 5 deletions
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 17733e0..1aab8b4 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -269,7 +269,8 @@ class RenderWidget::ScreenMetricsEmulator {
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 @@ RenderWidget::ScreenMetricsEmulator::ScreenMetricsEmulator(
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 @@ RenderWidget::ScreenMetricsEmulator::~ScreenMetricsEmulator() {
original_visible_viewport_size_,
widget_->resizer_rect_,
widget_->is_fullscreen_granted_,
+ widget_->display_mode_,
NO_RESIZE_ACK);
}
@@ -337,14 +340,16 @@ void RenderWidget::ScreenMetricsEmulator::Reapply() {
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 @@ void RenderWidget::ScreenMetricsEmulator::Apply(
applied_widget_rect_.size(),
resizer_rect,
is_fullscreen_granted,
+ display_mode,
NO_RESIZE_ACK);
}
@@ -424,7 +430,8 @@ void RenderWidget::ScreenMetricsEmulator::OnResizeMessage(
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 @@ RenderWidget::RenderWidget(blink::WebPopupType popup_type,
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 @@ void RenderWidget::Resize(const gfx::Size& new_size,
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 @@ void RenderWidget::Resize(const gfx::Size& new_size,
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 @@ void RenderWidget::SetWindowRectSynchronously(
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 @@ void RenderWidget::OnResize(const ViewMsg_Resize_Params& params) {
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)