summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-09 17:51:19 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-09 17:51:19 +0000
commitda00a288d95a7da8f149ec0419b3e725f23d5ef7 (patch)
tree98d6645aab45e88cb420b0168b1620cf3e44b6d5 /chrome/renderer
parent8ef98f0890e8ffbb4096efc517dd9310306e9c21 (diff)
downloadchromium_src-da00a288d95a7da8f149ec0419b3e725f23d5ef7.zip
chromium_src-da00a288d95a7da8f149ec0419b3e725f23d5ef7.tar.gz
chromium_src-da00a288d95a7da8f149ec0419b3e725f23d5ef7.tar.bz2
More WebKit API action (chromium side).
Adds the following methods to WebKitClient: decrementStatsTable incrementStatsTable traceEventBegin traceEventEnd The implementation of initV8CounterFunction is now a no-op. V8Proxy.cpp no longer calls it, and I moved the corresponding work out of WebKit. The embedder now calls the appropriate V8 API before initializing WebKit. Includes some cleanup to WebString and WebCString. I decided that I prefer "data" over "characters" since the latter may be confusing in some cases. For example, the elements of a WebString or WebCString may not be individual characters but may be part of a character. "data" is also consistent with basic_string<T> and so should be plenty familiar. There is wanton disregard for the Chrome+JSC build in this CL, but that's OK. We have already crossed that bridge. R=dglazkov Review URL: http://codereview.chromium.org/39288 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11254 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/DEPS1
-rw-r--r--chrome/renderer/render_thread.cc21
-rw-r--r--chrome/renderer/renderer_webkitclient_impl.cc27
-rw-r--r--chrome/renderer/renderer_webkitclient_impl.h5
4 files changed, 17 insertions, 37 deletions
diff --git a/chrome/renderer/DEPS b/chrome/renderer/DEPS
index 8587def..098bbaa 100644
--- a/chrome/renderer/DEPS
+++ b/chrome/renderer/DEPS
@@ -13,6 +13,7 @@ include_rules = [
"+webkit/extensions",
"+webkit/glue",
"+webkit/glue/plugins",
+ "+v8/include",
# FIXME - refactor code and remove these dependencies
"+chrome/browser/net",
diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc
index f2eed65..4c0bb12 100644
--- a/chrome/renderer/render_thread.cc
+++ b/chrome/renderer/render_thread.cc
@@ -2,18 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "build/build_config.h"
+#include "chrome/renderer/render_thread.h"
-#if defined(OS_WIN)
-#include <windows.h>
-#include <objbase.h>
-#endif
#include <algorithm>
-
-#include "chrome/renderer/render_thread.h"
+#include <vector>
#include "base/command_line.h"
#include "base/shared_memory.h"
+#include "base/stats_table.h"
#include "chrome/common/chrome_plugin_lib.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/render_messages.h"
@@ -24,7 +20,6 @@
#if defined(OS_WIN)
#include "chrome/plugin/plugin_channel.h"
#else
-#include <vector>
#include "base/scoped_handle.h"
#include "chrome/plugin/plugin_channel_base.h"
#include "webkit/glue/weburlrequest.h"
@@ -35,6 +30,7 @@
#include "chrome/renderer/renderer_webkitclient_impl.h"
#include "chrome/renderer/user_script_slave.h"
#include "chrome/renderer/visitedlink_slave.h"
+#include "v8/include/v8.h"
#include "webkit/extensions/v8/gears_extension.h"
#include "webkit/extensions/v8/interval_extension.h"
#include "webkit/extensions/v8/playback_extension.h"
@@ -43,6 +39,11 @@
#include "WebKit.h"
#include "WebString.h"
+#if defined(OS_WIN)
+#include <windows.h>
+#include <objbase.h>
+#endif
+
static const unsigned int kCacheStatsDelayMS = 2000 /* milliseconds */;
@@ -246,9 +247,13 @@ void RenderThread::InformHostOfCacheStatsLater() {
void RenderThread::EnsureWebKitInitialized() {
if (webkit_client_.get())
return;
+
+ v8::V8::SetCounterFunction(StatsTable::FindLocation);
+
webkit_client_.reset(new RendererWebKitClientImpl);
WebKit::initialize(webkit_client_.get());
WebKit::registerURLSchemeAsLocal(ASCIIToUTF16(chrome::kChromeUIScheme));
+
WebKit::registerExtension(extensions_v8::GearsExtension::Get());
WebKit::registerExtension(extensions_v8::IntervalExtension::Get());
diff --git a/chrome/renderer/renderer_webkitclient_impl.cc b/chrome/renderer/renderer_webkitclient_impl.cc
index f0e5cfd..9e34a7c 100644
--- a/chrome/renderer/renderer_webkitclient_impl.cc
+++ b/chrome/renderer/renderer_webkitclient_impl.cc
@@ -8,7 +8,6 @@
#include "WebURL.h"
#include "base/command_line.h"
-#include "base/trace_event.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/render_messages.h"
#include "chrome/plugin/npobject_util.h"
@@ -45,10 +44,10 @@ void RendererWebKitClientImpl::setCookies(
WebString RendererWebKitClientImpl::cookies(
const WebURL& url, const WebURL& policy_url) {
- std::string value;
+ std::string value_utf8;
RenderThread::current()->Send(
- new ViewHostMsg_GetCookies(url, policy_url, &value));
- return WebString::fromUTF8(value);
+ new ViewHostMsg_GetCookies(url, policy_url, &value_utf8));
+ return WebString::fromUTF8(value_utf8);
}
void RendererWebKitClientImpl::prefetchHostName(const WebString& hostname) {
@@ -108,23 +107,3 @@ WebString RendererWebKitClientImpl::MimeRegistry::preferredExtensionForMIMEType(
&file_extension));
return webkit_glue::FilePathStringToWebString(file_extension);
}
-
-void RendererWebKitClientImpl::decrementStatsCounter(const char* name) {
- StatsCounter(name).Decrement();
-}
-
-void RendererWebKitClientImpl::incrementStatsCounter(const char* name) {
- StatsCounter(name).Increment();
-}
-
-void RendererWebKitClientImpl::traceEventBegin(const char* name,
- void* id,
- const char* extra) {
- TRACE_EVENT_BEGIN(name, id, extra);
-}
-
-void RendererWebKitClientImpl::traceEventEnd(const char* name,
- void* id,
- const char* extra) {
- TRACE_EVENT_END(name, id, extra);
-}
diff --git a/chrome/renderer/renderer_webkitclient_impl.h b/chrome/renderer/renderer_webkitclient_impl.h
index 58d643e..2ed397b 100644
--- a/chrome/renderer/renderer_webkitclient_impl.h
+++ b/chrome/renderer/renderer_webkitclient_impl.h
@@ -24,11 +24,6 @@ class RendererWebKitClientImpl : public webkit_glue::WebKitClientImpl {
virtual void prefetchHostName(const WebKit::WebString&);
virtual WebKit::WebString defaultLocale();
- virtual void decrementStatsCounter(const char* name);
- virtual void incrementStatsCounter(const char* name);
- virtual void traceEventBegin(const char* name, void* id, const char* extra);
- virtual void traceEventEnd(const char* name, void* id, const char* extra);
-
private:
class MimeRegistry : public webkit_glue::SimpleWebMimeRegistryImpl {
public: