diff options
author | boliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-19 16:13:18 +0000 |
---|---|---|
committer | boliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-19 16:13:18 +0000 |
commit | 48495594c601e34b8caef655395bddaacc0cd967 (patch) | |
tree | bc6778bc953eb812f34c2bde3c44ab4449c16034 /chrome/renderer/render_widget_fullscreen.h | |
parent | 3deb16cc9c3938cbe4e496930ff428389f8b35d1 (diff) | |
download | chromium_src-48495594c601e34b8caef655395bddaacc0cd967.zip chromium_src-48495594c601e34b8caef655395bddaacc0cd967.tar.gz chromium_src-48495594c601e34b8caef655395bddaacc0cd967.tar.bz2 |
Use RenderWidget(Host) for full screen
Add RenderWidgetFullscreen(Host) subclasses, InitAsFullscreen method
to RenderWidgetHostView, and add two new ipc messages for creating
and showing full screen.
Add createFullscreenWindow to RenderView that creates RenderWidgetFullscreen
and sends message to browser which eventually creates RenderWidgetFullscreenHost.
The show method on RenderWidgetFullscreen sends message to parent
RenderViewHost in browser, which calls InitAsFullscreen on the view.
BUG=16735
TEST=RenderViewHostTest.CreateFullscreenWidget
Review URL: http://codereview.chromium.org/3055009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56690 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_widget_fullscreen.h')
-rw-r--r-- | chrome/renderer/render_widget_fullscreen.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/chrome/renderer/render_widget_fullscreen.h b/chrome/renderer/render_widget_fullscreen.h new file mode 100644 index 0000000..2573819 --- /dev/null +++ b/chrome/renderer/render_widget_fullscreen.h @@ -0,0 +1,34 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_RENDERER_RENDER_WIDGET_FULLSCREEN_H_ +#define CHROME_RENDERER_RENDER_WIDGET_FULLSCREEN_H_ + +#include "chrome/renderer/render_widget.h" + +#include "third_party/WebKit/WebKit/chromium/public/WebWidget.h" + +// TODO(boliu): Override non-supported methods with no-op? eg setWindowRect(). +class RenderWidgetFullscreen : public RenderWidget { + public: + // Creates a new RenderWidget. The opener_id is the routing ID of the + // RenderView that this widget lives inside. The render_thread is any + // RenderThreadBase implementation, mostly commonly RenderThread::current(). + static RenderWidgetFullscreen* Create(int32 opener_id, + RenderThreadBase* render_thread, + WebKit::WebPopupType popup_type); + + static WebKit::WebWidget* CreateWebWidget( + RenderWidgetFullscreen* render_widget); + + virtual void show(WebKit::WebNavigationPolicy); + + protected: + RenderWidgetFullscreen(RenderThreadBase* render_thread, + WebKit::WebPopupType popup_type); + + void Init(int32 opener_id); +}; + +#endif // CHROME_RENDERER_RENDER_WIDGET_FULLSCREEN_H_ |