Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index e3c2602b74c8bdd7d6976db1f6e2ee47f5720cf1..9105557e1a21d35d1867eb0bc6b3a1ff37fb0d30 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); |
+ bool is_fullscreen, |
+ 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_); |
+ widget_->is_fullscreen_, |
+ widget_->display_mode_); |
} |
RenderWidget::ScreenMetricsEmulator::~ScreenMetricsEmulator() { |
@@ -324,6 +326,7 @@ RenderWidget::ScreenMetricsEmulator::~ScreenMetricsEmulator() { |
original_visible_viewport_size_, |
widget_->resizer_rect_, |
widget_->is_fullscreen_, |
+ 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_); |
+ widget_->is_fullscreen_, |
+ widget_->display_mode_); |
} |
void RenderWidget::ScreenMetricsEmulator::Apply( |
bool top_controls_shrink_blink_size, |
float top_controls_height, |
gfx::Rect resizer_rect, |
- bool is_fullscreen) { |
+ bool is_fullscreen, |
+ 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, |
+ 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); |
+ params.is_fullscreen, |
+ params.display_mode); |
if (need_ack) { |
widget_->set_next_paint_is_resize_ack(); |
@@ -479,7 +486,7 @@ RenderWidget::RenderWidget(blink::WebPopupType popup_type, |
did_show_(false), |
is_hidden_(hidden), |
never_visible_(never_visible), |
- is_fullscreen_(false), |
+ display_mode_(blink::WebDisplayModeUndefined), |
has_focus_(false), |
handling_input_event_(false), |
handling_ime_event_(false), |
@@ -772,7 +779,8 @@ void RenderWidget::Resize(const gfx::Size& new_size, |
const gfx::Size& visible_viewport_size, |
const gfx::Rect& resizer_rect, |
bool is_fullscreen, |
- const ResizeAck resize_ack) { |
+ blink::WebDisplayMode display_mode, |
+ ResizeAck resize_ack) { |
if (resizing_mode_selector_->NeverUsesSynchronousResize()) { |
// A resize ack shouldn't be requested if we have not ACK'd the previous |
// one. |
@@ -795,10 +803,13 @@ void RenderWidget::Resize(const gfx::Size& new_size, |
resizer_rect_ = resizer_rect; |
// NOTE: We may have entered fullscreen mode without changing our size. |
- bool fullscreen_change = is_fullscreen_ != is_fullscreen; |
+ bool will_be_fullscreen = is_fullscreen || |
danakj
2015/03/25 16:56:38
I find it kinda weird that there is both is_fullsc
scheib
2015/03/27 16:50:51
Similar to above with is_fullscreen(), it seems th
|
+ (display_mode == blink::WebDisplayModeFullscreen); |
+ bool fullscreen_change = (will_be_fullscreen != this->is_fullscreen()); |
if (fullscreen_change) |
WillToggleFullscreen(); |
is_fullscreen_ = is_fullscreen; |
+ display_mode_ = display_mode; |
webwidget_->setTopControlsHeight(top_controls_height, |
top_controls_shrink_blink_size_); |
@@ -844,6 +855,7 @@ void RenderWidget::SetWindowRectSynchronously( |
new_window_rect.size(), |
gfx::Rect(), |
is_fullscreen_, |
+ display_mode_, |
NO_RESIZE_ACK); |
view_screen_rect_ = new_window_rect; |
window_screen_rect_ = new_window_rect; |
@@ -903,6 +915,7 @@ void RenderWidget::OnResize(const ViewMsg_Resize_Params& params) { |
params.visible_viewport_size, |
params.resizer_rect, |
params.is_fullscreen, |
+ params.display_mode, |
params.needs_resize_ack ? SEND_RESIZE_ACK : NO_RESIZE_ACK); |
if (orientation_changed) |
@@ -1836,7 +1849,7 @@ void RenderWidget::WillToggleFullscreen() { |
if (!webwidget_) |
return; |
- if (is_fullscreen_) { |
+ if (is_fullscreen()) { |
webwidget_->willExitFullScreen(); |
} else { |
webwidget_->willEnterFullScreen(); |
@@ -1847,7 +1860,7 @@ void RenderWidget::DidToggleFullscreen() { |
if (!webwidget_) |
return; |
- if (is_fullscreen_) { |
+ if (is_fullscreen()) { |
webwidget_->didEnterFullScreen(); |
} else { |
webwidget_->didExitFullScreen(); |