summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-01 23:07:19 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-01 23:07:19 +0000
commit12456fac1b181983b7ce52789be16e7e436a0996 (patch)
treea5a3a92808d8e78d5d620e6f900db60adcb84197 /chrome
parent31b882b2aac660139d1ea77b953e6c99ab184cb4 (diff)
downloadchromium_src-12456fac1b181983b7ce52789be16e7e436a0996.zip
chromium_src-12456fac1b181983b7ce52789be16e7e436a0996.tar.gz
chromium_src-12456fac1b181983b7ce52789be16e7e436a0996.tar.bz2
Replace webkit/glue/screen_info.h with WebKit/chromium/public/WebScreenInfo.h
This also eliminates webkit_glue::GetScreenInfo and webkit_glue::GetScreenInfoHelper. As part of this CL, I also extracted all of the ParamTraits for WebKit API types into chrome/common/webkit_param_traits.h. R=dglazkov Review URL: http://codereview.chromium.org/58008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12993 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/renderer_host/resource_message_filter.cc18
-rw-r--r--chrome/browser/renderer_host/resource_message_filter.h6
-rw-r--r--chrome/chrome.gyp1
-rw-r--r--chrome/common/common.vcproj4
-rw-r--r--chrome/common/render_messages.h242
-rw-r--r--chrome/common/render_messages_internal.h9
-rw-r--r--chrome/common/webkit_param_traits.h295
-rw-r--r--chrome/renderer/render_widget.cc9
-rw-r--r--chrome/renderer/render_widget.h13
-rw-r--r--chrome/renderer/renderer_glue.cc7
-rw-r--r--chrome/test/worker/test_worker_main.cc5
11 files changed, 340 insertions, 269 deletions
diff --git a/chrome/browser/renderer_host/resource_message_filter.cc b/chrome/browser/renderer_host/resource_message_filter.cc
index 92faa44..b7c59af 100644
--- a/chrome/browser/renderer_host/resource_message_filter.cc
+++ b/chrome/browser/renderer_host/resource_message_filter.cc
@@ -42,7 +42,17 @@
#include "chrome/common/temp_scaffolding_stubs.h"
#endif
+#if defined(OS_WIN)
+#include "third_party/WebKit/WebKit/chromium/public/win/WebScreenInfoFactory.h"
+#elif defined(OS_MACOSX)
+#include "third_party/WebKit/WebKit/chromium/public/mac/WebScreenInfoFactory.h"
+#elif defined(OS_LINUX)
+#include "third_party/WebKit/WebKit/chromium/public/gtk/WebScreenInfoFactory.h"
+#endif
+
using WebKit::WebCache;
+using WebKit::WebScreenInfo;
+using WebKit::WebScreenInfoFactory;
namespace {
@@ -442,9 +452,11 @@ void ResourceMessageFilter::OnLoadFont(LOGFONT font) {
}
#endif
-void ResourceMessageFilter::OnGetScreenInfo(
- gfx::NativeViewId window, webkit_glue::ScreenInfo* results) {
- *results = webkit_glue::GetScreenInfoHelper(gfx::NativeViewFromId(window));
+void ResourceMessageFilter::OnGetScreenInfo(gfx::NativeViewId view,
+ WebScreenInfo* results) {
+ // TODO(darin): Change this into a routed message so that we can eliminate
+ // the NativeViewId parameter.
+ *results = WebScreenInfoFactory::screenInfo(gfx::NativeViewFromId(view));
}
void ResourceMessageFilter::OnGetPlugins(bool refresh,
diff --git a/chrome/browser/renderer_host/resource_message_filter.h b/chrome/browser/renderer_host/resource_message_filter.h
index 42650f2..64a10ba 100644
--- a/chrome/browser/renderer_host/resource_message_filter.h
+++ b/chrome/browser/renderer_host/resource_message_filter.h
@@ -45,8 +45,8 @@ class PrinterQuery;
class PrintJobManager;
}
-namespace webkit_glue {
-struct ScreenInfo;
+namespace WebKit {
+struct WebScreenInfo;
}
// This class filters out incoming IPC messages for network requests and
@@ -128,7 +128,7 @@ class ResourceMessageFilter : public IPC::ChannelProxy::MessageFilter,
#endif
void OnGetScreenInfo(gfx::NativeViewId window,
- webkit_glue::ScreenInfo* results);
+ WebKit::WebScreenInfo* results);
void OnGetPlugins(bool refresh, std::vector<WebPluginInfo>* plugins);
void OnGetPluginPath(const GURL& url,
const std::string& mime_type,
diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp
index d0ca8a0..d6c0d81 100644
--- a/chrome/chrome.gyp
+++ b/chrome/chrome.gyp
@@ -292,6 +292,7 @@
'common/url_constants.h',
'common/visitedlink_common.cc',
'common/visitedlink_common.h',
+ 'common/webkit_param_traits.h',
'common/win_safe_util.cc',
'common/win_safe_util.h',
'common/win_util.cc',
diff --git a/chrome/common/common.vcproj b/chrome/common/common.vcproj
index 1a99f60..f392f7d 100644
--- a/chrome/common/common.vcproj
+++ b/chrome/common/common.vcproj
@@ -818,6 +818,10 @@
>
</File>
<File
+ RelativePath=".\webkit_param_traits.h"
+ >
+ </File>
+ <File
RelativePath=".\win_safe_util.cc"
>
</File>
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h
index 717303b..38af203 100644
--- a/chrome/common/render_messages.h
+++ b/chrome/common/render_messages.h
@@ -19,15 +19,12 @@
#include "chrome/common/modal_dialog_event.h"
#include "chrome/common/page_transition_types.h"
#include "chrome/common/transport_dib.h"
+#include "chrome/common/webkit_param_traits.h"
#include "googleurl/src/gurl.h"
#include "media/audio/audio_output.h"
#include "net/base/upload_data.h"
#include "net/http/http_response_headers.h"
#include "net/url_request/url_request_status.h"
-#include "third_party/WebKit/WebKit/chromium/public/WebCache.h"
-#include "third_party/WebKit/WebKit/chromium/public/WebConsoleMessage.h"
-#include "third_party/WebKit/WebKit/chromium/public/WebFindInPageRequest.h"
-#include "third_party/WebKit/WebKit/chromium/public/WebInputEvent.h"
#include "webkit/glue/autofill_form.h"
#include "webkit/glue/context_menu.h"
#include "webkit/glue/feed.h"
@@ -35,7 +32,6 @@
#include "webkit/glue/password_form.h"
#include "webkit/glue/password_form_dom_manager.h"
#include "webkit/glue/resource_loader_bridge.h"
-#include "webkit/glue/screen_info.h"
#include "webkit/glue/webaccessibility.h"
#include "webkit/glue/webdropdata.h"
#include "webkit/glue/webplugin.h"
@@ -372,66 +368,6 @@ struct ViewHostMsg_Audio_CreateStream {
namespace IPC {
template <>
-struct ParamTraits<WebKit::WebString> {
- typedef WebKit::WebString param_type;
- static void Write(Message* m, const param_type& p) {
- m->WriteData(reinterpret_cast<const char*>(p.data()),
- static_cast<int>(p.length() * sizeof(WebKit::WebUChar)));
- }
- static bool Read(const Message* m, void** iter, param_type* p) {
- const char* data;
- int data_len;
- if (!m->ReadData(iter, &data, &data_len))
- return false;
- p->assign(reinterpret_cast<const WebKit::WebUChar*>(data),
- static_cast<size_t>(data_len / sizeof(WebKit::WebUChar)));
- return true;
- }
- static void Log(const param_type& p, std::wstring* l) {
- l->append(UTF16ToWideHack(p));
- }
-};
-
-template <>
-struct ParamTraits<WebKit::WebConsoleMessage::Level> {
- typedef WebKit::WebConsoleMessage::Level param_type;
- static void Write(Message* m, const param_type& p) {
- WriteParam(m, static_cast<int>(p));
- }
- static bool Read(const Message* m, void** iter, param_type* r) {
- int value;
- if (!ReadParam(m, iter, &value))
- return false;
- *r = static_cast<param_type>(value);
- return true;
- }
- static void Log(const param_type& p, std::wstring* l) {
- LogParam(static_cast<int>(p), l);
- }
-};
-
-template <>
-struct ParamTraits<WebKit::WebConsoleMessage> {
- typedef WebKit::WebConsoleMessage param_type;
- static void Write(Message* m, const param_type& p) {
- WriteParam(m, p.level);
- WriteParam(m, p.text);
- }
- static bool Read(const Message* m, void** iter, param_type* r) {
- return
- ReadParam(m, iter, &r->level) &&
- ReadParam(m, iter, &r->text);
- }
- static void Log(const param_type& p, std::wstring* l) {
- l->append(L"(");
- LogParam(p.level, l);
- l->append(L", ");
- LogParam(p.text, l);
- l->append(L")");
- }
-};
-
-template <>
struct ParamTraits<ResourceType::Type> {
typedef ResourceType::Type param_type;
static void Write(Message* m, const param_type& p) {
@@ -546,58 +482,6 @@ struct ParamTraits<ContextNode> {
}
};
-template <>
-struct ParamTraits<WebKit::WebInputEvent::Type> {
- typedef WebKit::WebInputEvent::Type param_type;
- static void Write(Message* m, const param_type& p) {
- m->WriteInt(p);
- }
- static bool Read(const Message* m, void** iter, param_type* p) {
- int type;
- if (!m->ReadInt(iter, &type))
- return false;
- *p = static_cast<WebKit::WebInputEvent::Type>(type);
- return true;
- }
- static void Log(const param_type& p, std::wstring* l) {
- std::wstring type;
- switch (p) {
- case WebKit::WebInputEvent::MouseDown:
- type = L"MouseDown";
- break;
- case WebKit::WebInputEvent::MouseUp:
- type = L"MouseUp";
- break;
- case WebKit::WebInputEvent::MouseMove:
- type = L"MouseMove";
- break;
- case WebKit::WebInputEvent::MouseLeave:
- type = L"MouseLeave";
- break;
- case WebKit::WebInputEvent::MouseDoubleClick:
- type = L"MouseDoubleClick";
- break;
- case WebKit::WebInputEvent::MouseWheel:
- type = L"MouseWheel";
- break;
- case WebKit::WebInputEvent::RawKeyDown:
- type = L"RawKeyDown";
- break;
- case WebKit::WebInputEvent::KeyDown:
- type = L"KeyDown";
- break;
- case WebKit::WebInputEvent::KeyUp:
- type = L"KeyUp";
- break;
- default:
- type = L"None";
- break;
- }
-
- LogParam(type, l);
- }
-};
-
// Traits for ViewHostMsg_UpdateFeedList_Params structure to pack/unpack.
template <>
struct ParamTraits<ViewHostMsg_UpdateFeedList_Params> {
@@ -1260,83 +1144,6 @@ struct ParamTraits<scoped_refptr<net::UploadData> > {
}
};
-// Traits for WebKit::WebCache::UsageStats
-template <>
-struct ParamTraits<WebKit::WebCache::UsageStats> {
- typedef WebKit::WebCache::UsageStats param_type;
- static void Write(Message* m, const param_type& p) {
- WriteParam(m, p.minDeadCapacity);
- WriteParam(m, p.maxDeadCapacity);
- WriteParam(m, p.capacity);
- WriteParam(m, p.liveSize);
- WriteParam(m, p.deadSize);
- }
- static bool Read(const Message* m, void** iter, param_type* r) {
- return
- ReadParam(m, iter, &r->minDeadCapacity) &&
- ReadParam(m, iter, &r->maxDeadCapacity) &&
- ReadParam(m, iter, &r->capacity) &&
- ReadParam(m, iter, &r->liveSize) &&
- ReadParam(m, iter, &r->deadSize);
- }
- static void Log(const param_type& p, std::wstring* l) {
- l->append(L"<WebCache::UsageStats>");
- }
-};
-
-template <>
-struct ParamTraits<WebKit::WebCache::ResourceTypeStat> {
- typedef WebKit::WebCache::ResourceTypeStat param_type;
- static void Write(Message* m, const param_type& p) {
- WriteParam(m, p.count);
- WriteParam(m, p.size);
- WriteParam(m, p.liveSize);
- WriteParam(m, p.decodedSize);
- }
- static bool Read(const Message* m, void** iter, param_type* r) {
- bool result =
- ReadParam(m, iter, &r->count) &&
- ReadParam(m, iter, &r->size) &&
- ReadParam(m, iter, &r->liveSize) &&
- ReadParam(m, iter, &r->decodedSize);
- return result;
- }
- static void Log(const param_type& p, std::wstring* l) {
- l->append(StringPrintf(L"%d %d %d %d", p.count, p.size, p.liveSize,
- p.decodedSize));
- }
-};
-
-template <>
-struct ParamTraits<WebKit::WebCache::ResourceTypeStats> {
- typedef WebKit::WebCache::ResourceTypeStats param_type;
- static void Write(Message* m, const param_type& p) {
- WriteParam(m, p.images);
- WriteParam(m, p.cssStyleSheets);
- WriteParam(m, p.scripts);
- WriteParam(m, p.xslStyleSheets);
- WriteParam(m, p.fonts);
- }
- static bool Read(const Message* m, void** iter, param_type* r) {
- bool result =
- ReadParam(m, iter, &r->images) &&
- ReadParam(m, iter, &r->cssStyleSheets) &&
- ReadParam(m, iter, &r->scripts) &&
- ReadParam(m, iter, &r->xslStyleSheets) &&
- ReadParam(m, iter, &r->fonts);
- return result;
- }
- static void Log(const param_type& p, std::wstring* l) {
- l->append(L"<WebCoreStats>");
- LogParam(p.images, l);
- LogParam(p.cssStyleSheets, l);
- LogParam(p.scripts, l);
- LogParam(p.xslStyleSheets, l);
- LogParam(p.fonts, l);
- l->append(L"</WebCoreStats>");
- }
-};
-
// Traits for PasswordFormDomManager::FillData.
template <>
struct ParamTraits<PasswordFormDomManager::FillData> {
@@ -1810,30 +1617,6 @@ struct ParamTraits<WebDropData> {
}
};
-// Traits for ScreenInfo
-template <>
-struct ParamTraits<webkit_glue::ScreenInfo> {
- typedef webkit_glue::ScreenInfo param_type;
- static void Write(Message* m, const param_type& p) {
- WriteParam(m, p.depth);
- WriteParam(m, p.depth_per_component);
- WriteParam(m, p.is_monochrome);
- WriteParam(m, p.rect);
- WriteParam(m, p.available_rect);
- }
- static bool Read(const Message* m, void** iter, param_type* p) {
- return
- ReadParam(m, iter, &p->depth) &&
- ReadParam(m, iter, &p->depth_per_component) &&
- ReadParam(m, iter, &p->is_monochrome) &&
- ReadParam(m, iter, &p->rect) &&
- ReadParam(m, iter, &p->available_rect);
- }
- static void Log(const param_type& p, std::wstring* l) {
- l->append(L"<webkit_glue::ScreenInfo>");
- }
-};
-
template<>
struct ParamTraits<ModalDialogEvent> {
typedef ModalDialogEvent param_type;
@@ -1985,29 +1768,6 @@ struct ParamTraits<AudioOutputStream::State> {
}
};
-template <>
-struct ParamTraits<WebKit::WebFindInPageRequest> {
- typedef WebKit::WebFindInPageRequest param_type;
- static void Write(Message* m, const param_type& p) {
- WriteParam(m, p.identifier);
- WriteParam(m, p.text);
- WriteParam(m, p.forward);
- WriteParam(m, p.matchCase);
- WriteParam(m, p.findNext);
- }
- static bool Read(const Message* m, void** iter, param_type* p) {
- return
- ReadParam(m, iter, &p->identifier) &&
- ReadParam(m, iter, &p->text) &&
- ReadParam(m, iter, &p->forward) &&
- ReadParam(m, iter, &p->matchCase) &&
- ReadParam(m, iter, &p->findNext);
- }
- static void Log(const param_type& p, std::wstring* l) {
- l->append(L"<FindInPageRequest>");
- }
-};
-
} // namespace IPC
diff --git a/chrome/common/render_messages_internal.h b/chrome/common/render_messages_internal.h
index ff0217d..5a32a0b 100644
--- a/chrome/common/render_messages_internal.h
+++ b/chrome/common/render_messages_internal.h
@@ -19,7 +19,6 @@
#include "chrome/common/transport_dib.h"
#include "skia/include/SkBitmap.h"
#include "webkit/glue/dom_operations.h"
-#include "webkit/glue/screen_info.h"
#include "webkit/glue/webcursor.h"
#include "webkit/glue/webplugin.h"
@@ -882,10 +881,12 @@ IPC_BEGIN_MESSAGES(ViewHost)
LOGFONT /* font data */)
#endif // defined(OS_WIN)
- // Returns ScreenInfo corresponding to the given window.
+ // Returns WebScreenInfo corresponding to the view.
+ // TODO(darin): Change this to be a routed message so we don't need to pass
+ // the view id.
IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetScreenInfo,
- gfx::NativeViewId /* window */,
- webkit_glue::ScreenInfo /* results */)
+ gfx::NativeViewId /* native view id */,
+ WebKit::WebScreenInfo /* results */)
// Send the tooltip text for the current mouse position to the browser.
IPC_MESSAGE_ROUTED1(ViewHostMsg_SetTooltipText,
diff --git a/chrome/common/webkit_param_traits.h b/chrome/common/webkit_param_traits.h
new file mode 100644
index 0000000..d41bccc
--- /dev/null
+++ b/chrome/common/webkit_param_traits.h
@@ -0,0 +1,295 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this
+// source code is governed by a BSD-style license that can be found in the
+// LICENSE file.
+//
+// This file contains ParamTraits templates to support serialization of WebKit
+// data types over IPC.
+
+#ifndef CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_
+#define CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_
+
+#include "chrome/common/ipc_message_utils.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebCache.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebConsoleMessage.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebFindInPageRequest.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebInputEvent.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebScreenInfo.h"
+
+namespace IPC {
+
+template <>
+struct ParamTraits<WebKit::WebRect> {
+ typedef WebKit::WebRect param_type;
+ static void Write(Message* m, const param_type& p) {
+ WriteParam(m, p.x);
+ WriteParam(m, p.y);
+ WriteParam(m, p.width);
+ WriteParam(m, p.height);
+ }
+ static bool Read(const Message* m, void** iter, param_type* p) {
+ return
+ ReadParam(m, iter, &p->x) &&
+ ReadParam(m, iter, &p->y) &&
+ ReadParam(m, iter, &p->width) &&
+ ReadParam(m, iter, &p->height);
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ l->append(L"(");
+ LogParam(p.x, l);
+ l->append(L", ");
+ LogParam(p.y, l);
+ l->append(L", ");
+ LogParam(p.width, l);
+ l->append(L", ");
+ LogParam(p.height, l);
+ l->append(L")");
+ }
+};
+
+template <>
+struct ParamTraits<WebKit::WebScreenInfo> {
+ typedef WebKit::WebScreenInfo param_type;
+ static void Write(Message* m, const param_type& p) {
+ WriteParam(m, p.depth);
+ WriteParam(m, p.depthPerComponent);
+ WriteParam(m, p.isMonochrome);
+ WriteParam(m, p.rect);
+ WriteParam(m, p.availableRect);
+ }
+ static bool Read(const Message* m, void** iter, param_type* p) {
+ return
+ ReadParam(m, iter, &p->depth) &&
+ ReadParam(m, iter, &p->depthPerComponent) &&
+ ReadParam(m, iter, &p->isMonochrome) &&
+ ReadParam(m, iter, &p->rect) &&
+ ReadParam(m, iter, &p->availableRect);
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ l->append(L"(");
+ LogParam(p.depth, l);
+ l->append(L", ");
+ LogParam(p.depthPerComponent, l);
+ l->append(L", ");
+ LogParam(p.isMonochrome, l);
+ l->append(L", ");
+ LogParam(p.rect, l);
+ l->append(L", ");
+ LogParam(p.availableRect, l);
+ l->append(L")");
+ }
+};
+
+template <>
+struct ParamTraits<WebKit::WebString> {
+ typedef WebKit::WebString param_type;
+ static void Write(Message* m, const param_type& p) {
+ m->WriteData(reinterpret_cast<const char*>(p.data()),
+ static_cast<int>(p.length() * sizeof(WebKit::WebUChar)));
+ }
+ static bool Read(const Message* m, void** iter, param_type* p) {
+ const char* data;
+ int data_len;
+ if (!m->ReadData(iter, &data, &data_len))
+ return false;
+ p->assign(reinterpret_cast<const WebKit::WebUChar*>(data),
+ static_cast<size_t>(data_len / sizeof(WebKit::WebUChar)));
+ return true;
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ l->append(UTF16ToWideHack(p));
+ }
+};
+
+template <>
+struct ParamTraits<WebKit::WebConsoleMessage::Level> {
+ typedef WebKit::WebConsoleMessage::Level param_type;
+ static void Write(Message* m, const param_type& p) {
+ WriteParam(m, static_cast<int>(p));
+ }
+ static bool Read(const Message* m, void** iter, param_type* r) {
+ int value;
+ if (!ReadParam(m, iter, &value))
+ return false;
+ *r = static_cast<param_type>(value);
+ return true;
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ LogParam(static_cast<int>(p), l);
+ }
+};
+
+template <>
+struct ParamTraits<WebKit::WebConsoleMessage> {
+ typedef WebKit::WebConsoleMessage param_type;
+ static void Write(Message* m, const param_type& p) {
+ WriteParam(m, p.level);
+ WriteParam(m, p.text);
+ }
+ static bool Read(const Message* m, void** iter, param_type* r) {
+ return
+ ReadParam(m, iter, &r->level) &&
+ ReadParam(m, iter, &r->text);
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ l->append(L"(");
+ LogParam(p.level, l);
+ l->append(L", ");
+ LogParam(p.text, l);
+ l->append(L")");
+ }
+};
+
+template <>
+struct ParamTraits<WebKit::WebFindInPageRequest> {
+ typedef WebKit::WebFindInPageRequest param_type;
+ static void Write(Message* m, const param_type& p) {
+ WriteParam(m, p.identifier);
+ WriteParam(m, p.text);
+ WriteParam(m, p.forward);
+ WriteParam(m, p.matchCase);
+ WriteParam(m, p.findNext);
+ }
+ static bool Read(const Message* m, void** iter, param_type* p) {
+ return
+ ReadParam(m, iter, &p->identifier) &&
+ ReadParam(m, iter, &p->text) &&
+ ReadParam(m, iter, &p->forward) &&
+ ReadParam(m, iter, &p->matchCase) &&
+ ReadParam(m, iter, &p->findNext);
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ l->append(L"<FindInPageRequest>");
+ }
+};
+
+template <>
+struct ParamTraits<WebKit::WebInputEvent::Type> {
+ typedef WebKit::WebInputEvent::Type param_type;
+ static void Write(Message* m, const param_type& p) {
+ m->WriteInt(p);
+ }
+ static bool Read(const Message* m, void** iter, param_type* p) {
+ int type;
+ if (!m->ReadInt(iter, &type))
+ return false;
+ *p = static_cast<WebKit::WebInputEvent::Type>(type);
+ return true;
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ std::wstring type;
+ switch (p) {
+ case WebKit::WebInputEvent::MouseDown:
+ type = L"MouseDown";
+ break;
+ case WebKit::WebInputEvent::MouseUp:
+ type = L"MouseUp";
+ break;
+ case WebKit::WebInputEvent::MouseMove:
+ type = L"MouseMove";
+ break;
+ case WebKit::WebInputEvent::MouseLeave:
+ type = L"MouseLeave";
+ break;
+ case WebKit::WebInputEvent::MouseDoubleClick:
+ type = L"MouseDoubleClick";
+ break;
+ case WebKit::WebInputEvent::MouseWheel:
+ type = L"MouseWheel";
+ break;
+ case WebKit::WebInputEvent::RawKeyDown:
+ type = L"RawKeyDown";
+ break;
+ case WebKit::WebInputEvent::KeyDown:
+ type = L"KeyDown";
+ break;
+ case WebKit::WebInputEvent::KeyUp:
+ type = L"KeyUp";
+ break;
+ default:
+ type = L"None";
+ break;
+ }
+ LogParam(type, l);
+ }
+};
+
+// Traits for WebKit::WebCache::UsageStats
+template <>
+struct ParamTraits<WebKit::WebCache::UsageStats> {
+ typedef WebKit::WebCache::UsageStats param_type;
+ static void Write(Message* m, const param_type& p) {
+ WriteParam(m, p.minDeadCapacity);
+ WriteParam(m, p.maxDeadCapacity);
+ WriteParam(m, p.capacity);
+ WriteParam(m, p.liveSize);
+ WriteParam(m, p.deadSize);
+ }
+ static bool Read(const Message* m, void** iter, param_type* r) {
+ return
+ ReadParam(m, iter, &r->minDeadCapacity) &&
+ ReadParam(m, iter, &r->maxDeadCapacity) &&
+ ReadParam(m, iter, &r->capacity) &&
+ ReadParam(m, iter, &r->liveSize) &&
+ ReadParam(m, iter, &r->deadSize);
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ l->append(L"<WebCache::UsageStats>");
+ }
+};
+
+template <>
+struct ParamTraits<WebKit::WebCache::ResourceTypeStat> {
+ typedef WebKit::WebCache::ResourceTypeStat param_type;
+ static void Write(Message* m, const param_type& p) {
+ WriteParam(m, p.count);
+ WriteParam(m, p.size);
+ WriteParam(m, p.liveSize);
+ WriteParam(m, p.decodedSize);
+ }
+ static bool Read(const Message* m, void** iter, param_type* r) {
+ bool result =
+ ReadParam(m, iter, &r->count) &&
+ ReadParam(m, iter, &r->size) &&
+ ReadParam(m, iter, &r->liveSize) &&
+ ReadParam(m, iter, &r->decodedSize);
+ return result;
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ l->append(StringPrintf(L"%d %d %d %d", p.count, p.size, p.liveSize,
+ p.decodedSize));
+ }
+};
+
+template <>
+struct ParamTraits<WebKit::WebCache::ResourceTypeStats> {
+ typedef WebKit::WebCache::ResourceTypeStats param_type;
+ static void Write(Message* m, const param_type& p) {
+ WriteParam(m, p.images);
+ WriteParam(m, p.cssStyleSheets);
+ WriteParam(m, p.scripts);
+ WriteParam(m, p.xslStyleSheets);
+ WriteParam(m, p.fonts);
+ }
+ static bool Read(const Message* m, void** iter, param_type* r) {
+ bool result =
+ ReadParam(m, iter, &r->images) &&
+ ReadParam(m, iter, &r->cssStyleSheets) &&
+ ReadParam(m, iter, &r->scripts) &&
+ ReadParam(m, iter, &r->xslStyleSheets) &&
+ ReadParam(m, iter, &r->fonts);
+ return result;
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ l->append(L"<WebCoreStats>");
+ LogParam(p.images, l);
+ LogParam(p.cssStyleSheets, l);
+ LogParam(p.scripts, l);
+ LogParam(p.xslStyleSheets, l);
+ LogParam(p.fonts, l);
+ l->append(L"</WebCoreStats>");
+ }
+};
+
+} // namespace IPC
+
+#endif // CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_
diff --git a/chrome/renderer/render_widget.cc b/chrome/renderer/render_widget.cc
index 12d2315..9b05e19 100644
--- a/chrome/renderer/render_widget.cc
+++ b/chrome/renderer/render_widget.cc
@@ -14,6 +14,7 @@
#include "chrome/common/transport_dib.h"
#include "chrome/renderer/render_process.h"
#include "skia/ext/platform_canvas.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebScreenInfo.h"
#if defined(OS_POSIX)
#include "skia/include/SkPixelRef.h"
@@ -24,6 +25,7 @@
#include "webkit/glue/webwidget.h"
using WebKit::WebInputEvent;
+using WebKit::WebScreenInfo;
RenderWidget::RenderWidget(RenderThreadBase* render_thread, bool activatable)
: routing_id_(MSG_ROUTING_NONE),
@@ -765,3 +767,10 @@ void RenderWidget::DidMove(WebWidget* webwidget,
if (i == plugin_window_moves_.size())
plugin_window_moves_.push_back(move);
}
+
+WebScreenInfo RenderWidget::GetScreenInfo(WebWidget* webwidget) {
+ WebScreenInfo results;
+ RenderThread::current()->Send(
+ new ViewHostMsg_GetScreenInfo(host_window_, &results));
+ return results;
+}
diff --git a/chrome/renderer/render_widget.h b/chrome/renderer/render_widget.h
index d7e28fa..7ee2c04 100644
--- a/chrome/renderer/render_widget.h
+++ b/chrome/renderer/render_widget.h
@@ -70,6 +70,11 @@ class RenderWidget : public IPC::Channel::Listener,
const gfx::Rect& clip_rect);
virtual void SetCursor(WebWidget* webwidget, const WebCursor& cursor);
virtual void Show(WebWidget* webwidget, WindowOpenDisposition disposition);
+ virtual void ShowWithItems(WebWidget* webwidget,
+ const gfx::Rect& bounds,
+ int item_height,
+ int selected_index,
+ const std::vector<MenuItem>& items);
virtual void CloseWidgetSoon(WebWidget* webwidget);
virtual void Focus(WebWidget* webwidget);
virtual void Blur(WebWidget* webwidget);
@@ -79,12 +84,8 @@ class RenderWidget : public IPC::Channel::Listener,
virtual void GetRootWindowResizerRect(WebWidget* webwidget, gfx::Rect* rect);
virtual void DidMove(WebWidget* webwidget, const WebPluginGeometry& move);
virtual void RunModal(WebWidget* webwidget) {}
- virtual bool IsHidden() { return is_hidden_; }
- virtual void ShowWithItems(WebWidget* webwidget,
- const gfx::Rect& bounds,
- int item_height,
- int selected_index,
- const std::vector<MenuItem>& items);
+ virtual bool IsHidden(WebWidget* webwidget) { return is_hidden_; }
+ virtual WebKit::WebScreenInfo GetScreenInfo(WebWidget* webwidget);
// Close the underlying WebWidget.
void Close();
diff --git a/chrome/renderer/renderer_glue.cc b/chrome/renderer/renderer_glue.cc
index e8d3c53..09f6676 100644
--- a/chrome/renderer/renderer_glue.cc
+++ b/chrome/renderer/renderer_glue.cc
@@ -219,13 +219,6 @@ bool GetPlugins(bool refresh, std::vector<WebPluginInfo>* plugins) {
new ViewHostMsg_GetPlugins(refresh, plugins));
}
-webkit_glue::ScreenInfo GetScreenInfo(gfx::NativeViewId window) {
- webkit_glue::ScreenInfo results;
- RenderThread::current()->Send(
- new ViewHostMsg_GetScreenInfo(window, &results));
- return results;
-}
-
// static factory function
ResourceLoaderBridge* ResourceLoaderBridge::Create(
const std::string& method,
diff --git a/chrome/test/worker/test_worker_main.cc b/chrome/test/worker/test_worker_main.cc
index e3a7f89..f1e7817 100644
--- a/chrome/test/worker/test_worker_main.cc
+++ b/chrome/test/worker/test_worker_main.cc
@@ -14,7 +14,6 @@
#include "googleurl/src/gurl.h"
#include "third_party/WebKit/WebKit/chromium/public/WebKit.h"
#include "webkit/glue/resource_loader_bridge.h"
-#include "webkit/glue/screen_info.h"
#include "webkit/glue/webkit_glue.h"
#include "webkit/glue/webworker.h"
#include "webkit/glue/webworkerclient.h"
@@ -108,10 +107,6 @@ bool SpellCheckWord(const wchar_t* word, int word_len,
return true;
}
-ScreenInfo GetScreenInfo(gfx::NativeViewId window) {
- return GetScreenInfoHelper(gfx::NativeViewFromId(window));
-}
-
bool GetPlugins(bool refresh, std::vector<WebPluginInfo>* plugins) {
return false;
}