summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-25 19:46:28 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-25 19:46:28 +0000
commit98b3860142549f66f841c1a073182628a05a823e (patch)
treef5d8db358c4a7f5d8a58c41b20cb9a0abcd1102f /chrome
parente4d8e1c51a06fee5e6c35d47feea83b1c7347dc4 (diff)
downloadchromium_src-98b3860142549f66f841c1a073182628a05a823e.zip
chromium_src-98b3860142549f66f841c1a073182628a05a823e.tar.gz
chromium_src-98b3860142549f66f841c1a073182628a05a823e.tar.bz2
Refactor some widget creation code in web_contents_view and render_widget_host_view.
This only affects popups. The advantages of this refactoring are to get rid of a TODO and allow some unforking of web_contents_view_*. Review URL: http://codereview.chromium.org/48103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12483 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view.h16
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_gtk.h6
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_mac.h2
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_mac.mm6
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_win.cc12
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_win.h17
-rw-r--r--chrome/browser/renderer_host/test_render_view_host.h2
-rw-r--r--chrome/browser/tab_contents/web_contents.h1
-rw-r--r--chrome/browser/tab_contents/web_contents_view.cc35
-rw-r--r--chrome/browser/tab_contents/web_contents_view.h11
-rw-r--r--chrome/browser/tab_contents/web_contents_view_gtk.cc32
-rw-r--r--chrome/browser/tab_contents/web_contents_view_gtk.h6
-rw-r--r--chrome/browser/tab_contents/web_contents_view_mac.h6
-rw-r--r--chrome/browser/tab_contents/web_contents_view_mac.mm19
-rw-r--r--chrome/browser/tab_contents/web_contents_view_win.cc54
-rw-r--r--chrome/browser/tab_contents/web_contents_view_win.h6
16 files changed, 86 insertions, 145 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host_view.h b/chrome/browser/renderer_host/render_widget_host_view.h
index f269844..0779e5f 100644
--- a/chrome/browser/renderer_host/render_widget_host_view.h
+++ b/chrome/browser/renderer_host/render_widget_host_view.h
@@ -43,6 +43,11 @@ class RenderWidgetHostView {
// going to be a regular RenderWidgetHost or a RenderViewHost (a subclass).
static RenderWidgetHostView* CreateViewForWidget(RenderWidgetHost* widget);
+ // Perform all the initialization steps necessary for this object to represent
+ // a popup (such as a <select> dropdown), then shows the popup at |pos|.
+ virtual void InitAsPopup(RenderWidgetHostView* parent_host_view,
+ const gfx::Rect& pos) = 0;
+
// Returns the associated RenderWidgetHost.
virtual RenderWidgetHost* GetRenderWidgetHost() const = 0;
@@ -113,9 +118,18 @@ class RenderWidgetHostView {
// Allocate a backing store for this view
virtual BackingStore* AllocBackingStore(const gfx::Size& size) = 0;
+ void set_activatable(bool activatable) {
+ activatable_ = activatable;
+ }
+ bool activatable() const { return activatable_; }
+
protected:
// Interface class only, do not construct.
- RenderWidgetHostView() {}
+ RenderWidgetHostView() : activatable_(true) {}
+
+ // Whether the window can be activated. Autocomplete popup windows for example
+ // cannot be activated. Default is true.
+ bool activatable_;
private:
DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostView);
diff --git a/chrome/browser/renderer_host/render_widget_host_view_gtk.h b/chrome/browser/renderer_host/render_widget_host_view_gtk.h
index e045213..61edf67 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_gtk.h
+++ b/chrome/browser/renderer_host/render_widget_host_view_gtk.h
@@ -25,10 +25,6 @@ class RenderWidgetHostViewGtk : public RenderWidgetHostView {
// Initialize this object for use as a drawing area.
void InitAsChild();
- // Initialize this object for use as a popup (e.g. HTML dropdown menu).
- void InitAsPopup(RenderWidgetHostView* parent_host_view,
- const gfx::Rect& pos);
-
// TODO(estade): unfork this with RenderWidgetHostViewWin function of same
// name.
void set_activatable(bool activatable) { activatable_ = activatable; }
@@ -36,6 +32,8 @@ class RenderWidgetHostViewGtk : public RenderWidgetHostView {
// ---------------------------------------------------------------------------
// Implementation of RenderWidgetHostView...
+ void InitAsPopup(RenderWidgetHostView* parent_host_view,
+ const gfx::Rect& pos);
RenderWidgetHost* GetRenderWidgetHost() const { return host_; }
void DidBecomeSelected();
void WasHidden();
diff --git a/chrome/browser/renderer_host/render_widget_host_view_mac.h b/chrome/browser/renderer_host/render_widget_host_view_mac.h
index 38f72dd..fef0336 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_mac.h
+++ b/chrome/browser/renderer_host/render_widget_host_view_mac.h
@@ -56,6 +56,8 @@ class RenderWidgetHostViewMac : public RenderWidgetHostView {
gfx::NativeView native_view() const { return cocoa_view_; }
// Implementation of RenderWidgetHostView:
+ virtual void InitAsPopup(RenderWidgetHostView* parent_host_view,
+ const gfx::Rect& pos);
virtual RenderWidgetHost* GetRenderWidgetHost() const;
virtual void DidBecomeSelected();
virtual void WasHidden();
diff --git a/chrome/browser/renderer_host/render_widget_host_view_mac.mm b/chrome/browser/renderer_host/render_widget_host_view_mac.mm
index 8e32152..0111baf 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/chrome/browser/renderer_host/render_widget_host_view_mac.mm
@@ -51,6 +51,12 @@ RenderWidgetHostViewMac::~RenderWidgetHostViewMac() {
///////////////////////////////////////////////////////////////////////////////
// RenderWidgetHostViewMac, RenderWidgetHostView implementation:
+void RenderWidgetHostViewMac::InitAsPopup(
+ RenderWidgetHostView* parent_host_view,
+ const gfx::Rect& pos) {
+ NOTIMPLEMENTED();
+}
+
RenderWidgetHost* RenderWidgetHostViewMac::GetRenderWidgetHost() const {
return render_widget_host_;
}
diff --git a/chrome/browser/renderer_host/render_widget_host_view_win.cc b/chrome/browser/renderer_host/render_widget_host_view_win.cc
index 52751ea..a6b3773 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_win.cc
+++ b/chrome/browser/renderer_host/render_widget_host_view_win.cc
@@ -82,8 +82,7 @@ RenderWidgetHostViewWin::RenderWidgetHostViewWin(RenderWidgetHost* widget)
tooltip_showing_(false),
shutdown_factory_(this),
parent_hwnd_(NULL),
- is_loading_(false),
- activatable_(true) {
+ is_loading_(false) {
render_widget_host_->set_view(this);
renderer_accessible_ =
CommandLine::ForCurrentProcess()->HasSwitch(
@@ -97,6 +96,15 @@ RenderWidgetHostViewWin::~RenderWidgetHostViewWin() {
///////////////////////////////////////////////////////////////////////////////
// RenderWidgetHostViewWin, RenderWidgetHostView implementation:
+void RenderWidgetHostViewWin::InitAsPopup(
+ RenderWidgetHostView* parent_host_view, const gfx::Rect& pos) {
+ parent_hwnd_ = parent_host_view->GetPluginNativeView();
+ close_on_deactivate_ = true;
+ Create(parent_hwnd_, NULL, NULL, WS_POPUP, WS_EX_TOOLWINDOW);
+ MoveWindow(pos.x(), pos.y(), pos.width(), pos.height(), TRUE);
+ ShowWindow(activatable_ ? SW_SHOW : SW_SHOWNA);
+}
+
RenderWidgetHost* RenderWidgetHostViewWin::GetRenderWidgetHost() const {
return render_widget_host_;
}
diff --git a/chrome/browser/renderer_host/render_widget_host_view_win.h b/chrome/browser/renderer_host/render_widget_host_view_win.h
index 4e6d7f8..0a93555 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_win.h
+++ b/chrome/browser/renderer_host/render_widget_host_view_win.h
@@ -58,17 +58,6 @@ class RenderWidgetHostViewWin :
explicit RenderWidgetHostViewWin(RenderWidgetHost* widget);
virtual ~RenderWidgetHostViewWin();
- void set_close_on_deactivate(bool close_on_deactivate) {
- close_on_deactivate_ = close_on_deactivate;
- }
-
- void set_activatable(bool activatable) {
- activatable_ = activatable;
- }
- bool activatable() const { return activatable_; }
-
- void set_parent_hwnd(HWND parent) { parent_hwnd_ = parent; }
-
DECLARE_WND_CLASS_EX(kRenderWidgetHostHWNDClass, CS_DBLCLKS, 0);
BEGIN_MSG_MAP(RenderWidgetHostHWND)
@@ -117,6 +106,8 @@ class RenderWidgetHostViewWin :
END_MSG_MAP()
// Implementation of RenderWidgetHostView:
+ virtual void InitAsPopup(RenderWidgetHostView* parent_host_view,
+ const gfx::Rect& pos);
virtual RenderWidgetHost* GetRenderWidgetHost() const;
virtual void DidBecomeSelected();
virtual void WasHidden();
@@ -270,10 +261,6 @@ class RenderWidgetHostViewWin :
// value returns true for is_null() if we are not recording whiteout times.
base::TimeTicks whiteout_start_time_;
- // Whether the window can be activated. Autocomplete popup windows for example
- // cannot be activated. Default is true.
- bool activatable_;
-
// Whether the renderer is made accessible.
// TODO(jcampan): http://b/issue?id=1432077 This is a temporary work-around
// until that bug is fixed.
diff --git a/chrome/browser/renderer_host/test_render_view_host.h b/chrome/browser/renderer_host/test_render_view_host.h
index 5f558b1..d89ebd5 100644
--- a/chrome/browser/renderer_host/test_render_view_host.h
+++ b/chrome/browser/renderer_host/test_render_view_host.h
@@ -39,6 +39,8 @@ class TestRenderWidgetHostView : public RenderWidgetHostView {
public:
TestRenderWidgetHostView() : is_showing_(false) {}
+ virtual void InitAsPopup(RenderWidgetHostView* parent_host_view,
+ const gfx::Rect& pos) {}
virtual RenderWidgetHost* GetRenderWidgetHost() const { return NULL; }
virtual void DidBecomeSelected() {}
virtual void WasHidden() {}
diff --git a/chrome/browser/tab_contents/web_contents.h b/chrome/browser/tab_contents/web_contents.h
index 21ca7eb..310eeab 100644
--- a/chrome/browser/tab_contents/web_contents.h
+++ b/chrome/browser/tab_contents/web_contents.h
@@ -471,6 +471,7 @@ class WebContents : public TabContents,
friend class TestWebContents;
// Temporary until the view/contents separation is complete.
+ friend class WebContentsView;
#if defined(OS_WIN)
friend class WebContentsViewWin;
#elif defined(OS_MACOSX)
diff --git a/chrome/browser/tab_contents/web_contents_view.cc b/chrome/browser/tab_contents/web_contents_view.cc
index eee0d98..5ac141f 100644
--- a/chrome/browser/tab_contents/web_contents_view.cc
+++ b/chrome/browser/tab_contents/web_contents_view.cc
@@ -4,7 +4,15 @@
#include "chrome/browser/tab_contents/web_contents_view.h"
+#include "chrome/browser/renderer_host/render_process_host.h"
#include "chrome/browser/renderer_host/render_widget_host.h"
+#include "chrome/browser/renderer_host/render_widget_host_view.h"
+#include "chrome/browser/tab_contents/tab_contents_delegate.h"
+#include "chrome/browser/tab_contents/web_contents.h"
+
+WebContentsView::WebContentsView(WebContents* web_contents)
+ : web_contents_(web_contents) {
+}
void WebContentsView::RenderWidgetHostDestroyed(RenderWidgetHost* host) {
for (PendingWidgetViews::iterator i = pending_widget_views_.begin();
@@ -59,3 +67,30 @@ void WebContentsView::ShowCreatedWidget(int route_id,
ShowCreatedWidgetInternal(widget_host_view, initial_pos);
}
+
+RenderWidgetHostView* WebContentsView::CreateNewWidgetInternal(
+ int route_id,
+ bool activatable) {
+ RenderWidgetHost* widget_host =
+ new RenderWidgetHost(web_contents_->process(), route_id);
+ RenderWidgetHostView* widget_view =
+ RenderWidgetHostView::CreateViewForWidget(widget_host);
+ widget_view->set_activatable(activatable);
+
+ return widget_view;
+}
+
+void WebContentsView::ShowCreatedWidgetInternal(
+ RenderWidgetHostView* widget_host_view,
+ const gfx::Rect& initial_pos) {
+ RenderWidgetHost* widget_host = widget_host_view->GetRenderWidgetHost();
+ if (!widget_host->process()->channel()) {
+ // The view has gone away or the renderer crashed. Nothing to do.
+ return;
+ }
+
+ widget_host_view->InitAsPopup(
+ web_contents_->render_widget_host_view(), initial_pos);
+ web_contents_->delegate()->RenderWidgetShowing();
+ widget_host->Init();
+}
diff --git a/chrome/browser/tab_contents/web_contents_view.h b/chrome/browser/tab_contents/web_contents_view.h
index 2e61681..174ba63 100644
--- a/chrome/browser/tab_contents/web_contents_view.h
+++ b/chrome/browser/tab_contents/web_contents_view.h
@@ -34,6 +34,7 @@ class WaitableEvent;
// that should be the same for all platforms.
class WebContentsView : public RenderViewHostDelegate::View {
public:
+ WebContentsView(WebContents* web_contents);
virtual ~WebContentsView() {}
// Creates the appropriate type of WebContentsView for the current system.
@@ -134,14 +135,18 @@ class WebContentsView : public RenderViewHostDelegate::View {
virtual WebContents* CreateNewWindowInternal(
int route_id,
base::WaitableEvent* modal_dialog_event) = 0;
- virtual RenderWidgetHostView* CreateNewWidgetInternal(int route_id,
- bool activatable) = 0;
virtual void ShowCreatedWindowInternal(WebContents* new_web_contents,
WindowOpenDisposition disposition,
const gfx::Rect& initial_pos,
bool user_gesture) = 0;
+
+ virtual RenderWidgetHostView* CreateNewWidgetInternal(int route_id,
+ bool activatable);
virtual void ShowCreatedWidgetInternal(RenderWidgetHostView* widget_host_view,
- const gfx::Rect& initial_pos) = 0;
+ const gfx::Rect& initial_pos);
+
+ protected:
+ WebContents* web_contents_;
private:
// We implement these functions on RenderViewHostDelegate::View directly and
diff --git a/chrome/browser/tab_contents/web_contents_view_gtk.cc b/chrome/browser/tab_contents/web_contents_view_gtk.cc
index 3f4785f..5b7603a11 100644
--- a/chrome/browser/tab_contents/web_contents_view_gtk.cc
+++ b/chrome/browser/tab_contents/web_contents_view_gtk.cc
@@ -65,7 +65,7 @@ WebContentsView* WebContentsView::Create(WebContents* web_contents) {
}
WebContentsViewGtk::WebContentsViewGtk(WebContents* web_contents)
- : web_contents_(web_contents),
+ : WebContentsView(web_contents),
vbox_(gtk_vbox_new(FALSE, 0)) {
}
@@ -213,19 +213,6 @@ WebContents* WebContentsViewGtk::CreateNewWindowInternal(
return NULL;
}
-// TODO(estade): unfork this from the version in web_contents_view_win.
-RenderWidgetHostView* WebContentsViewGtk::CreateNewWidgetInternal(
- int route_id,
- bool activatable) {
- RenderWidgetHost* widget_host =
- new RenderWidgetHost(web_contents_->process(), route_id);
- RenderWidgetHostViewGtk* widget_view =
- new RenderWidgetHostViewGtk(widget_host);
- widget_view->set_activatable(activatable);
-
- return widget_view;
-}
-
void WebContentsViewGtk::ShowCreatedWindowInternal(
WebContents* new_web_contents,
WindowOpenDisposition disposition,
@@ -233,20 +220,3 @@ void WebContentsViewGtk::ShowCreatedWindowInternal(
bool user_gesture) {
NOTIMPLEMENTED();
}
-
-// TODO(estade): unfork this from the version in web_contents_view_win.
-void WebContentsViewGtk::ShowCreatedWidgetInternal(
- RenderWidgetHostView* widget_host_view,
- const gfx::Rect& initial_pos) {
- RenderWidgetHostViewGtk* widget_host_view_gtk =
- static_cast<RenderWidgetHostViewGtk*>(widget_host_view);
-
- RenderWidgetHost* widget_host = widget_host_view->GetRenderWidgetHost();
- if (!widget_host->process()->channel()) {
- // The view has gone away or the renderer crashed. Nothing to do.
- return;
- }
-
- widget_host_view_gtk->InitAsPopup(
- web_contents_->render_widget_host_view(), initial_pos);
-}
diff --git a/chrome/browser/tab_contents/web_contents_view_gtk.h b/chrome/browser/tab_contents/web_contents_view_gtk.h
index 7e69ae9..79408914 100644
--- a/chrome/browser/tab_contents/web_contents_view_gtk.h
+++ b/chrome/browser/tab_contents/web_contents_view_gtk.h
@@ -47,14 +47,10 @@ class WebContentsViewGtk : public WebContentsView {
// Backend implementation of RenderViewHostDelegate::View.
virtual WebContents* CreateNewWindowInternal(
int route_id, base::WaitableEvent* modal_dialog_event);
- virtual RenderWidgetHostView* CreateNewWidgetInternal(int route_id,
- bool activatable);
virtual void ShowCreatedWindowInternal(WebContents* new_web_contents,
WindowOpenDisposition disposition,
const gfx::Rect& initial_pos,
bool user_gesture);
- virtual void ShowCreatedWidgetInternal(RenderWidgetHostView* widget_host_view,
- const gfx::Rect& initial_pos);
virtual void ShowContextMenu(const ContextMenuParams& params);
virtual void StartDragging(const WebDropData& drop_data);
virtual void UpdateDragCursor(bool is_drop_target);
@@ -66,8 +62,6 @@ class WebContentsViewGtk : public WebContentsView {
int active_match_ordinal,
bool final_update);
private:
- WebContents* web_contents_;
-
// The native widget for the tab.
OwnedWidgetGtk vbox_;
diff --git a/chrome/browser/tab_contents/web_contents_view_mac.h b/chrome/browser/tab_contents/web_contents_view_mac.h
index 1c46221..333f3b8 100644
--- a/chrome/browser/tab_contents/web_contents_view_mac.h
+++ b/chrome/browser/tab_contents/web_contents_view_mac.h
@@ -62,14 +62,10 @@ class WebContentsViewMac : public WebContentsView,
// Backend implementation of RenderViewHostDelegate::View.
virtual WebContents* CreateNewWindowInternal(
int route_id, base::WaitableEvent* modal_dialog_event);
- virtual RenderWidgetHostView* CreateNewWidgetInternal(int route_id,
- bool activatable);
virtual void ShowCreatedWindowInternal(WebContents* new_web_contents,
WindowOpenDisposition disposition,
const gfx::Rect& initial_pos,
bool user_gesture);
- virtual void ShowCreatedWidgetInternal(RenderWidgetHostView* widget_host_view,
- const gfx::Rect& initial_pos);
virtual void ShowContextMenu(const ContextMenuParams& params);
virtual void StartDragging(const WebDropData& drop_data);
virtual void UpdateDragCursor(bool is_drop_target);
@@ -90,8 +86,6 @@ class WebContentsViewMac : public WebContentsView,
private:
// ---------------------------------------------------------------------------
- WebContents* web_contents_;
-
// The Cocoa NSView that lives in the view hierarchy.
scoped_nsobject<WebContentsViewCocoa> cocoa_view_;
diff --git a/chrome/browser/tab_contents/web_contents_view_mac.mm b/chrome/browser/tab_contents/web_contents_view_mac.mm
index e2af736..705192b 100644
--- a/chrome/browser/tab_contents/web_contents_view_mac.mm
+++ b/chrome/browser/tab_contents/web_contents_view_mac.mm
@@ -24,7 +24,7 @@ WebContentsView* WebContentsView::Create(WebContents* web_contents) {
}
WebContentsViewMac::WebContentsViewMac(WebContents* web_contents)
- : web_contents_(web_contents) {
+ : WebContentsView(web_contents_) {
registrar_.Add(this, NotificationType::WEB_CONTENTS_CONNECTED,
Source<WebContents>(web_contents));
registrar_.Add(this, NotificationType::WEB_CONTENTS_DISCONNECTED,
@@ -204,15 +204,6 @@ WebContents* WebContentsViewMac::CreateNewWindowInternal(
return new_contents;
}
-RenderWidgetHostView* WebContentsViewMac::CreateNewWidgetInternal(
- int route_id,
- bool activatable) {
- // I don't understand what role this plays in the grand scheme of things. I'm
- // not going to fake it.
- NOTIMPLEMENTED();
- return NULL;
-}
-
void WebContentsViewMac::ShowCreatedWindowInternal(
WebContents* new_web_contents,
WindowOpenDisposition disposition,
@@ -230,14 +221,6 @@ void WebContentsViewMac::ShowCreatedWindowInternal(
user_gesture);
}
-void WebContentsViewMac::ShowCreatedWidgetInternal(
- RenderWidgetHostView* widget_host_view,
- const gfx::Rect& initial_pos) {
- // I don't understand what role this plays in the grand scheme of things. I'm
- // not going to fake it.
- NOTIMPLEMENTED();
-}
-
void WebContentsViewMac::Observe(NotificationType type,
const NotificationSource& source,
const NotificationDetails& details) {
diff --git a/chrome/browser/tab_contents/web_contents_view_win.cc b/chrome/browser/tab_contents/web_contents_view_win.cc
index acd4349..de2e840 100644
--- a/chrome/browser/tab_contents/web_contents_view_win.cc
+++ b/chrome/browser/tab_contents/web_contents_view_win.cc
@@ -51,7 +51,7 @@ WebContentsView* WebContentsView::Create(WebContents* web_contents) {
}
WebContentsViewWin::WebContentsViewWin(WebContents* web_contents)
- : web_contents_(web_contents),
+ : WebContentsView(web_contents),
ignore_next_char_event_(false) {
last_focused_view_storage_id_ =
views::ViewStorage::GetSharedInstance()->CreateStorageID();
@@ -392,29 +392,6 @@ WebContents* WebContentsViewWin::CreateNewWindowInternal(
return new_contents;
}
-RenderWidgetHostView* WebContentsViewWin::CreateNewWidgetInternal(
- int route_id,
- bool activatable) {
- // Create the widget and its associated view.
- // TODO(brettw) can widget creation be cross-platform?
- RenderWidgetHost* widget_host =
- new RenderWidgetHost(web_contents_->process(), route_id);
- RenderWidgetHostViewWin* widget_view =
- new RenderWidgetHostViewWin(widget_host);
-
- // We set the parent HWND explicitly as pop-up HWNDs are parented and owned by
- // the first non-child HWND of the HWND that was specified to the CreateWindow
- // call.
- // TODO(brettw) this should not need to get the current RVHView from the
- // WebContents. We should have it somewhere ourselves.
- widget_view->set_parent_hwnd(
- web_contents_->render_widget_host_view()->GetPluginNativeView());
- widget_view->set_close_on_deactivate(true);
- widget_view->set_activatable(activatable);
-
- return widget_view;
-}
-
void WebContentsViewWin::ShowCreatedWindowInternal(
WebContents* new_web_contents,
WindowOpenDisposition disposition,
@@ -432,35 +409,6 @@ void WebContentsViewWin::ShowCreatedWindowInternal(
user_gesture);
}
-void WebContentsViewWin::ShowCreatedWidgetInternal(
- RenderWidgetHostView* widget_host_view,
- const gfx::Rect& initial_pos) {
- // TODO(beng): (Cleanup) move all this windows-specific creation and showing
- // code into RenderWidgetHostView behind some API that a
- // ChromeView can also reasonably implement.
- RenderWidgetHostViewWin* widget_host_view_win =
- static_cast<RenderWidgetHostViewWin*>(widget_host_view);
-
- RenderWidgetHost* widget_host = widget_host_view->GetRenderWidgetHost();
- if (!widget_host->process()->channel()) {
- // The view has gone away or the renderer crashed. Nothing to do.
- return;
- }
-
- // This logic should be implemented by RenderWidgetHostHWND (as mentioned
- // above) in the ::Init function, which should take a parent and some initial
- // bounds.
- widget_host_view_win->Create(GetNativeView(), NULL, NULL,
- WS_POPUP, WS_EX_TOOLWINDOW);
- widget_host_view_win->MoveWindow(initial_pos.x(), initial_pos.y(),
- initial_pos.width(), initial_pos.height(),
- TRUE);
- web_contents_->delegate()->RenderWidgetShowing();
- widget_host_view_win->ShowWindow(widget_host_view_win->activatable() ?
- SW_SHOW : SW_SHOWNA);
- widget_host->Init();
-}
-
void WebContentsViewWin::OnHScroll(int scroll_type, short position,
HWND scrollbar) {
ScrollCommon(WM_HSCROLL, scroll_type, position, scrollbar);
diff --git a/chrome/browser/tab_contents/web_contents_view_win.h b/chrome/browser/tab_contents/web_contents_view_win.h
index e154946..43b23e8 100644
--- a/chrome/browser/tab_contents/web_contents_view_win.h
+++ b/chrome/browser/tab_contents/web_contents_view_win.h
@@ -47,14 +47,10 @@ class WebContentsViewWin : public WebContentsView,
// Backend implementation of RenderViewHostDelegate::View.
virtual WebContents* CreateNewWindowInternal(
int route_id, base::WaitableEvent* modal_dialog_event);
- virtual RenderWidgetHostView* CreateNewWidgetInternal(int route_id,
- bool activatable);
virtual void ShowCreatedWindowInternal(WebContents* new_web_contents,
WindowOpenDisposition disposition,
const gfx::Rect& initial_pos,
bool user_gesture);
- virtual void ShowCreatedWidgetInternal(RenderWidgetHostView* widget_host_view,
- const gfx::Rect& initial_pos);
virtual void ShowContextMenu(const ContextMenuParams& params);
virtual void StartDragging(const WebDropData& drop_data);
virtual void UpdateDragCursor(bool is_drop_target);
@@ -98,8 +94,6 @@ class WebContentsViewWin : public WebContentsView,
// ---------------------------------------------------------------------------
- WebContents* web_contents_;
-
// A drop target object that handles drags over this WebContents.
scoped_refptr<WebDropTarget> drop_target_;