[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Thu Apr 8 01:07:55 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit a57fea126c6049afd63691875b685b04e27caf80
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 14 20:13:28 2010 +0000

    2010-01-14  Kent Hansen  <kent.hansen at nokia.com>
    
            Reviewed by Darin Adler.
    
            Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
            https://bugs.webkit.org/show_bug.cgi?id=33371
    
            Test that Object.keys works on a plugin object.
    
            * plugins/netscape-enumerate.html:
    2010-01-14  Kent Hansen  <kent.hansen at nokia.com>
    
            Reviewed by Darin Adler.
    
            Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
            https://bugs.webkit.org/show_bug.cgi?id=33371
    
            RuntimeObjectImp should not reimplement getPropertyNames();
            move the implementation to getOwnPropertyNames().
    
            * bridge/runtime_object.cpp:
            (JSC::RuntimeObjectImp::getOwnPropertyNames):
            * bridge/runtime_object.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53285 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 752367a..cea89cc 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2010-01-14  Kent Hansen  <kent.hansen at nokia.com>
+
+        Reviewed by Darin Adler.
+
+        Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
+        https://bugs.webkit.org/show_bug.cgi?id=33371
+
+        Test that Object.keys works on a plugin object.
+
+        * plugins/netscape-enumerate.html:
+
 2010-01-14  Adam Roben  <aroben at apple.com>
 
         Add new tests from r53277 to the Qt Skipped list
diff --git a/LayoutTests/plugins/netscape-enumerate.html b/LayoutTests/plugins/netscape-enumerate.html
index 8d3a019..ae55bcf 100644
--- a/LayoutTests/plugins/netscape-enumerate.html
+++ b/LayoutTests/plugins/netscape-enumerate.html
@@ -29,6 +29,13 @@ function runTest()
         return;
     }
 
+    // Now try enumerating a plugin object's properties using Object.keys
+    var keys = Object.keys(plugin.testObject);
+    if (keys.toString() != 'foo,bar') {
+        result.innerHTML = 'FAILURE: Plugin object properties returned by Object.keys were ' + keys.toString();
+        return;
+    }
+
     result.innerHTML = 'SUCCESS';
 }
 </script>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index c8580e0..82c009c 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-01-14  Kent Hansen  <kent.hansen at nokia.com>
+
+        Reviewed by Darin Adler.
+
+        Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
+        https://bugs.webkit.org/show_bug.cgi?id=33371
+
+        RuntimeObjectImp should not reimplement getPropertyNames();
+        move the implementation to getOwnPropertyNames().
+
+        * bridge/runtime_object.cpp:
+        (JSC::RuntimeObjectImp::getOwnPropertyNames):
+        * bridge/runtime_object.h:
+
 2010-01-14  Kwang Yul Seo  <skyul at company100.net>
 
         Reviewed by Alexey Proskuryakov.
diff --git a/WebCore/bridge/runtime_object.cpp b/WebCore/bridge/runtime_object.cpp
index 9fc9f0c..26b85f9 100644
--- a/WebCore/bridge/runtime_object.cpp
+++ b/WebCore/bridge/runtime_object.cpp
@@ -302,7 +302,7 @@ ConstructType RuntimeObjectImp::getConstructData(ConstructData& constructData)
     return ConstructTypeHost;
 }
 
-void RuntimeObjectImp::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode)
+void RuntimeObjectImp::getOwnPropertyNames(ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode)
 {
     if (!m_instance) {
         throwInvalidAccessError(exec);
@@ -316,11 +316,6 @@ void RuntimeObjectImp::getPropertyNames(ExecState* exec, PropertyNameArray& prop
     instance->end();
 }
 
-void RuntimeObjectImp::getOwnPropertyNames(ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
-{
-    getOwnPropertyNames(exec, propertyNames, mode);
-}
-
 JSObject* RuntimeObjectImp::throwInvalidAccessError(ExecState* exec)
 {
     return throwError(exec, ReferenceError, "Trying to access object from destroyed plug-in.");
diff --git a/WebCore/bridge/runtime_object.h b/WebCore/bridge/runtime_object.h
index 87c47bf..0284e66 100644
--- a/WebCore/bridge/runtime_object.h
+++ b/WebCore/bridge/runtime_object.h
@@ -44,7 +44,6 @@ public:
     virtual CallType getCallData(CallData&);
     virtual ConstructType getConstructData(ConstructData&);
 
-    virtual void getPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode mode = ExcludeDontEnumProperties);
     virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode mode = ExcludeDontEnumProperties);
 
     void invalidate();

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list