summaryrefslogtreecommitdiffstats
path: root/webkit/port
diff options
context:
space:
mode:
authorjianli@chromium.org <jianli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-02 21:54:00 +0000
committerjianli@chromium.org <jianli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-02 21:54:00 +0000
commit4b536475de9bf58541d1231d8b0636d62f53c658 (patch)
tree6a3d9617423ac8559956a403e14034b159af574f /webkit/port
parent908e3d9032dc3453490eb815fc9bd7515e0b7e0b (diff)
downloadchromium_src-4b536475de9bf58541d1231d8b0636d62f53c658.zip
chromium_src-4b536475de9bf58541d1231d8b0636d62f53c658.tar.gz
chromium_src-4b536475de9bf58541d1231d8b0636d62f53c658.tar.bz2
Fix the problem that Worker is not treated as active DOM object.
Review URL: http://codereview.chromium.org/27295 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10734 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/port')
-rw-r--r--webkit/port/bindings/v8/V8WorkerCustom.cpp2
-rw-r--r--webkit/port/bindings/v8/v8_index.h8
2 files changed, 7 insertions, 3 deletions
diff --git a/webkit/port/bindings/v8/V8WorkerCustom.cpp b/webkit/port/bindings/v8/V8WorkerCustom.cpp
index 0d44c5a..bdcb803 100644
--- a/webkit/port/bindings/v8/V8WorkerCustom.cpp
+++ b/webkit/port/bindings/v8/V8WorkerCustom.cpp
@@ -88,7 +88,7 @@ CALLBACK_FUNC_DECL(WorkerConstructor) {
wrapper_object, V8ClassIndex::WORKER, obj.get());
obj->ref();
- V8Proxy::SetJSWrapperForDOMObject(
+ V8Proxy::SetJSWrapperForActiveDOMObject(
obj.get(), v8::Persistent<v8::Object>::New(wrapper_object));
return wrapper_object;
diff --git a/webkit/port/bindings/v8/v8_index.h b/webkit/port/bindings/v8/v8_index.h
index f52f984..9e6584f 100644
--- a/webkit/port/bindings/v8/v8_index.h
+++ b/webkit/port/bindings/v8/v8_index.h
@@ -27,12 +27,15 @@ typedef v8::Persistent<v8::FunctionTemplate> (*FunctionTemplateFactory)();
#endif
#if ENABLE(WORKERS)
+#define WORKER_ACTIVE_OBJECT_WRAPPER_TYPES(V) \
+ V(WORKER, Worker)
+
#define WORKER_NONNODE_WRAPPER_TYPES(V) \
- V(WORKER, Worker) \
V(WORKERCONTEXT, WorkerContext) \
V(WORKERLOCATION, WorkerLocation) \
V(WORKERNAVIGATOR, WorkerNavigator)
#else
+#define WORKER_ACTIVE_OBJECT_WRAPPER_TYPES(V)
#define WORKER_NONNODE_WRAPPER_TYPES(V)
#endif
@@ -233,7 +236,8 @@ typedef v8::Persistent<v8::FunctionTemplate> (*FunctionTemplateFactory)();
// during GC.
#define ACTIVE_DOM_OBJECT_TYPES(V) \
V(MESSAGEPORT, MessagePort) \
- V(XMLHTTPREQUEST, XMLHttpRequest)
+ V(XMLHTTPREQUEST, XMLHttpRequest) \
+ WORKER_ACTIVE_OBJECT_WRAPPER_TYPES(V)
// NOTE: DOM_OBJECT_TYPES is split into two halves because
// Visual Studio's Intellinonsense crashes when macros get