Title: [183535] trunk
Revision
183535
Author
[email protected]
Date
2015-04-29 00:53:36 -0700 (Wed, 29 Apr 2015)

Log Message

REGRESSION(181868): Windows Live SkyDrive cannot open an excel file
https://bugs.webkit.org/show_bug.cgi?id=144373

Patch by Joseph Pecoraro <[email protected]> on 2015-04-29
Reviewed by Darin Adler.

Source/_javascript_Core:

Revert r181868 as it caused a failure on live.com. We can try
re-enabling this exception after we make idl attributes configurable,
which may have prevented this particular failure.

* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):

LayoutTests:

* js/property-getters-and-setters-expected.txt:
* js/script-tests/property-getters-and-setters.js:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (183534 => 183535)


--- trunk/LayoutTests/ChangeLog	2015-04-29 06:20:24 UTC (rev 183534)
+++ trunk/LayoutTests/ChangeLog	2015-04-29 07:53:36 UTC (rev 183535)
@@ -1,3 +1,13 @@
+2015-04-29  Joseph Pecoraro  <[email protected]>
+
+        REGRESSION(181868): Windows Live SkyDrive cannot open an excel file
+        https://bugs.webkit.org/show_bug.cgi?id=144373
+
+        Reviewed by Darin Adler.
+
+        * js/property-getters-and-setters-expected.txt:
+        * js/script-tests/property-getters-and-setters.js:
+
 2015-04-28  Alexey Proskuryakov  <[email protected]>
 
         [WK2] fast/forms/input-search-press-escape-key.html crashes

Modified: trunk/LayoutTests/js/property-getters-and-setters-expected.txt (183534 => 183535)


--- trunk/LayoutTests/js/property-getters-and-setters-expected.txt	2015-04-29 06:20:24 UTC (rev 183534)
+++ trunk/LayoutTests/js/property-getters-and-setters-expected.txt	2015-04-29 07:53:36 UTC (rev 183535)
@@ -43,21 +43,6 @@
 When undefined, accessing __lookupGetter__ and __lookupSetter__ should not crash
 PASS o13.__lookupGetter__('b') is void 0
 PASS o13.__lookupSetter__('b') is void 0
-__defineGetter__ and __defineSetter__ should throw exceptions when acting on sealed objects
-PASS o14.__defineGetter__('a', function(){}) threw exception TypeError: Attempting to configurable attribute of unconfigurable property..
-PASS o14.__defineGetter__('b', function(){}) threw exception TypeError: Attempting to define property on object that is not extensible..
-PASS o14.__defineSetter__('a', function(){}) threw exception TypeError: Attempting to configurable attribute of unconfigurable property..
-PASS o14.__defineSetter__('b', function(){}) threw exception TypeError: Attempting to define property on object that is not extensible..
-__defineGetter__ and __defineSetter__ should throw exceptions when acting on frozen objects
-PASS o15.__defineGetter__('a', function(){}) threw exception TypeError: Attempting to configurable attribute of unconfigurable property..
-PASS o15.__defineGetter__('b', function(){}) threw exception TypeError: Attempting to define property on object that is not extensible..
-PASS o15.__defineSetter__('a', function(){}) threw exception TypeError: Attempting to configurable attribute of unconfigurable property..
-PASS o15.__defineSetter__('b', function(){}) threw exception TypeError: Attempting to define property on object that is not extensible..
-__defineGetter__ and __defineSetter__ should throw exceptions when acting on unconfigurable properties
-PASS o16.__defineGetter__('a', function(){}) did not throw exception.
-PASS o16.__defineSetter__('a', function(){}) did not throw exception.
-PASS o16.__defineSetter__('b', function(){}) threw exception TypeError: Attempting to configurable attribute of unconfigurable property..
-PASS o16.__defineSetter__('b', function(){}) threw exception TypeError: Attempting to configurable attribute of unconfigurable property..
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/js/script-tests/property-getters-and-setters.js (183534 => 183535)


--- trunk/LayoutTests/js/script-tests/property-getters-and-setters.js	2015-04-29 06:20:24 UTC (rev 183534)
+++ trunk/LayoutTests/js/script-tests/property-getters-and-setters.js	2015-04-29 07:53:36 UTC (rev 183535)
@@ -99,27 +99,3 @@
 
 shouldBe("o13.__lookupGetter__('b')", "void 0");
 shouldBe("o13.__lookupSetter__('b')", "void 0");
-
-debug("__defineGetter__ and __defineSetter__ should throw exceptions when acting on sealed objects");
-var o14 = {a:14};
-Object.seal(o14);
-shouldThrow("o14.__defineGetter__('a', function(){})");
-shouldThrow("o14.__defineGetter__('b', function(){})");
-shouldThrow("o14.__defineSetter__('a', function(){})");
-shouldThrow("o14.__defineSetter__('b', function(){})");
-
-debug("__defineGetter__ and __defineSetter__ should throw exceptions when acting on frozen objects");
-var o15 = {a:15};
-Object.freeze(o15);
-shouldThrow("o15.__defineGetter__('a', function(){})");
-shouldThrow("o15.__defineGetter__('b', function(){})");
-shouldThrow("o15.__defineSetter__('a', function(){})");
-shouldThrow("o15.__defineSetter__('b', function(){})");
-
-debug("__defineGetter__ and __defineSetter__ should throw exceptions when acting on unconfigurable properties");
-var o16 = {a:16};
-Object.defineProperty(o16, "b", {value: 16, configurable: false});
-shouldNotThrow("o16.__defineGetter__('a', function(){})");
-shouldNotThrow("o16.__defineSetter__('a', function(){})");
-shouldThrow("o16.__defineSetter__('b', function(){})");
-shouldThrow("o16.__defineSetter__('b', function(){})");

Modified: trunk/Source/_javascript_Core/ChangeLog (183534 => 183535)


--- trunk/Source/_javascript_Core/ChangeLog	2015-04-29 06:20:24 UTC (rev 183534)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-04-29 07:53:36 UTC (rev 183535)
@@ -1,3 +1,18 @@
+2015-04-29  Joseph Pecoraro  <[email protected]>
+
+        REGRESSION(181868): Windows Live SkyDrive cannot open an excel file
+        https://bugs.webkit.org/show_bug.cgi?id=144373
+
+        Reviewed by Darin Adler.
+
+        Revert r181868 as it caused a failure on live.com. We can try
+        re-enabling this exception after we make idl attributes configurable,
+        which may have prevented this particular failure.
+
+        * runtime/ObjectPrototype.cpp:
+        (JSC::objectProtoFuncDefineGetter):
+        (JSC::objectProtoFuncDefineSetter):
+
 2015-04-28  Joseph Pecoraro  <[email protected]>
 
         Deadlock on applications using JSContext on non-main thread

Modified: trunk/Source/_javascript_Core/runtime/ObjectPrototype.cpp (183534 => 183535)


--- trunk/Source/_javascript_Core/runtime/ObjectPrototype.cpp	2015-04-29 06:20:24 UTC (rev 183534)
+++ trunk/Source/_javascript_Core/runtime/ObjectPrototype.cpp	2015-04-29 07:53:36 UTC (rev 183535)
@@ -130,7 +130,7 @@
     descriptor.setEnumerable(true);
     descriptor.setConfigurable(true);
 
-    bool shouldThrow = true;
+    bool shouldThrow = false;
     thisObject->methodTable(exec->vm())->defineOwnProperty(thisObject, exec, propertyName, descriptor, shouldThrow);
 
     return JSValue::encode(jsUndefined());
@@ -156,7 +156,7 @@
     descriptor.setEnumerable(true);
     descriptor.setConfigurable(true);
 
-    bool shouldThrow = true;
+    bool shouldThrow = false;
     thisObject->methodTable(exec->vm())->defineOwnProperty(thisObject, exec, propertyName, descriptor, shouldThrow);
 
     return JSValue::encode(jsUndefined());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to