Changeset 140397 in webkit
- Timestamp:
- Jan 22, 2013, 1:06:22 AM (14 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 6 edited
-
ChangeLog (modified) (1 diff)
-
bindings/v8/V8AbstractEventListener.cpp (modified) (2 diffs)
-
bindings/v8/V8AbstractEventListener.h (modified) (1 diff)
-
bindings/v8/V8EventListener.cpp (modified) (1 diff)
-
bindings/v8/V8LazyEventListener.cpp (modified) (3 diffs)
-
bindings/v8/V8WorkerContextEventListener.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r140394 r140397 1 2013-01-22 Kentaro Hara <haraken@chromium.org> 2 3 [V8] Pass an Isolate to toV8() of event listeners 4 https://bugs.webkit.org/show_bug.cgi?id=107517 5 6 Reviewed by Adam Barth. 7 8 By using Context::GetIsolate(), this patch passes an Isolate to toV8(). 9 I think this would be the last patch to pass an Isolate to toV8(). 10 In the next patch, I will make an Isolate parameter mandatory for toV8(). 11 12 No tests. No change in behavior. 13 14 * bindings/v8/V8AbstractEventListener.cpp: 15 (WebCore::V8AbstractEventListener::getReceiverObject): 16 * bindings/v8/V8AbstractEventListener.h: 17 (V8AbstractEventListener): 18 * bindings/v8/V8EventListener.cpp: 19 (WebCore::V8EventListener::callListenerFunction): 20 * bindings/v8/V8LazyEventListener.cpp: 21 (WebCore::toObjectWrapper): 22 (WebCore::V8LazyEventListener::callListenerFunction): 23 (WebCore::V8LazyEventListener::prepareListenerObject): 24 * bindings/v8/V8WorkerContextEventListener.cpp: 25 (WebCore::V8WorkerContextEventListener::getReceiverObject): 26 1 27 2013-01-22 Tim Horton <timothy_horton@apple.com> 2 28 -
trunk/Source/WebCore/bindings/v8/V8AbstractEventListener.cpp
r140392 r140397 183 183 } 184 184 185 v8::Local<v8::Object> V8AbstractEventListener::getReceiverObject( Event* event)185 v8::Local<v8::Object> V8AbstractEventListener::getReceiverObject(ScriptExecutionContext* context, Event* event) 186 186 { 187 187 if (!m_listener.isEmpty() && !m_listener->IsFunction()) … … 189 189 190 190 EventTarget* target = event->currentTarget(); 191 v8::Handle<v8::Value> value = toV8(target, v8::Handle<v8::Object>() );191 v8::Handle<v8::Value> value = toV8(target, v8::Handle<v8::Object>(), toV8Context(context, worldContext())->GetIsolate()); 192 192 if (value.IsEmpty()) 193 193 return v8::Local<v8::Object>(); -
trunk/Source/WebCore/bindings/v8/V8AbstractEventListener.h
r127117 r140397 116 116 117 117 // Get the receiver object to use for event listener call. 118 v8::Local<v8::Object> getReceiverObject( Event*);118 v8::Local<v8::Object> getReceiverObject(ScriptExecutionContext*, Event*); 119 119 120 120 private: -
trunk/Source/WebCore/bindings/v8/V8EventListener.cpp
r126399 r140397 73 73 74 74 v8::Local<v8::Function> handlerFunction = getListenerFunction(context); 75 v8::Local<v8::Object> receiver = getReceiverObject( event);75 v8::Local<v8::Object> receiver = getReceiverObject(context, event); 76 76 if (handlerFunction.IsEmpty() || receiver.IsEmpty()) 77 77 return v8::Local<v8::Value>(); -
trunk/Source/WebCore/bindings/v8/V8LazyEventListener.cpp
r139900 r140397 64 64 65 65 template<typename T> 66 v8::Handle<v8::Object> toObjectWrapper(T* domObject )66 v8::Handle<v8::Object> toObjectWrapper(T* domObject, v8::Isolate* isolate) 67 67 { 68 68 if (!domObject) 69 69 return v8::Object::New(); 70 v8::Handle<v8::Value> value = toV8(domObject, v8::Handle<v8::Object>() );70 v8::Handle<v8::Value> value = toV8(domObject, v8::Handle<v8::Object>(), isolate); 71 71 if (value.IsEmpty()) 72 72 return v8::Object::New(); … … 81 81 82 82 v8::Local<v8::Function> handlerFunction = listenerObject.As<v8::Function>(); 83 v8::Local<v8::Object> receiver = getReceiverObject( event);83 v8::Local<v8::Object> receiver = getReceiverObject(context, event); 84 84 if (handlerFunction.IsEmpty() || receiver.IsEmpty()) 85 85 return v8::Local<v8::Value>(); … … 179 179 formElement = static_cast<HTMLElement*>(m_node)->form(); 180 180 181 v8::Handle<v8::Object> nodeWrapper = toObjectWrapper<Node>(m_node );182 v8::Handle<v8::Object> formWrapper = toObjectWrapper<HTMLFormElement>(formElement );183 v8::Handle<v8::Object> documentWrapper = toObjectWrapper<Document>(m_node ? m_node->ownerDocument() : 0 );181 v8::Handle<v8::Object> nodeWrapper = toObjectWrapper<Node>(m_node, v8Context->GetIsolate()); 182 v8::Handle<v8::Object> formWrapper = toObjectWrapper<HTMLFormElement>(formElement, v8Context->GetIsolate()); 183 v8::Handle<v8::Object> documentWrapper = toObjectWrapper<Document>(m_node ? m_node->ownerDocument() : 0, v8Context->GetIsolate()); 184 184 185 185 v8::Local<v8::Object> thisObject = v8::Object::New(); -
trunk/Source/WebCore/bindings/v8/V8WorkerContextEventListener.cpp
r140392 r140397 119 119 120 120 EventTarget* target = event->currentTarget(); 121 v8::Handle<v8::Value> value = toV8(target, v8::Handle<v8::Object>() );121 v8::Handle<v8::Value> value = toV8(target, v8::Handle<v8::Object>(), toV8Context(context, worldContext())->GetIsolate()); 122 122 if (value.IsEmpty()) 123 123 return v8::Local<v8::Object>();
Note:
See TracChangeset
for help on using the changeset viewer.