2009-02-14 Dimitri Glazkov <dglazkov@chromium.org>
authordglazkov@chromium.org <dglazkov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Feb 2009 16:39:31 +0000 (16:39 +0000)
committerdglazkov@chromium.org <dglazkov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Feb 2009 16:39:31 +0000 (16:39 +0000)
        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=23955
        V8HTMLPlugInCustom returns undefined, which fools interceptors.

        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER): Use deferToInterceptor() return value.
        (WebCore::NAMED_PROPERTY_SETTER): Ditto.
        (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
        (WebCore::INDEXED_PROPERTY_SETTER): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41017 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/bindings/v8/custom/V8HTMLPlugInElementCustom.cpp

index 930daaf3406a67f40f43f1dd3dba1a2c244c92de..f53a5f6ab465c04d38794c00a98715bf640f38d5 100644 (file)
@@ -1,3 +1,16 @@
+2009-02-13  Dimitri Glazkov  <dglazkov@chromium.org>
+
+        Reviewed by Eric Seidel.
+
+        https://bugs.webkit.org/show_bug.cgi?id=23955
+        V8HTMLPlugInCustom returns undefined, which fools interceptors.
+
+        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
+        (WebCore::NAMED_PROPERTY_GETTER): Use deferToInterceptor() return value.
+        (WebCore::NAMED_PROPERTY_SETTER): Ditto.
+        (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
+        (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
+
 2009-02-13  Dimitri Glazkov  <dglazkov@chromium.org>
 
         Reviewed by Eric Seidel.
index 9064b2961ace6a6e2d99b2a7552a2383f55b60a4..4cd19d22d9917221a27af2b7f4ed5dac800a7b08 100644 (file)
@@ -48,11 +48,11 @@ NAMED_PROPERTY_GETTER(HTMLPlugInElement)
     HTMLPlugInElement* imp = V8Proxy::DOMWrapperToNode<HTMLPlugInElement>(info.Holder());
     ScriptInstance scriptInstance = imp->getInstance();
     if (!scriptInstance)
-        return v8::Undefined();
+        return deferToInterceptor();
 
     v8::Local<v8::Object> instance = v8::Local<v8::Object>::New(scriptInstance->instance());
     if (instance.IsEmpty())
-        return v8::Undefined();
+        return deferToInterceptor();
 
     return NPObjectGetNamedProperty(instance, name);
 }
@@ -63,11 +63,11 @@ NAMED_PROPERTY_SETTER(HTMLPlugInElement)
     HTMLPlugInElement* imp = V8Proxy::DOMWrapperToNode<HTMLPlugInElement>(info.Holder());
     ScriptInstance scriptInstance = imp->getInstance();
     if (!scriptInstance)
-        return v8::Undefined();
+        return deferToInterceptor();
 
     v8::Local<v8::Object> instance = v8::Local<v8::Object>::New(scriptInstance->instance());
     if (instance.IsEmpty())
-        return v8::Undefined();
+        return deferToInterceptor();
 
     return NPObjectSetNamedProperty(instance, name, value);
 }
@@ -84,11 +84,11 @@ INDEXED_PROPERTY_GETTER(HTMLPlugInElement)
     HTMLPlugInElement* imp = V8Proxy::DOMWrapperToNode<HTMLPlugInElement>(info.Holder());
     ScriptInstance scriptInstance = imp->getInstance();
     if (!scriptInstance)
-        return v8::Undefined();
+        return deferToInterceptor();
 
     v8::Local<v8::Object> instance = v8::Local<v8::Object>::New(scriptInstance->instance());
     if (instance.IsEmpty())
-        return v8::Undefined();
+        return deferToInterceptor();
 
     return NPObjectGetIndexedProperty(instance, index);
 }
@@ -99,11 +99,11 @@ INDEXED_PROPERTY_SETTER(HTMLPlugInElement)
     HTMLPlugInElement* imp = V8Proxy::DOMWrapperToNode<HTMLPlugInElement>(info.Holder());
     ScriptInstance scriptInstance = imp->getInstance();
     if (!scriptInstance)
-        return v8::Undefined();
+        return deferToInterceptor();
 
     v8::Local<v8::Object> instance = v8::Local<v8::Object>::New(scriptInstance->instance());
     if (instance.IsEmpty())
-        return v8::Undefined();
+        return deferToInterceptor();
 
     return NPObjectSetIndexedProperty(instance, index, value);
 }