Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2216)

Unified Diff: content/renderer/render_widget.cc

Issue 964403003: Make it possible to set the display mode from Chromium (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Improved the added browser test Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698