diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-09 17:51:19 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-09 17:51:19 +0000 |
commit | da00a288d95a7da8f149ec0419b3e725f23d5ef7 (patch) | |
tree | 98d6645aab45e88cb420b0168b1620cf3e44b6d5 /chrome | |
parent | 8ef98f0890e8ffbb4096efc517dd9310306e9c21 (diff) | |
download | chromium_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')
-rw-r--r-- | chrome/renderer/DEPS | 1 | ||||
-rw-r--r-- | chrome/renderer/render_thread.cc | 21 | ||||
-rw-r--r-- | chrome/renderer/renderer_webkitclient_impl.cc | 27 | ||||
-rw-r--r-- | chrome/renderer/renderer_webkitclient_impl.h | 5 |
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: |