summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webkit/glue/chromium_bridge_impl.cc32
-rw-r--r--webkit/port/bindings/v8/npruntime.cpp9
-rw-r--r--webkit/port/bindings/v8/v8_proxy.cpp14
-rw-r--r--webkit/port/bindings/v8/v8_proxy.h4
-rw-r--r--webkit/port/platform/chromium/ChromiumBridge.h10
5 files changed, 53 insertions, 16 deletions
diff --git a/webkit/glue/chromium_bridge_impl.cc b/webkit/glue/chromium_bridge_impl.cc
index eece6dd..9ba3624 100644
--- a/webkit/glue/chromium_bridge_impl.cc
+++ b/webkit/glue/chromium_bridge_impl.cc
@@ -21,7 +21,10 @@
#undef LOG
#include "base/clipboard.h"
+#include "base/stats_counters.h"
#include "base/string_util.h"
+#include "base/trace_event.h"
+#include <v8.h>
#include "webkit/glue/chrome_client_impl.h"
#include "webkit/glue/glue_util.h"
#include "webkit/glue/scoped_clipboard_writer_glue.h"
@@ -290,7 +293,34 @@ IntRect ChromiumBridge::screenAvailableRect(Widget* widget) {
webkit_glue::GetScreenInfo(ToPlatform(widget)).available_rect);
}
-// URL ----------------------------------------------------------------
+// StatsCounters --------------------------------------------------------------
+void ChromiumBridge::decrementStatsCounter(const wchar_t* name) {
+ StatsCounter(name).Decrement();
+}
+
+void ChromiumBridge::incrementStatsCounter(const wchar_t* name) {
+ StatsCounter(name).Increment();
+}
+
+void ChromiumBridge::initV8CounterFunction() {
+ v8::V8::SetCounterFunction(StatsTable::FindLocation);
+}
+
+// Trace Event ----------------------------------------------------------------
+void ChromiumBridge::traceEventBegin(const char* name,
+ void* id,
+ const char* extra) {
+ TRACE_EVENT_BEGIN(name, id, extra);
+}
+
+void ChromiumBridge::traceEventEnd(const char* name,
+ void* id,
+ const char* extra) {
+ TRACE_EVENT_END(name, id, extra);
+}
+
+
+// URL ------------------------------------------------------------------------
KURL ChromiumBridge::inspectorURL() {
return webkit_glue::GURLToKURL(webkit_glue::GetInspectorURL());
}
diff --git a/webkit/port/bindings/v8/npruntime.cpp b/webkit/port/bindings/v8/npruntime.cpp
index df30e13..1c1007b 100644
--- a/webkit/port/bindings/v8/npruntime.cpp
+++ b/webkit/port/bindings/v8/npruntime.cpp
@@ -30,9 +30,10 @@
#include <set>
#include <string>
#include <v8.h>
-#include "base/stats_counters.h"
+
#include "base/string_piece.h"
#include "bindings/npruntime.h"
+#include "ChromiumBridge.h"
#include "np_v8object.h"
#include "npruntime_priv.h"
#include "v8_npobject.h"
@@ -168,7 +169,7 @@ void NPN_ReleaseVariantValue(NPVariant* variant) {
variant->type = NPVariantType_Void;
}
-static StatsCounter global_npobjects(L"NPObjects");
+static const wchar_t* kCounterNPObjects = L"NPObjects";
NPObject *NPN_CreateObject(NPP npp, NPClass* aClass) {
ASSERT(aClass);
@@ -183,7 +184,7 @@ NPObject *NPN_CreateObject(NPP npp, NPClass* aClass) {
obj->_class = aClass;
obj->referenceCount = 1;
- global_npobjects.Increment();
+ WebCore::ChromiumBridge::incrementStatsCounter(kCounterNPObjects);
return obj;
}
@@ -208,7 +209,7 @@ void _NPN_DeallocateObject(NPObject *obj) {
ASSERT(obj->referenceCount >= 0);
if (obj) {
- global_npobjects.Decrement();
+ WebCore::ChromiumBridge::decrementStatsCounter(kCounterNPObjects);
// NPObjects that remain in pure C++ may never have wrappers.
// Hence, if it's not already alive, don't unregister it.
diff --git a/webkit/port/bindings/v8/v8_proxy.cpp b/webkit/port/bindings/v8/v8_proxy.cpp
index 93d639a..822c298 100644
--- a/webkit/port/bindings/v8/v8_proxy.cpp
+++ b/webkit/port/bindings/v8/v8_proxy.cpp
@@ -110,10 +110,6 @@
#include "XPathEvaluator.h"
#endif
-#undef LOG
-#include "base/stats_table.h"
-#include "base/trace_event.h"
-
namespace WebCore {
@@ -1039,16 +1035,16 @@ v8::Local<v8::Value> V8Proxy::Evaluate(const String& fileName, int baseLine,
// Compile the script.
v8::Local<v8::String> code = v8ExternalString(str);
- TRACE_EVENT_BEGIN("v8.compile", n, "");
+ ChromiumBridge::traceEventBegin("v8.compile", n, "");
v8::Handle<v8::Script> script = CompileScript(code, fileName, baseLine);
- TRACE_EVENT_END("v8.compile", n, "");
+ ChromiumBridge::traceEventEnd("v8.compile", n, "");
// Set inlineCode to true for <a href="javascript:doSomething()">
// and false for <script>doSomething</script>. For some reason, fileName
// gives us this information.
- TRACE_EVENT_BEGIN("v8.run", n, "");
+ ChromiumBridge::traceEventBegin("v8.run", n, "");
v8::Local<v8::Value> result = RunScript(script, fileName.isNull());
- TRACE_EVENT_END("v8.run", n, "");
+ ChromiumBridge::traceEventEnd("v8.run", n, "");
return result;
}
@@ -1787,7 +1783,7 @@ void V8Proxy::initContextIfNeeded()
// Install counters handler with V8.
static bool v8_counters_initialized = false;
if (!v8_counters_initialized) {
- v8::V8::SetCounterFunction(StatsTable::FindLocation);
+ ChromiumBridge::initV8CounterFunction();
v8_counters_initialized = true;
}
diff --git a/webkit/port/bindings/v8/v8_proxy.h b/webkit/port/bindings/v8/v8_proxy.h
index 4a1aa9f..05c3315 100644
--- a/webkit/port/bindings/v8/v8_proxy.h
+++ b/webkit/port/bindings/v8/v8_proxy.h
@@ -9,6 +9,7 @@
#include "v8_index.h"
#include "v8_custom.h"
#include "v8_utility.h"
+#include "ChromiumBridge.h"
#include "Node.h"
#include "NodeFilter.h"
#include "SecurityOrigin.h" // for WebCore::SecurityOrigin
@@ -21,8 +22,7 @@
#include <list>
#ifdef ENABLE_DOM_STATS_COUNTERS
-#include "base/stats_counters.h"
-#define INC_STATS(name) StatsCounter(name).Increment()
+#define INC_STATS(name) ChromiumBridge::incrementStatsCounter(name)
#else
#define INC_STATS(name)
#endif
diff --git a/webkit/port/platform/chromium/ChromiumBridge.h b/webkit/port/platform/chromium/ChromiumBridge.h
index 50b58aa..a2a2834 100644
--- a/webkit/port/platform/chromium/ChromiumBridge.h
+++ b/webkit/port/platform/chromium/ChromiumBridge.h
@@ -104,6 +104,16 @@ namespace WebCore {
static IntRect screenRect(Widget*);
static IntRect screenAvailableRect(Widget*);
+ // StatsCounters ------------------------------------------------------
+ // TODO(erikkay): WebKit doesn't use wchar_t - change to use UTF8
+ static void decrementStatsCounter(const wchar_t* name);
+ static void incrementStatsCounter(const wchar_t* name);
+ static void initV8CounterFunction();
+
+ // Trace Event --------------------------------------------------------
+ static void traceEventBegin(const char* name, void* id, const char* extra);
+ static void traceEventEnd(const char* name, void* id, const char* extra);
+
// URL ----------------------------------------------------------------
static KURL inspectorURL();