summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_widget_fullscreen.h
diff options
context:
space:
mode:
authorboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-19 16:13:18 +0000
committerboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-19 16:13:18 +0000
commit48495594c601e34b8caef655395bddaacc0cd967 (patch)
treebc6778bc953eb812f34c2bde3c44ab4449c16034 /chrome/renderer/render_widget_fullscreen.h
parent3deb16cc9c3938cbe4e496930ff428389f8b35d1 (diff)
downloadchromium_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.h34
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_