diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-14 19:34:09 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-14 19:34:09 +0000 |
commit | ee41e7d259c691dc90299f1f78e7739903cd403c (patch) | |
tree | 338406743d0dce6dfb8ac40efbfad0485213cd13 /content/renderer | |
parent | 22b88064b6053fd06ee6fc092fa55fef6bd3c28c (diff) | |
download | chromium_src-ee41e7d259c691dc90299f1f78e7739903cd403c.zip chromium_src-ee41e7d259c691dc90299f1f78e7739903cd403c.tar.gz chromium_src-ee41e7d259c691dc90299f1f78e7739903cd403c.tar.bz2 |
Add an is_fullscreen to ViewMsg_Resize, and make it available as a property of
RenderWidget.
This enables the RenderWidget to know when it has been placed into fullscreen
mode (which will be hooked up to Pepper in a subsequent change).
BUG=100264
Review URL: http://codereview.chromium.org/8283029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105544 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer')
-rw-r--r-- | content/renderer/render_view_impl.cc | 5 | ||||
-rw-r--r-- | content/renderer/render_view_impl.h | 3 | ||||
-rw-r--r-- | content/renderer/render_widget.cc | 5 | ||||
-rw-r--r-- | content/renderer/render_widget.h | 12 | ||||
-rw-r--r-- | content/renderer/render_widget_fullscreen_pepper.cc | 5 | ||||
-rw-r--r-- | content/renderer/render_widget_fullscreen_pepper.h | 3 |
6 files changed, 21 insertions, 12 deletions
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index 9e65677..3e74151 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -3922,7 +3922,8 @@ void RenderViewImpl::OnMoveOrResizeStarted() { } void RenderViewImpl::OnResize(const gfx::Size& new_size, - const gfx::Rect& resizer_rect) { + const gfx::Rect& resizer_rect, + bool is_fullscreen) { if (webview()) { webview()->hidePopups(); if (send_preferred_size_changes_) { @@ -3932,7 +3933,7 @@ void RenderViewImpl::OnResize(const gfx::Size& new_size, UpdateScrollState(webview()->mainFrame()); } - RenderWidget::OnResize(new_size, resizer_rect); + RenderWidget::OnResize(new_size, resizer_rect, is_fullscreen); } void RenderViewImpl::DidInitiatePaint() { diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h index 5ab8f8c..638e95d 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h @@ -617,7 +617,8 @@ class RenderViewImpl : public RenderWidget, // RenderWidget overrides: virtual void Close(); virtual void OnResize(const gfx::Size& new_size, - const gfx::Rect& resizer_rect); + const gfx::Rect& resizer_rect, + bool is_fullscreen); virtual void DidInitiatePaint(); virtual webkit::ppapi::PluginInstance* GetBitmapForOptimizedPluginPaint( const gfx::Rect& paint_bounds, diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc index e4333a9..8a5709f 100644 --- a/content/renderer/render_widget.cc +++ b/content/renderer/render_widget.cc @@ -77,6 +77,7 @@ RenderWidget::RenderWidget(WebKit::WebPopupType popup_type) num_swapbuffers_complete_pending_(0), did_show_(false), is_hidden_(false), + is_fullscreen_(false), needs_repainting_on_restore_(false), has_focus_(false), handling_input_event_(false), @@ -257,7 +258,8 @@ void RenderWidget::OnClose() { } void RenderWidget::OnResize(const gfx::Size& new_size, - const gfx::Rect& resizer_rect) { + const gfx::Rect& resizer_rect, + bool is_fullscreen) { // During shutdown we can just ignore this message. if (!webwidget_) return; @@ -276,6 +278,7 @@ void RenderWidget::OnResize(const gfx::Size& new_size, needs_repainting_on_restore_ = false; size_ = new_size; + is_fullscreen_ = is_fullscreen; // We should not be sent a Resize message if we have not ACK'd the previous DCHECK(!next_paint_is_resize_ack()); diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h index ddc3d9c..1a900ca 100644 --- a/content/renderer/render_widget.h +++ b/content/renderer/render_widget.h @@ -91,13 +91,11 @@ class CONTENT_EXPORT RenderWidget // May return NULL when the window is closing. WebKit::WebWidget* webwidget() const { return webwidget_; } + gfx::NativeViewId host_window() const { return host_window_; } gfx::Size size() const { return size_; } bool has_focus() const { return has_focus_; } - // TODO(darin): add a boolean flag to ViewMsg_Resize indicating whether or - // not we are in fullscreen mode. Return the value that was reported via the - // ViewMsg_Resize IPC here. - bool is_fullscreen() const { return true; } + bool is_fullscreen() const { return is_fullscreen_; } // IPC::Channel::Listener virtual bool OnMessageReceived(const IPC::Message& msg); @@ -197,7 +195,8 @@ class CONTENT_EXPORT RenderWidget void OnClose(); void OnCreatingNewAck(gfx::NativeViewId parent); virtual void OnResize(const gfx::Size& new_size, - const gfx::Rect& resizer_rect); + const gfx::Rect& resizer_rect, + bool is_fullscreen); virtual void OnWasHidden(); virtual void OnWasRestored(bool needs_repainting); virtual void OnWasSwappedOut(); @@ -397,6 +396,9 @@ class CONTENT_EXPORT RenderWidget // Indicates that we shouldn't bother generated paint events. bool is_hidden_; + // Indicates that we are in fullscreen mode. + bool is_fullscreen_; + // Indicates that we should be repainted when restored. This flag is set to // true if we receive an invalidation / scroll event from webkit while our // is_hidden_ flag is set to true. This is used to force a repaint once we diff --git a/content/renderer/render_widget_fullscreen_pepper.cc b/content/renderer/render_widget_fullscreen_pepper.cc index 5e7bb20..088be94 100644 --- a/content/renderer/render_widget_fullscreen_pepper.cc +++ b/content/renderer/render_widget_fullscreen_pepper.cc @@ -323,13 +323,14 @@ RenderWidgetFullscreenPepper::GetBitmapForOptimizedPluginPaint( } void RenderWidgetFullscreenPepper::OnResize(const gfx::Size& size, - const gfx::Rect& resizer_rect) { + const gfx::Rect& resizer_rect, + bool is_fullscreen) { if (context_) { gpu::gles2::GLES2Implementation* gl = context_->GetImplementation(); gl->ResizeCHROMIUM(size.width(), size.height()); gl->Viewport(0, 0, size.width(), size.height()); } - RenderWidget::OnResize(size, resizer_rect); + RenderWidget::OnResize(size, resizer_rect, is_fullscreen); } WebWidget* RenderWidgetFullscreenPepper::CreateWebWidget() { diff --git a/content/renderer/render_widget_fullscreen_pepper.h b/content/renderer/render_widget_fullscreen_pepper.h index eaddecf..867de9b 100644 --- a/content/renderer/render_widget_fullscreen_pepper.h +++ b/content/renderer/render_widget_fullscreen_pepper.h @@ -59,7 +59,8 @@ class RenderWidgetFullscreenPepper : public RenderWidgetFullscreen, gfx::Rect* location, gfx::Rect* clip); virtual void OnResize(const gfx::Size& new_size, - const gfx::Rect& resizer_rect); + const gfx::Rect& resizer_rect, + bool is_fullscreen); // RenderWidgetFullscreen API. virtual WebKit::WebWidget* CreateWebWidget(); |