Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(434)

Unified Diff: Source/bindings/v8/V8EventListenerList.h

Issue 34393005: IDL compiler: merge and simplify EventHandler non-callable value check (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Comment (reupload) Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Source/bindings/v8/V8EventListenerList.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/bindings/v8/V8EventListenerList.h
diff --git a/Source/bindings/v8/V8EventListenerList.h b/Source/bindings/v8/V8EventListenerList.h
index 1074983653612b23e81bb4534261ead90aa21e3e..78f3b84770f3f61a209c69d96251a9e9fdeab983 100644
--- a/Source/bindings/v8/V8EventListenerList.h
+++ b/Source/bindings/v8/V8EventListenerList.h
@@ -49,16 +49,13 @@ enum ListenerLookupType {
// This is a container for V8EventListener objects that uses hidden properties of v8::Object to speed up lookups.
class V8EventListenerList {
public:
- static PassRefPtr<V8EventListener> findWrapper(v8::Local<v8::Value> value, bool isAttribute, v8::Isolate* isolate)
+ static PassRefPtr<V8EventListener> findWrapper(v8::Local<v8::Value> value, v8::Isolate* isolate)
{
ASSERT(v8::Context::InContext());
- // Non-callable input should be treated as null
- if (!value->IsNull() && !value->IsFunction())
- value = v8::Null(isolate);
if (!value->IsObject())
return 0;
- v8::Handle<v8::String> wrapperProperty = getHiddenProperty(isAttribute, isolate);
+ v8::Handle<v8::String> wrapperProperty = getHiddenProperty(false, isolate);
return doFindWrapper(v8::Local<v8::Object>::Cast(value), wrapperProperty, isolate);
}
@@ -94,10 +91,9 @@ template<typename WrapperType>
PassRefPtr<V8EventListener> V8EventListenerList::findOrCreateWrapper(v8::Local<v8::Value> value, bool isAttribute, v8::Isolate* isolate)
{
ASSERT(v8::Context::InContext());
- // Non-callable attribute setter input should be treated as null
- if (isAttribute && !value->IsNull() && !value->IsFunction())
- value = v8::Null(isolate);
- if (!value->IsObject())
+ if (!value->IsObject()
+ // Non-callable attribute setter input is treated as null (no wrapper)
+ || (isAttribute && !value->IsFunction()))
return 0;
v8::Local<v8::Object> object = v8::Local<v8::Object>::Cast(value);
« no previous file with comments | « no previous file | Source/bindings/v8/V8EventListenerList.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698