diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-16 05:11:05 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-16 05:11:05 +0000 |
commit | 05158051ea881677c03a22ddf38a3e6779cebb9e (patch) | |
tree | 95c6756227e0bbea55da3c4b19abdf99d7eb3ebe /webkit/glue/webworker_impl.cc | |
parent | 6c14b76fede6abc592d9d65965fbdf4626e83efe (diff) | |
download | chromium_src-05158051ea881677c03a22ddf38a3e6779cebb9e.zip chromium_src-05158051ea881677c03a22ddf38a3e6779cebb9e.tar.gz chromium_src-05158051ea881677c03a22ddf38a3e6779cebb9e.tar.bz2 |
Use WebWidget from the WebKit API. This change also makes
use of WebKitClient (replacing WebWidgetDelegate from glue).
The ripple effects of this change are rather large, but most
of the impact is mechanical.
The more interesting changes include:
1- Removing the WebWidget parameter from WebWidgetClient methods. This didn't
matter at all to RenderWidget or RenderView, but it did cause some changes to
be made to TestWebViewDelegate. Now, it is not possible to share a delegate
implementation for both the WebView and a popup menu, so I have a second
instance of the delegate owned by TestShell for use with popup menus.
2- Plumbing WebNavigationPolicy in place of WindowOpenDisposition was getting
to be a pretty large change, so I stopped short of deleting WindowOpenDisposition.
That way the Chrome side can remain mostly unmodified. I then added a mapping
function to convert from WebNavigationPolicy to WindowOpenDisposition.
3- The IME methods on WebWidget were renamed (reviewed separately by hbono), and
there is now an enum to specify the composition command (WebCompositionCommand).
4- I added IPC serialization for WebCompositionCommand and WebTextDirection,
which cleaned up some code that was just using ints in IPC messages.
R=jam
BUG=16234
TEST=none
Review URL: http://codereview.chromium.org/149620
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20854 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webworker_impl.cc')
-rw-r--r-- | webkit/glue/webworker_impl.cc | 45 |
1 files changed, 21 insertions, 24 deletions
diff --git a/webkit/glue/webworker_impl.cc b/webkit/glue/webworker_impl.cc index c706524..c20b6839 100644 --- a/webkit/glue/webworker_impl.cc +++ b/webkit/glue/webworker_impl.cc @@ -34,6 +34,9 @@ #include "webkit/glue/webworker_impl.h" using WebKit::WebCursorInfo; +using WebKit::WebNavigationPolicy; +using WebKit::WebRect; +using WebKit::WebScreenInfo; using WebKit::WebString; using WebKit::WebURL; using WebKit::WebWorker; @@ -46,39 +49,33 @@ using WebKit::WebWorkerClient; class WorkerWebViewDelegate : public WebViewDelegate { public: WorkerWebViewDelegate() {} - virtual void Blur(WebWidget *webwidget) { } - virtual void CloseWidgetSoon(WebWidget *webwidget) { } - virtual void DidInvalidateRect(WebWidget *webwidget, - const WebKit::WebRect &rect) { } - virtual void DidMove(WebWidget *webwidget, const WebPluginGeometry &move) { } - virtual void DidScrollRect(WebWidget *webwidget, int dx, int dy, - const WebKit::WebRect &clip_rect) { } - virtual void Focus(WebWidget *webwidget) { } - virtual void GetRootWindowRect(WebWidget *webwidget, - WebKit::WebRect *rect) { } - virtual void GetRootWindowResizerRect(WebWidget *webwidget, - WebKit::WebRect *rect) { } - virtual WebKit::WebScreenInfo GetScreenInfo(WebWidget *webwidget) { - WebKit::WebScreenInfo info; - return info; - } - virtual void GetWindowRect(WebWidget *webwidget, WebKit::WebRect *rect) { } - virtual bool IsHidden(WebWidget *webwidget) { return true; } - virtual void RunModal(WebWidget *webwidget) { } - virtual void SetCursor(WebWidget *webwidget, const WebCursorInfo &cursor) { } - virtual void SetWindowRect(WebWidget *webwidget, - const WebKit::WebRect &rect) { } - virtual void Show(WebWidget *webwidget, WindowOpenDisposition disposition) { } + + virtual void didInvalidateRect(const WebRect&) {} + virtual void didScrollRect(int dx, int dy, const WebRect& clipRect) {} + virtual void didFocus() {} + virtual void didBlur() {} + virtual void didChangeCursor(const WebCursorInfo&) {} + virtual void closeWidgetSoon() {} + virtual void show(WebNavigationPolicy) {} + virtual void runModal() {} + virtual WebRect windowRect() { return WebRect(); } + virtual void setWindowRect(const WebRect&) {} + virtual WebRect windowResizerRect() { return WebRect(); } + virtual WebRect rootWindowRect() { return WebRect(); } + virtual WebScreenInfo screenInfo() { return WebScreenInfo(); } + // Tell the loader to load the data into the 'shadow page' synchronously, // so we can grab the resulting Document right after load. virtual void DidCreateDataSource(WebFrame* frame, WebKit::WebDataSource* ds) { static_cast<WebDataSourceImpl*>(ds)->setDeferMainResourceDataLoad(false); } + // Lazy allocate and leak this instance. static WorkerWebViewDelegate* worker_delegate() { static WorkerWebViewDelegate* worker_delegate = new WorkerWebViewDelegate(); return worker_delegate; } + private: DISALLOW_COPY_AND_ASSIGN(WorkerWebViewDelegate); }; @@ -116,7 +113,7 @@ WebWorkerImpl::WebWorkerImpl(WebWorkerClient* client) } WebWorkerImpl::~WebWorkerImpl() { - web_view_->Close(); + web_view_->close(); } void WebWorkerImpl::PostMessageToWorkerContextTask( |