OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "webkit/tools/test_shell/webview_host.h" | 5 #include "webkit/tools/test_shell/webview_host.h" |
6 | 6 |
7 #include "base/win_util.h" | 7 #include "base/win_util.h" |
8 #include "gfx/rect.h" | 8 #include "gfx/rect.h" |
9 #include "gfx/size.h" | 9 #include "gfx/size.h" |
10 #include "skia/ext/platform_canvas.h" | 10 #include "skia/ext/platform_canvas.h" |
11 #include "third_party/WebKit/WebKit/chromium/public/WebView.h" | 11 #include "third_party/WebKit/WebKit/chromium/public/WebView.h" |
12 #include "webkit/glue/webpreferences.h" | 12 #include "webkit/glue/webpreferences.h" |
13 #include "webkit/tools/test_shell/test_webview_delegate.h" | 13 #include "webkit/tools/test_shell/test_webview_delegate.h" |
14 | 14 |
15 using namespace WebKit; | 15 using namespace WebKit; |
16 | 16 |
17 static const wchar_t kWindowClassName[] = L"WebViewHost"; | 17 static const wchar_t kWindowClassName[] = L"WebViewHost"; |
18 | 18 |
19 /*static*/ | 19 /*static*/ |
20 WebViewHost* WebViewHost::Create(HWND parent_view, | 20 WebViewHost* WebViewHost::Create(HWND parent_view, |
21 TestWebViewDelegate* delegate, | 21 TestWebViewDelegate* delegate, |
22 WebDevToolsAgentClient* devToolsClient, | |
23 const WebPreferences& prefs) { | 22 const WebPreferences& prefs) { |
24 WebViewHost* host = new WebViewHost(); | 23 WebViewHost* host = new WebViewHost(); |
25 | 24 |
26 static bool registered_class = false; | 25 static bool registered_class = false; |
27 if (!registered_class) { | 26 if (!registered_class) { |
28 WNDCLASSEX wcex = {0}; | 27 WNDCLASSEX wcex = {0}; |
29 wcex.cbSize = sizeof(wcex); | 28 wcex.cbSize = sizeof(wcex); |
30 wcex.style = CS_DBLCLKS; | 29 wcex.style = CS_DBLCLKS; |
31 wcex.lpfnWndProc = WebWidgetHost::WndProc; | 30 wcex.lpfnWndProc = WebWidgetHost::WndProc; |
32 wcex.hInstance = GetModuleHandle(NULL); | 31 wcex.hInstance = GetModuleHandle(NULL); |
33 wcex.hCursor = LoadCursor(NULL, IDC_ARROW); | 32 wcex.hCursor = LoadCursor(NULL, IDC_ARROW); |
34 wcex.lpszClassName = kWindowClassName; | 33 wcex.lpszClassName = kWindowClassName; |
35 RegisterClassEx(&wcex); | 34 RegisterClassEx(&wcex); |
36 registered_class = true; | 35 registered_class = true; |
37 } | 36 } |
38 | 37 |
39 host->view_ = CreateWindow(kWindowClassName, NULL, | 38 host->view_ = CreateWindow(kWindowClassName, NULL, |
40 WS_CHILD|WS_CLIPCHILDREN|WS_CLIPSIBLINGS, 0, 0, | 39 WS_CHILD|WS_CLIPCHILDREN|WS_CLIPSIBLINGS, 0, 0, |
41 0, 0, parent_view, NULL, | 40 0, 0, parent_view, NULL, |
42 GetModuleHandle(NULL), NULL); | 41 GetModuleHandle(NULL), NULL); |
43 win_util::SetWindowUserData(host->view_, host); | 42 win_util::SetWindowUserData(host->view_, host); |
44 | 43 |
45 host->webwidget_ = WebView::create(delegate, devToolsClient); | 44 host->webwidget_ = WebView::create(delegate); |
46 prefs.Apply(host->webview()); | 45 prefs.Apply(host->webview()); |
47 host->webview()->initializeMainFrame(delegate); | 46 host->webview()->initializeMainFrame(delegate); |
48 | 47 |
49 return host; | 48 return host; |
50 } | 49 } |
51 | 50 |
52 WebView* WebViewHost::webview() const { | 51 WebView* WebViewHost::webview() const { |
53 return static_cast<WebView*>(webwidget_); | 52 return static_cast<WebView*>(webwidget_); |
54 } | 53 } |
OLD | NEW |