Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(199)

Side by Side Diff: webkit/tools/test_shell/test_webview_delegate.h

Issue 181014: Eliminate remaining WebCore dependencies from webplugin_impl.cc... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 // TestWebViewDelegate class: 5 // TestWebViewDelegate class:
6 // This class implements the WebViewDelegate methods for the test shell. One 6 // This class implements the WebViewDelegate methods for the test shell. One
7 // instance is owned by each TestShell. 7 // instance is owned by each TestShell.
8 8
9 #ifndef WEBKIT_TOOLS_TEST_SHELL_TEST_WEBVIEW_DELEGATE_H_ 9 #ifndef WEBKIT_TOOLS_TEST_SHELL_TEST_WEBVIEW_DELEGATE_H_
10 #define WEBKIT_TOOLS_TEST_SHELL_TEST_WEBVIEW_DELEGATE_H_ 10 #define WEBKIT_TOOLS_TEST_SHELL_TEST_WEBVIEW_DELEGATE_H_
11 11
12 #include "build/build_config.h" 12 #include "build/build_config.h"
13 13
14 #if defined(OS_WIN) 14 #if defined(OS_WIN)
15 #include <windows.h> 15 #include <windows.h>
16 #endif 16 #endif
17
17 #include <map> 18 #include <map>
18 19
19 #if defined(OS_LINUX) 20 #if defined(OS_LINUX)
20 #include <gdk/gdkcursor.h> 21 #include <gdk/gdkcursor.h>
21 #endif 22 #endif
22 23
23 #include "base/basictypes.h" 24 #include "base/basictypes.h"
24 #include "base/linked_ptr.h" 25 #include "base/scoped_ptr.h"
26 #include "base/weak_ptr.h"
25 #if defined(OS_MACOSX) 27 #if defined(OS_MACOSX)
26 #include "webkit/api/public/WebRect.h" 28 #include "webkit/api/public/WebRect.h"
27 #include "webkit/api/public/WebPopupMenuInfo.h" 29 #include "webkit/api/public/WebPopupMenuInfo.h"
28 #endif 30 #endif
29 #include "webkit/glue/webcursor.h" 31 #include "webkit/glue/webcursor.h"
32 #include "webkit/glue/webplugin_page_delegate.h"
30 #include "webkit/glue/webview_delegate.h" 33 #include "webkit/glue/webview_delegate.h"
31 #if defined(OS_WIN) 34 #if defined(OS_WIN)
32 #include "webkit/tools/test_shell/drag_delegate.h" 35 #include "webkit/tools/test_shell/drag_delegate.h"
33 #include "webkit/tools/test_shell/drop_delegate.h" 36 #include "webkit/tools/test_shell/drop_delegate.h"
34 #endif 37 #endif
35 #include "webkit/tools/test_shell/test_navigation_controller.h" 38 #include "webkit/tools/test_shell/test_navigation_controller.h"
36 39
37 struct ContextMenuMediaParams; 40 struct ContextMenuMediaParams;
38 struct WebPreferences; 41 struct WebPreferences;
39 class GURL; 42 class GURL;
40 class TestShell; 43 class TestShell;
41 class WebWidgetHost; 44 class WebWidgetHost;
42 45
43 class TestWebViewDelegate : public WebViewDelegate { 46 class TestWebViewDelegate : public WebViewDelegate,
47 public webkit_glue::WebPluginPageDelegate,
48 public base::SupportsWeakPtr<TestWebViewDelegate> {
44 public: 49 public:
45 struct CapturedContextMenuEvent { 50 struct CapturedContextMenuEvent {
46 CapturedContextMenuEvent(ContextNodeType in_node_type, 51 CapturedContextMenuEvent(ContextNodeType in_node_type,
47 int in_x, 52 int in_x,
48 int in_y) 53 int in_y)
49 : node_type(in_node_type), 54 : node_type(in_node_type),
50 x(in_x), 55 x(in_x),
51 y(in_y) { 56 y(in_y) {
52 } 57 }
53 58
54 ContextNodeType node_type; 59 ContextNodeType node_type;
55 int x; 60 int x;
56 int y; 61 int y;
57 }; 62 };
58 63
59 typedef std::vector<CapturedContextMenuEvent> CapturedContextMenuEvents; 64 typedef std::vector<CapturedContextMenuEvent> CapturedContextMenuEvents;
60 65
61 // WebViewDelegate 66 // WebViewDelegate
62 virtual WebView* CreateWebView(WebView* webview, 67 virtual WebView* CreateWebView(WebView* webview,
63 bool user_gesture, 68 bool user_gesture,
64 const GURL& creator_url); 69 const GURL& creator_url);
65 virtual WebKit::WebWidget* CreatePopupWidget( 70 virtual WebKit::WebWidget* CreatePopupWidget(
66 WebView* webview, 71 WebView* webview,
67 bool activatable); 72 bool activatable);
68 #if defined(OS_MACOSX) 73 #if defined(OS_MACOSX)
69 virtual WebKit::WebWidget* CreatePopupWidgetWithInfo( 74 virtual WebKit::WebWidget* CreatePopupWidgetWithInfo(
70 WebView* webview, 75 WebView* webview,
71 const WebKit::WebPopupMenuInfo& info); 76 const WebKit::WebPopupMenuInfo& info);
72 #endif 77 #endif
73 virtual WebPluginDelegate* CreatePluginDelegate( 78 virtual WebKit::WebPlugin* CreatePlugin(
74 WebView* webview, 79 WebKit::WebFrame* frame,
75 const GURL& url, 80 const WebKit::WebPluginParams& params);
76 const std::string& mime_type,
77 const std::string& clsid,
78 std::string* actual_mime_type);
79 #if defined(OS_LINUX)
80 virtual void CreatedPluginWindow(gfx::PluginWindowHandle id);
81 virtual void WillDestroyPluginWindow(gfx::PluginWindowHandle id);
82 #endif
83 virtual WebKit::WebMediaPlayer* CreateWebMediaPlayer( 81 virtual WebKit::WebMediaPlayer* CreateWebMediaPlayer(
84 WebKit::WebMediaPlayerClient* client); 82 WebKit::WebMediaPlayerClient* client);
85 virtual WebKit::WebWorker* CreateWebWorker(WebKit::WebWorkerClient* client); 83 virtual WebKit::WebWorker* CreateWebWorker(WebKit::WebWorkerClient* client);
86 virtual void OpenURL(WebView* webview, 84 virtual void OpenURL(WebView* webview,
87 const GURL& url, 85 const GURL& url,
88 const GURL& referrer, 86 const GURL& referrer,
89 WebKit::WebNavigationPolicy policy); 87 WebKit::WebNavigationPolicy policy);
90 virtual void DidMovePlugin(const WebPluginGeometry& move);
91 virtual void RunJavaScriptAlert(WebKit::WebFrame* webframe, 88 virtual void RunJavaScriptAlert(WebKit::WebFrame* webframe,
92 const std::wstring& message); 89 const std::wstring& message);
93 virtual bool RunJavaScriptConfirm(WebKit::WebFrame* webframe, 90 virtual bool RunJavaScriptConfirm(WebKit::WebFrame* webframe,
94 const std::wstring& message); 91 const std::wstring& message);
95 virtual bool RunJavaScriptPrompt(WebKit::WebFrame* webframe, 92 virtual bool RunJavaScriptPrompt(WebKit::WebFrame* webframe,
96 const std::wstring& message, 93 const std::wstring& message,
97 const std::wstring& default_value, 94 const std::wstring& default_value,
98 std::wstring* result); 95 std::wstring* result);
99 96
100 virtual void SetStatusbarText(WebView* webview, 97 virtual void SetStatusbarText(WebView* webview,
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 virtual bool ShouldDeleteRange(WebView* webview, std::wstring range); 192 virtual bool ShouldDeleteRange(WebView* webview, std::wstring range);
196 virtual bool ShouldApplyStyle(WebView* webview, 193 virtual bool ShouldApplyStyle(WebView* webview,
197 std::wstring style, 194 std::wstring style,
198 std::wstring range); 195 std::wstring range);
199 virtual bool SmartInsertDeleteEnabled(); 196 virtual bool SmartInsertDeleteEnabled();
200 virtual bool IsSelectTrailingWhitespaceEnabled(); 197 virtual bool IsSelectTrailingWhitespaceEnabled();
201 virtual void DidBeginEditing(); 198 virtual void DidBeginEditing();
202 virtual void DidChangeSelection(bool is_empty_selection); 199 virtual void DidChangeSelection(bool is_empty_selection);
203 virtual void DidChangeContents(); 200 virtual void DidChangeContents();
204 virtual void DidEndEditing(); 201 virtual void DidEndEditing();
205
206 virtual void DidStartLoading(WebView* webview);
207 virtual void DidStopLoading(WebView* webview);
208
209 virtual void WindowObjectCleared(WebKit::WebFrame* webframe); 202 virtual void WindowObjectCleared(WebKit::WebFrame* webframe);
210 virtual WebKit::WebNavigationPolicy PolicyForNavigationAction( 203 virtual WebKit::WebNavigationPolicy PolicyForNavigationAction(
211 WebView* webview, 204 WebView* webview,
212 WebKit::WebFrame* frame, 205 WebKit::WebFrame* frame,
213 const WebKit::WebURLRequest& request, 206 const WebKit::WebURLRequest& request,
214 WebKit::WebNavigationType type, 207 WebKit::WebNavigationType type,
215 WebKit::WebNavigationPolicy default_policy, 208 WebKit::WebNavigationPolicy default_policy,
216 bool is_redirect); 209 bool is_redirect);
217 virtual void NavigateBackForwardSoon(int offset); 210 virtual void NavigateBackForwardSoon(int offset);
218 virtual int GetHistoryBackListCount(); 211 virtual int GetHistoryBackListCount();
219 virtual int GetHistoryForwardListCount(); 212 virtual int GetHistoryForwardListCount();
220 213
221 // WebWidgetClient 214 // WebWidgetClient
222 virtual void didInvalidateRect(const WebKit::WebRect& rect); 215 virtual void didInvalidateRect(const WebKit::WebRect& rect);
223 virtual void didScrollRect(int dx, int dy, 216 virtual void didScrollRect(int dx, int dy,
224 const WebKit::WebRect& clip_rect); 217 const WebKit::WebRect& clip_rect);
225 virtual void didFocus(); 218 virtual void didFocus();
226 virtual void didBlur(); 219 virtual void didBlur();
227 virtual void didChangeCursor(const WebKit::WebCursorInfo& cursor); 220 virtual void didChangeCursor(const WebKit::WebCursorInfo& cursor);
228 virtual void closeWidgetSoon(); 221 virtual void closeWidgetSoon();
229 virtual void show(WebKit::WebNavigationPolicy policy); 222 virtual void show(WebKit::WebNavigationPolicy policy);
230 virtual void runModal(); 223 virtual void runModal();
231 virtual WebKit::WebRect windowRect(); 224 virtual WebKit::WebRect windowRect();
232 virtual void setWindowRect(const WebKit::WebRect& rect); 225 virtual void setWindowRect(const WebKit::WebRect& rect);
233 virtual WebKit::WebRect rootWindowRect(); 226 virtual WebKit::WebRect rootWindowRect();
234 virtual WebKit::WebRect windowResizerRect(); 227 virtual WebKit::WebRect windowResizerRect();
235 virtual WebKit::WebScreenInfo screenInfo(); 228 virtual WebKit::WebScreenInfo screenInfo();
236 229
230 // webkit_glue::WebPluginPageDelegate
231 virtual webkit_glue::WebPluginDelegate* CreatePluginDelegate(
232 const GURL& url,
233 const std::string& mime_type,
234 const std::string& clsid,
235 std::string* actual_mime_type);
236 virtual void CreatedPluginWindow(
237 gfx::PluginWindowHandle handle);
238 virtual void WillDestroyPluginWindow(
239 gfx::PluginWindowHandle handle);
240 virtual void DidMovePlugin(
241 const webkit_glue::WebPluginGeometry& move);
242 virtual void DidStartLoadingForPlugin() {}
243 virtual void DidStopLoadingForPlugin() {}
244 virtual void ShowModalHTMLDialogForPlugin(
245 const GURL& url,
246 const gfx::Size& size,
247 const std::string& json_arguments,
248 std::string* json_retval) {}
249
237 TestWebViewDelegate(TestShell* shell); 250 TestWebViewDelegate(TestShell* shell);
251 ~TestWebViewDelegate();
238 void Reset(); 252 void Reset();
239 253
240 void SetSmartInsertDeleteEnabled(bool enabled); 254 void SetSmartInsertDeleteEnabled(bool enabled);
241 void SetSelectTrailingWhitespaceEnabled(bool enabled); 255 void SetSelectTrailingWhitespaceEnabled(bool enabled);
242 256
243 // Additional accessors 257 // Additional accessors
244 WebKit::WebFrame* top_loading_frame() { return top_loading_frame_; } 258 WebKit::WebFrame* top_loading_frame() { return top_loading_frame_; }
245 #if defined(OS_WIN) 259 #if defined(OS_WIN)
246 IDropTarget* drop_delegate() { return drop_delegate_.get(); } 260 IDropTarget* drop_delegate() { return drop_delegate_.get(); }
247 IDropSource* drag_delegate() { return drag_delegate_.get(); } 261 IDropSource* drag_delegate() { return drag_delegate_.get(); }
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 // Non-owning pointer. The delegate is owned by the host. 340 // Non-owning pointer. The delegate is owned by the host.
327 TestShell* shell_; 341 TestShell* shell_;
328 342
329 // This is non-NULL IFF a load is in progress. 343 // This is non-NULL IFF a load is in progress.
330 WebKit::WebFrame* top_loading_frame_; 344 WebKit::WebFrame* top_loading_frame_;
331 345
332 // For tracking session history. See RenderView. 346 // For tracking session history. See RenderView.
333 int page_id_; 347 int page_id_;
334 int last_page_id_updated_; 348 int last_page_id_updated_;
335 349
336 linked_ptr<TestShellExtraData> pending_extra_data_; 350 scoped_ptr<TestShellExtraData> pending_extra_data_;
337 351
338 // Maps resource identifiers to a descriptive string. 352 // Maps resource identifiers to a descriptive string.
339 typedef std::map<uint32, std::string> ResourceMap; 353 typedef std::map<uint32, std::string> ResourceMap;
340 ResourceMap resource_identifier_map_; 354 ResourceMap resource_identifier_map_;
341 std::string GetResourceDescription(uint32 identifier); 355 std::string GetResourceDescription(uint32 identifier);
342 356
343 CapturedContextMenuEvents captured_context_menu_events_; 357 CapturedContextMenuEvents captured_context_menu_events_;
344 358
345 WebCursor current_cursor_; 359 WebCursor current_cursor_;
346 360
347 #if defined(OS_WIN) 361 #if defined(OS_WIN)
348 // Classes needed by drag and drop. 362 // Classes needed by drag and drop.
349 scoped_refptr<TestDragDelegate> drag_delegate_; 363 scoped_refptr<TestDragDelegate> drag_delegate_;
350 scoped_refptr<TestDropDelegate> drop_delegate_; 364 scoped_refptr<TestDropDelegate> drop_delegate_;
351 #endif 365 #endif
352 366
353 #if defined(OS_LINUX) 367 #if defined(OS_LINUX)
354 // The type of cursor the window is currently using. 368 // The type of cursor the window is currently using.
355 // Used for judging whether a new SetCursor call is actually changing the 369 // Used for judging whether a new SetCursor call is actually changing the
356 // cursor. 370 // cursor.
357 GdkCursorType cursor_type_; 371 GdkCursorType cursor_type_;
358 #endif 372 #endif
359 373
360 #if defined(OS_MACOSX) 374 #if defined(OS_MACOSX)
361 linked_ptr<WebKit::WebPopupMenuInfo> popup_menu_info_; 375 scoped_ptr<WebKit::WebPopupMenuInfo> popup_menu_info_;
362 WebKit::WebRect popup_bounds_; 376 WebKit::WebRect popup_bounds_;
363 #endif 377 #endif
364 378
365 // true if we want to enable smart insert/delete. 379 // true if we want to enable smart insert/delete.
366 bool smart_insert_delete_enabled_; 380 bool smart_insert_delete_enabled_;
367 381
368 // true if we want to enable selection of trailing whitespaces 382 // true if we want to enable selection of trailing whitespaces
369 bool select_trailing_whitespace_enabled_; 383 bool select_trailing_whitespace_enabled_;
370 384
371 // true if we should block any redirects 385 // true if we should block any redirects
372 bool block_redirects_; 386 bool block_redirects_;
387
388 DISALLOW_COPY_AND_ASSIGN(TestWebViewDelegate);
373 }; 389 };
374 390
375 #endif // WEBKIT_TOOLS_TEST_SHELL_TEST_WEBVIEW_DELEGATE_H_ 391 #endif // WEBKIT_TOOLS_TEST_SHELL_TEST_WEBVIEW_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698