| Index: content/renderer/render_widget.cc
|
| diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
|
| index 44962f51157839f7ff72b14dfe8bacfea6d89aee..3535aed3015ce4385b002452f4e7361d872fef51 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());
|
| @@ -407,6 +412,7 @@ void RenderWidget::ScreenMetricsEmulator::Apply(
|
| applied_widget_rect_.size(),
|
| resizer_rect,
|
| is_fullscreen,
|
| + display_mode,
|
| NO_RESIZE_ACK);
|
| }
|
|
|
| @@ -421,7 +427,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();
|
| @@ -476,7 +483,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),
|
| @@ -778,6 +785,7 @@ void RenderWidget::Resize(const gfx::Size& new_size,
|
| const gfx::Size& visible_viewport_size,
|
| const gfx::Rect& resizer_rect,
|
| bool is_fullscreen,
|
| + 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
|
| @@ -801,10 +809,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 ||
|
| + (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_);
|
| @@ -851,6 +862,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;
|
| @@ -910,6 +922,7 @@ void RenderWidget::OnResize(const ViewMsg_Resize_Params& params) {
|
| params.visible_viewport_size,
|
| params.resizer_rect,
|
| params.is_fullscreen,
|
| + params.display_mode,
|
| SEND_RESIZE_ACK);
|
|
|
| if (orientation_changed)
|
| @@ -1831,7 +1844,7 @@ void RenderWidget::WillToggleFullscreen() {
|
| if (!webwidget_)
|
| return;
|
|
|
| - if (is_fullscreen_) {
|
| + if (is_fullscreen()) {
|
| webwidget_->willExitFullScreen();
|
| } else {
|
| webwidget_->willEnterFullScreen();
|
| @@ -1842,7 +1855,7 @@ void RenderWidget::DidToggleFullscreen() {
|
| if (!webwidget_)
|
| return;
|
|
|
| - if (is_fullscreen_) {
|
| + if (is_fullscreen()) {
|
| webwidget_->didEnterFullScreen();
|
| } else {
|
| webwidget_->didExitFullScreen();
|
|
|