for-in is failing fast/dom/dataset-xhtml.xhtml and dataset.html tests
authormhahnenberg@apple.com <mhahnenberg@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 7 Aug 2014 17:29:52 +0000 (17:29 +0000)
committermhahnenberg@apple.com <mhahnenberg@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 7 Aug 2014 17:29:52 +0000 (17:29 +0000)
https://bugs.webkit.org/show_bug.cgi?id=135681

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

* runtime/Structure.cpp:
(JSC::Structure::canCacheGenericPropertyNameEnumerator): We were checking the entire
prototype chain for overridesGetPropertyNames, but we were neglecting to check the
base object's Structure. D'oh!

LayoutTests:

Removed the two failing tests from the TestExpectations list since they pass now!

* TestExpectations:

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

LayoutTests/ChangeLog
LayoutTests/TestExpectations
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/Structure.cpp

index f8716295b1189d825fd16d03b76e28dbeaebcb28..325a3ad134e0bdc97eef0191ca425465d91b250d 100644 (file)
@@ -1,3 +1,14 @@
+2014-08-07  Mark Hahnenberg  <mhahnenberg@apple.com>
+
+        for-in is failing fast/dom/dataset-xhtml.xhtml and dataset.html tests
+        https://bugs.webkit.org/show_bug.cgi?id=135681
+
+        Reviewed by Filip Pizlo.
+
+        Removed the two failing tests from the TestExpectations list since they pass now!
+
+        * TestExpectations:
+
 2014-08-06  Brent Fulgham  <bfulgham@apple.com>
 
         [Mac, iOS] Captions are appearing multiple times during repeated video play through
 2014-08-06  Brent Fulgham  <bfulgham@apple.com>
 
         [Mac, iOS] Captions are appearing multiple times during repeated video play through
index 72bbd3b767114dda78db29fde1cf6e09200e119d..af6ae0375b5d692863dc1ef1cf75e6e1b8ac6983 100644 (file)
@@ -141,7 +141,3 @@ webkit.org/b/135390 fast/css/fontloader-multiple-faces-download-error.html [ Ski
 webkit.org/b/135390 fast/css/fontloader-multiple-faces.html [ Skip ]
 webkit.org/b/135390 fast/css/fontloader-multiple-families.html [ Skip ]
 webkit.org/b/135390 http/tests/webfont/fontloader-loading-attribute.html [ Skip ]
 webkit.org/b/135390 fast/css/fontloader-multiple-faces.html [ Skip ]
 webkit.org/b/135390 fast/css/fontloader-multiple-families.html [ Skip ]
 webkit.org/b/135390 http/tests/webfont/fontloader-loading-attribute.html [ Skip ]
-
-# JSC for in is broken
-webkit.org/b/135681 fast/dom/dataset-xhtml.xhtml [ Failure ]
-webkit.org/b/135681 fast/dom/dataset.html [ Failure ]
\ No newline at end of file
index 3c9262e9d261de179f16ec7d54f47d9cf7484742..24f5a34e4637e53f2c4edd23bee71742223b636f 100644 (file)
@@ -1,3 +1,15 @@
+2014-08-07  Mark Hahnenberg  <mhahnenberg@apple.com>
+
+        for-in is failing fast/dom/dataset-xhtml.xhtml and dataset.html tests
+        https://bugs.webkit.org/show_bug.cgi?id=135681
+
+        Reviewed by Filip Pizlo.
+
+        * runtime/Structure.cpp:
+        (JSC::Structure::canCacheGenericPropertyNameEnumerator): We were checking the entire 
+        prototype chain for overridesGetPropertyNames, but we were neglecting to check the 
+        base object's Structure. D'oh!
+
 2014-08-06  Mark Lam  <mark.lam@apple.com>
 
         Gardening: fix for build failure on EFL bots.
 2014-08-06  Mark Lam  <mark.lam@apple.com>
 
         Gardening: fix for build failure on EFL bots.
index 674f2b42e246aa485acc5aa2f4ede1e2ecf10650..72218b759fd8868e501203bd072875881a1f32cb 100644 (file)
@@ -1291,6 +1291,9 @@ bool Structure::canCacheGenericPropertyNameEnumerator() const
     if (hasIndexedProperties(indexingType()))
         return false;
 
     if (hasIndexedProperties(indexingType()))
         return false;
 
+    if (typeInfo().overridesGetPropertyNames())
+        return false;
+
     StructureChain* structureChain = m_cachedPrototypeChain.get();
     ASSERT(structureChain);
     WriteBarrier<Structure>* structure = structureChain->head();
     StructureChain* structureChain = m_cachedPrototypeChain.get();
     ASSERT(structureChain);
     WriteBarrier<Structure>* structure = structureChain->head();