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

Unified 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, 4 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 side-by-side diff with in-line comments
Download patch
Index: webkit/tools/test_shell/test_webview_delegate.h
===================================================================
--- webkit/tools/test_shell/test_webview_delegate.h (revision 25087)
+++ webkit/tools/test_shell/test_webview_delegate.h (working copy)
@@ -14,6 +14,7 @@
#if defined(OS_WIN)
#include <windows.h>
#endif
+
#include <map>
#if defined(OS_LINUX)
@@ -21,12 +22,14 @@
#endif
#include "base/basictypes.h"
-#include "base/linked_ptr.h"
+#include "base/scoped_ptr.h"
+#include "base/weak_ptr.h"
#if defined(OS_MACOSX)
#include "webkit/api/public/WebRect.h"
#include "webkit/api/public/WebPopupMenuInfo.h"
#endif
#include "webkit/glue/webcursor.h"
+#include "webkit/glue/webplugin_page_delegate.h"
#include "webkit/glue/webview_delegate.h"
#if defined(OS_WIN)
#include "webkit/tools/test_shell/drag_delegate.h"
@@ -40,7 +43,9 @@
class TestShell;
class WebWidgetHost;
-class TestWebViewDelegate : public WebViewDelegate {
+class TestWebViewDelegate : public WebViewDelegate,
+ public webkit_glue::WebPluginPageDelegate,
+ public base::SupportsWeakPtr<TestWebViewDelegate> {
public:
struct CapturedContextMenuEvent {
CapturedContextMenuEvent(ContextNodeType in_node_type,
@@ -70,16 +75,9 @@
WebView* webview,
const WebKit::WebPopupMenuInfo& info);
#endif
- virtual WebPluginDelegate* CreatePluginDelegate(
- WebView* webview,
- const GURL& url,
- const std::string& mime_type,
- const std::string& clsid,
- std::string* actual_mime_type);
-#if defined(OS_LINUX)
- virtual void CreatedPluginWindow(gfx::PluginWindowHandle id);
- virtual void WillDestroyPluginWindow(gfx::PluginWindowHandle id);
-#endif
+ virtual WebKit::WebPlugin* CreatePlugin(
+ WebKit::WebFrame* frame,
+ const WebKit::WebPluginParams& params);
virtual WebKit::WebMediaPlayer* CreateWebMediaPlayer(
WebKit::WebMediaPlayerClient* client);
virtual WebKit::WebWorker* CreateWebWorker(WebKit::WebWorkerClient* client);
@@ -87,7 +85,6 @@
const GURL& url,
const GURL& referrer,
WebKit::WebNavigationPolicy policy);
- virtual void DidMovePlugin(const WebPluginGeometry& move);
virtual void RunJavaScriptAlert(WebKit::WebFrame* webframe,
const std::wstring& message);
virtual bool RunJavaScriptConfirm(WebKit::WebFrame* webframe,
@@ -202,10 +199,6 @@
virtual void DidChangeSelection(bool is_empty_selection);
virtual void DidChangeContents();
virtual void DidEndEditing();
-
- virtual void DidStartLoading(WebView* webview);
- virtual void DidStopLoading(WebView* webview);
-
virtual void WindowObjectCleared(WebKit::WebFrame* webframe);
virtual WebKit::WebNavigationPolicy PolicyForNavigationAction(
WebView* webview,
@@ -234,7 +227,28 @@
virtual WebKit::WebRect windowResizerRect();
virtual WebKit::WebScreenInfo screenInfo();
+ // webkit_glue::WebPluginPageDelegate
+ virtual webkit_glue::WebPluginDelegate* CreatePluginDelegate(
+ const GURL& url,
+ const std::string& mime_type,
+ const std::string& clsid,
+ std::string* actual_mime_type);
+ virtual void CreatedPluginWindow(
+ gfx::PluginWindowHandle handle);
+ virtual void WillDestroyPluginWindow(
+ gfx::PluginWindowHandle handle);
+ virtual void DidMovePlugin(
+ const webkit_glue::WebPluginGeometry& move);
+ virtual void DidStartLoadingForPlugin() {}
+ virtual void DidStopLoadingForPlugin() {}
+ virtual void ShowModalHTMLDialogForPlugin(
+ const GURL& url,
+ const gfx::Size& size,
+ const std::string& json_arguments,
+ std::string* json_retval) {}
+
TestWebViewDelegate(TestShell* shell);
+ ~TestWebViewDelegate();
void Reset();
void SetSmartInsertDeleteEnabled(bool enabled);
@@ -333,7 +347,7 @@
int page_id_;
int last_page_id_updated_;
- linked_ptr<TestShellExtraData> pending_extra_data_;
+ scoped_ptr<TestShellExtraData> pending_extra_data_;
// Maps resource identifiers to a descriptive string.
typedef std::map<uint32, std::string> ResourceMap;
@@ -358,7 +372,7 @@
#endif
#if defined(OS_MACOSX)
- linked_ptr<WebKit::WebPopupMenuInfo> popup_menu_info_;
+ scoped_ptr<WebKit::WebPopupMenuInfo> popup_menu_info_;
WebKit::WebRect popup_bounds_;
#endif
@@ -370,6 +384,8 @@
// true if we should block any redirects
bool block_redirects_;
+
+ DISALLOW_COPY_AND_ASSIGN(TestWebViewDelegate);
};
#endif // WEBKIT_TOOLS_TEST_SHELL_TEST_WEBVIEW_DELEGATE_H_

Powered by Google App Engine
This is Rietveld 408576698