| Index: chrome/renderer/render_view.cc
|
| diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
|
| index 1d3d7afa533a6b8cb3430dfb510a05c1799d3098..15441987be32d0edaac861da77971cc3748f240f 100644
|
| --- a/chrome/renderer/render_view.cc
|
| +++ b/chrome/renderer/render_view.cc
|
| @@ -10,6 +10,7 @@
|
|
|
| #include "base/command_line.h"
|
| #include "base/gfx/png_encoder.h"
|
| +#include "base/gfx/native_widget_types.h"
|
| #include "base/string_piece.h"
|
| #include "base/string_util.h"
|
| #include "build/build_config.h"
|
| @@ -210,7 +211,7 @@ RenderView::~RenderView() {
|
| /*static*/
|
| RenderView* RenderView::Create(
|
| RenderThreadBase* render_thread,
|
| - HWND parent_hwnd,
|
| + gfx::NativeViewId parent_hwnd,
|
| base::WaitableEvent* modal_dialog_event,
|
| int32 opener_id,
|
| const WebPreferences& webkit_prefs,
|
| @@ -266,7 +267,7 @@ void RenderView::JSOutOfMemory() {
|
| Send(new ViewHostMsg_JSOutOfMemory(routing_id_));
|
| }
|
|
|
| -void RenderView::Init(HWND parent_hwnd,
|
| +void RenderView::Init(gfx::NativeViewId parent_hwnd,
|
| base::WaitableEvent* modal_dialog_event,
|
| int32 opener_id,
|
| const WebPreferences& webkit_prefs,
|
| @@ -425,14 +426,8 @@ void RenderView::OnMessageReceived(const IPC::Message& message) {
|
|
|
| // Got a response from the browser after the renderer decided to create a new
|
| // view.
|
| -void RenderView::OnCreatingNewAck
|
| -#if defined(OS_WIN)
|
| - (HWND parent) {
|
| +void RenderView::OnCreatingNewAck(gfx::NativeViewId parent) {
|
| CompleteInit(parent);
|
| -#else
|
| - () {
|
| -#endif
|
| -
|
| waiting_for_create_window_ack_ = false;
|
|
|
| while (!queued_resource_messages_.empty()) {
|
| @@ -1854,29 +1849,19 @@ WebView* RenderView::CreateWebView(WebView* webview, bool user_gesture) {
|
|
|
| int32 routing_id = MSG_ROUTING_NONE;
|
|
|
| -#if defined(OS_WIN)
|
| - HANDLE modal_dialog_event = NULL;
|
| + ModalDialogEvent modal_dialog_event;
|
| render_thread_->Send(
|
| new ViewHostMsg_CreateWindow(routing_id_, user_gesture, &routing_id,
|
| &modal_dialog_event));
|
| if (routing_id == MSG_ROUTING_NONE) {
|
| - DCHECK(modal_dialog_event == NULL);
|
| return NULL;
|
| }
|
| -#else // defined(OS_WIN)
|
| - // On POSIX we don't have a HANDLE parameter as we don't have cross process
|
| - // events. All platforms should be ported across to this at some point.
|
| - render_thread_->Send(
|
| - new ViewHostMsg_CreateWindow(routing_id_, user_gesture, &routing_id));
|
| - if (routing_id == MSG_ROUTING_NONE)
|
| - return NULL;
|
| -#endif
|
|
|
| // The WebView holds a reference to this new RenderView
|
| const WebPreferences& prefs = webview->GetPreferences();
|
| base::WaitableEvent* waitable_event = new base::WaitableEvent
|
| #if defined(OS_WIN)
|
| - (modal_dialog_event);
|
| + (modal_dialog_event.event);
|
| #else
|
| (true, false);
|
| #endif
|
| @@ -1946,7 +1931,8 @@ WebPluginDelegate* RenderView::CreatePluginDelegate(
|
| if (is_gears)
|
| ChromePluginLib::Create(path, GetCPBrowserFuncsForRenderer());
|
| return WebPluginDelegateImpl::Create(path,
|
| - mime_type_to_use, host_window_);
|
| + mime_type_to_use,
|
| + gfx::NativeViewFromId(host_window_));
|
| }
|
|
|
| WebPluginDelegateProxy* proxy =
|
|
|