Backed out changesets 999c34fa59a2, 2b3f51c3c5a7, and 9bcea7802320 (bug 1021312) for xpcshell failures.
authorRyan VanderMeulen <ryanvm@gmail.com>
Fri, 06 Jun 2014 14:47:54 -0400
changeset 200496 95deb57e283b74c6b7c68d9b2d5bc29765e39f0c
parent 200495 999c34fa59a2feacf2ca72bc691a28a31dc15dd6
child 200497 d9edba5338ffcbdc114fddf2f5be479e03960315
push id486
push userasasaki@mozilla.com
push dateMon, 14 Jul 2014 18:39:42 +0000
treeherdermozilla-release@d33428174ff1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1021312
milestone31.0a2
backs out999c34fa59a2feacf2ca72bc691a28a31dc15dd6
2b3f51c3c5a7285b66e6a3a2009c7e2a338505a4
9bcea7802320f5f4b4a73c2cc371b39732f2899f
Backed out changesets 999c34fa59a2, 2b3f51c3c5a7, and 9bcea7802320 (bug 1021312) for xpcshell failures.
js/xpconnect/src/Sandbox.cpp
js/xpconnect/src/XPCShellImpl.cpp
js/xpconnect/tests/unit/test_bug1021312.js
js/xpconnect/tests/unit/xpcshell.ini
--- a/js/xpconnect/src/Sandbox.cpp
+++ b/js/xpconnect/src/Sandbox.cpp
@@ -453,18 +453,16 @@ CloneNonReflectors(JSContext *cx, Mutabl
     JSAutoStructuredCloneBuffer buffer;
     AutoObjectVector rootedReflectors(cx);
     {
         // For parsing val we have to enter its compartment.
         // (unless it's a primitive)
         Maybe<JSAutoCompartment> ac;
         if (val.isObject()) {
             ac.construct(cx, &val.toObject());
-        } else if (val.isString() && !JS_WrapValue(cx, val)) {
-            return false;
         }
 
         if (!buffer.write(cx, val,
             &gForwarderStructuredCloneCallbacks,
             &rootedReflectors))
         {
             return false;
         }
--- a/js/xpconnect/src/XPCShellImpl.cpp
+++ b/js/xpconnect/src/XPCShellImpl.cpp
@@ -1527,20 +1527,18 @@ XRE_XPCShellMain(int argc, char **argv, 
         nsRefPtr<BackstagePass> backstagePass;
         rv = NS_NewBackstagePass(getter_AddRefs(backstagePass));
         if (NS_FAILED(rv)) {
             fprintf(gErrFile, "+++ Failed to create BackstagePass: %8x\n",
                     static_cast<uint32_t>(rv));
             return 1;
         }
 
-        // Make the default XPCShell global use a fresh zone (rather than the
-        // System Zone) to improve cross-zone test coverage.
         JS::CompartmentOptions options;
-        options.setZone(JS::FreshZone)
+        options.setZone(JS::SystemZone)
                .setVersion(JSVERSION_LATEST);
         nsCOMPtr<nsIXPConnectJSObjectHolder> holder;
         rv = xpc->InitClassesWithNewWrappedGlobal(cx,
                                                   static_cast<nsIGlobalObject *>(backstagePass),
                                                   systemprincipal,
                                                   0,
                                                   options,
                                                   getter_AddRefs(holder));
deleted file mode 100644
--- a/js/xpconnect/tests/unit/test_bug1021312.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-const Cu = Components.utils;
-function run_test() {
-  let sb = new Cu.Sandbox(this);
-  var called = false;
-
-  Cu.exportFunction(function(str) { do_check_true(str, "someString"); called = true; },
-                    sb, { defineAs: "func" });
-  // Do something weird with the string to make sure that it doesn't get interned.
-  Cu.evalInSandbox("var str = 'someString'; for (var i = 0; i < 10; ++i) str += i;", sb);
-  Cu.evalInSandbox("func(str);", sb);
-  do_check_true(called);
-}
--- a/js/xpconnect/tests/unit/xpcshell.ini
+++ b/js/xpconnect/tests/unit/xpcshell.ini
@@ -37,17 +37,16 @@ support-files =
 [test_bug854558.js]
 [test_bug868675.js]
 [test_bug867486.js]
 [test_bug872772.js]
 [test_bug885800.js]
 [test_bug961054.js]
 [test_bug976151.js]
 [test_bug1001094.js]
-[test_bug1021312.js]
 [test_bug_442086.js]
 [test_file.js]
 [test_blob.js]
 [test_blob2.js]
 [test_file2.js]
 [test_import.js]
 [test_import_fail.js]
 [test_js_weak_references.js]