Backed out 2 changesets (bug 1420954) for build failure in /builds/worker/workspace/build/src/obj-firefox/dist/include/nsIURIMutator.h:340:3: r=backout on a CLOSED TREE
authorshindli <shindli@mozilla.com>
Sun, 03 Dec 2017 01:10:14 +0200
changeset 394756 7a19568290c61d7a510b54455419b086e66cc6db
parent 394755 046bf5aa7d413e52bac10db33d0ab3bb5cb2d638
child 394757 f77500d7262c5cc07bbe7a17a4e365d547b4be4d
push id33019
push userbtara@mozilla.com
push dateMon, 04 Dec 2017 20:16:32 +0000
treeherdermozilla-central@4a003542df78 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbackout
bugs1420954
milestone59.0a1
backs out8ce0a0d49d9e8789018c4322cdc61bcb346ac307
480c6e1721e9014d834dfe587178a423621c6fd5
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 2 changesets (bug 1420954) for build failure in /builds/worker/workspace/build/src/obj-firefox/dist/include/nsIURIMutator.h:340:3: r=backout on a CLOSED TREE Backed out changeset 8ce0a0d49d9e (bug 1420954) Backed out changeset 480c6e1721e9 (bug 1420954)
caps/NullPrincipalURI.h
dom/file/nsHostObjectURI.h
dom/jsurl/nsJSProtocolHandler.h
image/decoders/icon/nsIconURI.h
modules/libjar/nsJARURI.h
netwerk/base/nsIURIMutator.idl
netwerk/base/nsSimpleNestedURI.h
netwerk/base/nsSimpleURI.h
netwerk/base/nsStandardURL.cpp
netwerk/base/nsStandardURL.h
netwerk/protocol/about/nsAboutProtocolHandler.h
netwerk/test/gtest/TestStandardURL.cpp
netwerk/test/unit/test_uri_mutator.js
netwerk/test/unit/xpcshell.ini
--- a/caps/NullPrincipalURI.h
+++ b/caps/NullPrincipalURI.h
@@ -53,17 +53,17 @@ private:
   nsAutoCStringN<NSID_LENGTH> mPath;
 
 public:
   class Mutator
       : public nsIURIMutator
       , public BaseURIMutator<NullPrincipalURI>
   {
     NS_DECL_ISUPPORTS
-    NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
+    NS_FORWARD_SAFE_NSIURISETTERS(mURI)
 
     NS_IMETHOD Deserialize(const mozilla::ipc::URIParams& aParams) override
     {
       return InitFromIPCParams(aParams);
     }
 
     NS_IMETHOD Read(nsIObjectInputStream* aStream) override
     {
@@ -71,19 +71,18 @@ public:
     }
 
     NS_IMETHOD Finalize(nsIURI** aURI) override
     {
       mURI.forget(aURI);
       return NS_OK;
     }
 
-    NS_IMETHOD SetSpec(const nsACString & aSpec, nsIURIMutator** aMutator) override
+    NS_IMETHOD SetSpec(const nsACString & aSpec) override
     {
-      NS_ADDREF(*aMutator = this);
       return NS_ERROR_NOT_IMPLEMENTED;
     }
 
     explicit Mutator() { }
   private:
     virtual ~Mutator() { }
 
     friend class NullPrincipalURI;
--- a/dom/file/nsHostObjectURI.h
+++ b/dom/file/nsHostObjectURI.h
@@ -78,17 +78,17 @@ protected:
   virtual ~nsHostObjectURI() {}
 
 public:
   class Mutator
     : public nsIURIMutator
     , public BaseURIMutator<nsHostObjectURI>
   {
     NS_DECL_ISUPPORTS
-    NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
+    NS_FORWARD_SAFE_NSIURISETTERS(mURI)
     NS_DEFINE_NSIMUTATOR_COMMON
 
     explicit Mutator() { }
   private:
     virtual ~Mutator() { }
 
     friend class nsHostObjectURI;
   };
--- a/dom/jsurl/nsJSProtocolHandler.h
+++ b/dom/jsurl/nsJSProtocolHandler.h
@@ -105,17 +105,17 @@ private:
     nsCOMPtr<nsIURI> mBaseURI;
 
 public:
     class Mutator
         : public nsIURIMutator
         , public BaseURIMutator<nsJSURI>
     {
         NS_DECL_ISUPPORTS
-        NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
+        NS_FORWARD_SAFE_NSIURISETTERS(mURI)
         NS_DEFINE_NSIMUTATOR_COMMON
 
         explicit Mutator() { }
     private:
         virtual ~Mutator() { }
 
         friend class nsJSURI;
     };
--- a/image/decoders/icon/nsIconURI.h
+++ b/image/decoders/icon/nsIconURI.h
@@ -46,17 +46,17 @@ protected:
                        // kStateStrings
 
 public:
   class Mutator
       : public nsIURIMutator
       , public BaseURIMutator<nsMozIconURI>
   {
     NS_DECL_ISUPPORTS
-    NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
+    NS_FORWARD_SAFE_NSIURISETTERS(mURI)
 
     NS_IMETHOD Deserialize(const mozilla::ipc::URIParams& aParams) override
     {
       return InitFromIPCParams(aParams);
     }
 
     NS_IMETHOD Read(nsIObjectInputStream* aStream) override
     {
@@ -64,18 +64,17 @@ public:
     }
 
     NS_IMETHOD Finalize(nsIURI** aURI) override
     {
       mURI.forget(aURI);
       return NS_OK;
     }
 
-    NS_IMETHOD SetSpec(const nsACString & aSpec, nsIURIMutator** aMutator) override {
-      NS_ADDREF(*aMutator = this);
+    NS_IMETHOD SetSpec(const nsACString & aSpec) override {
       return InitFromSpec(aSpec);
     }
 
     explicit Mutator() { }
   private:
     virtual ~Mutator() { }
 
     friend class nsMozIconURI;
--- a/modules/libjar/nsJARURI.h
+++ b/modules/libjar/nsJARURI.h
@@ -99,17 +99,17 @@ protected:
     nsCString        mCharsetHint;
 
 public:
     class Mutator
         : public nsIURIMutator
         , public BaseURIMutator<nsJARURI>
     {
         NS_DECL_ISUPPORTS
-        NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
+        NS_FORWARD_SAFE_NSIURISETTERS(mURI)
         NS_DEFINE_NSIMUTATOR_COMMON
 
         explicit Mutator() { }
     private:
         virtual ~Mutator() { }
 
         friend class nsJARURI;
     };
--- a/netwerk/base/nsIURIMutator.idl
+++ b/netwerk/base/nsIURIMutator.idl
@@ -1,23 +1,20 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* 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/. */
 
 #include "nsISupports.idl"
 interface nsIURI;
 interface nsIObjectInputStream;
-interface nsIURIMutator;
 
 %{C++
 #include "nsStringGlue.h"
-#include "nsCOMPtr.h"
 
-extern nsresult NS_GetURIMutator(nsIURI* aURI, nsIURIMutator** aMutator);
 #undef SetPort  // XXX Windows!
 
 namespace mozilla {
 class Encoding;
 }
 
 
 namespace mozilla {
@@ -85,96 +82,54 @@ protected:
 // to avoid code duplication.
 #define NS_DEFINE_NSIMUTATOR_COMMON                                           \
   NS_IMETHOD Deserialize(const mozilla::ipc::URIParams& aParams) override     \
     { return InitFromIPCParams(aParams); }                                    \
   NS_IMETHOD Read(nsIObjectInputStream* aStream) override                     \
     { return InitFromInputStream(aStream); }                                  \
   NS_IMETHOD Finalize(nsIURI** aURI) override                                 \
     { mURI.forget(aURI); return NS_OK; }                                      \
-  NS_IMETHOD SetSpec(const nsACString & aSpec, nsIURIMutator** aMutator) override \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return InitFromSpec(aSpec); }
+  NS_IMETHOD SetSpec(const nsACString & aSpec) override                       \
+    { return InitFromSpec(aSpec); }
+
 %}
 
 [ptr] native Encoding(const mozilla::Encoding);
 [ref] native const_URIParams_ref(const mozilla::ipc::URIParams);
 
 [scriptable, builtinclass, uuid(1fc53257-898b-4c5e-b69c-05bc84b4cd8f)]
 interface nsIURISetSpec : nsISupports
 {
   /**
    * This setter is different from all other setters because it may be used to
    * initialize the object. We define it separately allowing mutator implementors
    * to define it separately, while the rest of the setters may be simply
    * forwarded to the mutable URI.
    */
-  nsIURIMutator setSpec(in AUTF8String aSpec);
+  void setSpec(in AUTF8String aSpec);
 };
 
-/**
- * These methods allow the mutator to change various parts of the URI.
- * They return the same nsIURIMutator so that we may chain setter operations:
- * Example:
- * let newURI = uri.mutate()
- *                 .setSpec("http://example.com")
- *                 .setQuery("hello")
- *                 .finalize();
- */
 [scriptable, builtinclass, uuid(5403a6ec-99d7-405e-8b45-9f805bbdfcef)]
 interface nsIURISetters : nsIURISetSpec
 {
-  nsIURIMutator setScheme(in AUTF8String aScheme);
-  nsIURIMutator setUserPass(in AUTF8String aUserPass);
-  nsIURIMutator setUsername(in AUTF8String aUsername);
-  nsIURIMutator setPassword(in AUTF8String aPassword);
-  nsIURIMutator setHostPort(in AUTF8String aHostPort);
-  nsIURIMutator setHostAndPort(in AUTF8String aHostAndPort);
-  nsIURIMutator setHost(in AUTF8String aHost);
-  nsIURIMutator setPort(in long aPort);
-  nsIURIMutator setPathQueryRef(in AUTF8String aPathQueryRef);
-  nsIURIMutator setRef(in AUTF8String aRef);
-  nsIURIMutator setFilePath(in AUTF8String aFilePath);
-  nsIURIMutator setQuery(in AUTF8String aQuery);
-  [noscript] nsIURIMutator setQueryWithEncoding(in AUTF8String query, in Encoding encoding);
+  void setScheme(in AUTF8String aScheme);
+  void setUserPass(in AUTF8String aUserPass);
+  void setUsername(in AUTF8String aUsername);
+  void setPassword(in AUTF8String aPassword);
+  void setHostPort(in AUTF8String aHostPort);
+  void setHostAndPort(in AUTF8String aHostAndPort);
+  void setHost(in AUTF8String aHost);
+  void setPort(in long aPort);
+  void setPathQueryRef(in AUTF8String aPathQueryRef);
+  void setRef(in AUTF8String aRef);
+  void setFilePath(in AUTF8String aFilePath);
+  void setQuery(in AUTF8String aQuery);
+  [noscript] void setQueryWithEncoding(in AUTF8String query, in Encoding encoding);
 };
 
-%{C++
-
-// Using this macro instead of NS_FORWARD_SAFE_NSIURISETTERS makes chaining
-// setter operations possible.
-#define NS_FORWARD_SAFE_NSIURISETTERS_RET(_to)                                                                                         \
-  NS_IMETHOD SetScheme(const nsACString & aScheme, nsIURIMutator** aMutator) override                                                  \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetScheme(aScheme); }                      \
-  NS_IMETHOD SetUserPass(const nsACString & aUserPass, nsIURIMutator** aMutator) override                                              \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetUserPass(aUserPass); }                  \
-  NS_IMETHOD SetUsername(const nsACString & aUsername, nsIURIMutator** aMutator) override                                              \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetUsername(aUsername); }                  \
-  NS_IMETHOD SetPassword(const nsACString & aPassword, nsIURIMutator** aMutator) override                                              \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetPassword(aPassword); }                  \
-  NS_IMETHOD SetHostPort(const nsACString & aHostPort, nsIURIMutator** aMutator) override                                              \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetHostPort(aHostPort); }                  \
-  NS_IMETHOD SetHostAndPort(const nsACString & aHostAndPort, nsIURIMutator** aMutator) override                                        \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetHostAndPort(aHostAndPort); }            \
-  NS_IMETHOD SetHost(const nsACString & aHost, nsIURIMutator** aMutator) override                                                      \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetHost(aHost); }                          \
-  NS_IMETHOD SetPort(int32_t aPort, nsIURIMutator** aMutator) override                                                                 \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetPort(aPort); }                          \
-  NS_IMETHOD SetPathQueryRef(const nsACString & aPathQueryRef, nsIURIMutator** aMutator) override                                      \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetPathQueryRef(aPathQueryRef); }          \
-  NS_IMETHOD SetRef(const nsACString & aRef, nsIURIMutator** aMutator) override                                                        \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetRef(aRef); }                            \
-  NS_IMETHOD SetFilePath(const nsACString & aFilePath, nsIURIMutator** aMutator) override                                              \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetFilePath(aFilePath); }                  \
-  NS_IMETHOD SetQuery(const nsACString & aQuery, nsIURIMutator** aMutator) override                                                    \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetQuery(aQuery); }                        \
-  NS_IMETHOD SetQueryWithEncoding(const nsACString & query, const mozilla::Encoding *encoding, nsIURIMutator** aMutator) override      \
-    { if (aMutator) NS_ADDREF(*aMutator = this); return !_to ? NS_ERROR_NULL_POINTER : _to->SetQueryWithEncoding(query, encoding); }
-
-%}
-
 [scriptable, builtinclass, uuid(4d1f3103-1c44-4dcd-b717-5d22a697a7d9)]
 interface nsIURIMutator : nsIURISetters
 {
   /**
    * Initializes the URI by reading from the input stream.
    * The input stream must contain the serialization of the same object type.
    * See nsISerializable.
    */
@@ -188,116 +143,8 @@ interface nsIURIMutator : nsIURISetters
   nsresult deserialize(in const_URIParams_ref aParams);
 
   /**
    * Finishes changing or constructing the URI and returns an immutable URI.
    */
   nsIURI finalize();
 };
 
-%{C++
-
-// This class provides a useful helper that allows chaining of setter operations
-class MOZ_STACK_CLASS NS_MutateURI
-{
-public:
-  NS_MutateURI(nsIURI* aURI)
-    { mStatus = NS_GetURIMutator(aURI, getter_AddRefs(mMutator)); }
-  NS_MutateURI(nsCOMPtr<nsIURIMutator> aMutator)
-    { mStatus = NS_OK; mMutator = aMutator; }
-
-  NS_MutateURI& SetSpec(const nsACString& aSpec)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetSpec(aSpec, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetScheme(const nsACString& aScheme)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetScheme(aScheme, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetUserPass(const nsACString& aUserPass)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetUserPass(aUserPass, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetUsername(const nsACString& aUsername)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetUsername(aUsername, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetPassword(const nsACString& aPassword)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetPassword(aPassword, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetHostPort(const nsACString& aHostPort)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetHostPort(aHostPort, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetHostAndPort(const nsACString& aHostAndPort)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetHostAndPort(aHostAndPort, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetHost(const nsACString& aHost)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetHost(aHost, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetPort(int32_t aPort)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetPort(aPort, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetPathQueryRef(const nsACString& aPathQueryRef)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetPathQueryRef(aPathQueryRef, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetRef(const nsACString& aRef)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetRef(aRef, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetFilePath(const nsACString& aFilePath)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetFilePath(aFilePath, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetQuery(const nsACString& aQuery)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetQuery(aQuery, nullptr);
-    return *this;
-  }
-  NS_MutateURI& SetQueryWithEncoding(const nsACString& query, const mozilla::Encoding *encoding)
-  {
-    NS_ENSURE_SUCCESS(mStatus, *this);
-    mStatus = mMutator->SetQueryWithEncoding(query, encoding, nullptr);
-    return *this;
-  }
-  nsresult Finalize(nsIURI** aURI)
-  {
-    NS_ENSURE_SUCCESS(mStatus, mStatus);
-    mStatus = mMutator->Finalize(aURI);
-    return mStatus;
-  }
-  nsresult GetStatus() { return mStatus; }
-private:
-  nsresult mStatus;
-  RefPtr<nsIURIMutator> mMutator;
-};
-
-%}
--- a/netwerk/base/nsSimpleNestedURI.h
+++ b/netwerk/base/nsSimpleNestedURI.h
@@ -72,18 +72,18 @@ protected:
 
 
 public:
     class Mutator
         : public nsIURIMutator
         , public BaseURIMutator<nsSimpleNestedURI>
     {
         NS_DECL_ISUPPORTS
+        NS_FORWARD_SAFE_NSIURISETTERS(mURI)
         NS_DEFINE_NSIMUTATOR_COMMON
-        NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
 
         explicit Mutator() { }
     private:
         virtual ~Mutator() { }
 
         friend class nsSimpleNestedURI;
     };
 };
--- a/netwerk/base/nsSimpleURI.h
+++ b/netwerk/base/nsSimpleURI.h
@@ -113,17 +113,17 @@ protected:
 
 
 public:
     class Mutator
         : public nsIURIMutator
         , public BaseURIMutator<nsSimpleURI>
     {
         NS_DECL_ISUPPORTS
-        NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
+        NS_FORWARD_SAFE_NSIURISETTERS(mURI)
         NS_DEFINE_NSIMUTATOR_COMMON
 
         explicit Mutator() { }
     private:
         virtual ~Mutator() { }
 
         friend class nsSimpleURI;
     };
--- a/netwerk/base/nsStandardURL.cpp
+++ b/netwerk/base/nsStandardURL.cpp
@@ -3763,14 +3763,8 @@ nsStandardURL::SizeOfIncludingThis(Mallo
 } // namespace mozilla
 
 // For unit tests.  Including nsStandardURL.h seems to cause problems
 nsresult
 Test_NormalizeIPv4(const nsACString& host, nsCString& result)
 {
     return nsStandardURL::NormalizeIPv4(host, result);
 }
-
-nsresult
-NS_GetURIMutator(nsIURI* aURI, nsIURIMutator** aMutator)
-{
-    return aURI->Mutate(aMutator);
-}
--- a/netwerk/base/nsStandardURL.h
+++ b/netwerk/base/nsStandardURL.h
@@ -313,17 +313,17 @@ public:
 #endif
 
 public:
     class Mutator
         : public nsIURIMutator
         , public BaseURIMutator<nsStandardURL>
     {
         NS_DECL_ISUPPORTS
-        NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
+        NS_FORWARD_SAFE_NSIURISETTERS(mURI)
         NS_DEFINE_NSIMUTATOR_COMMON
 
         explicit Mutator() { }
     private:
         virtual ~Mutator() { }
 
         friend class nsStandardURL;
     };
--- a/netwerk/protocol/about/nsAboutProtocolHandler.h
+++ b/netwerk/protocol/about/nsAboutProtocolHandler.h
@@ -87,17 +87,17 @@ protected:
     nsCOMPtr<nsIURI> mBaseURI;
 
 public:
     class Mutator
         : public nsIURIMutator
         , public BaseURIMutator<nsNestedAboutURI>
     {
         NS_DECL_ISUPPORTS
-        NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
+        NS_FORWARD_SAFE_NSIURISETTERS(mURI)
         NS_DEFINE_NSIMUTATOR_COMMON
 
         explicit Mutator() { }
     private:
         virtual ~Mutator() { }
 
         friend class nsNestedAboutURI;
     };
--- a/netwerk/test/gtest/TestStandardURL.cpp
+++ b/netwerk/test/gtest/TestStandardURL.cpp
@@ -2,17 +2,17 @@
 #include "gtest/MozGTestBench.h" // For MOZ_GTEST_BENCH
 
 #include "nsCOMPtr.h"
 #include "nsNetCID.h"
 #include "nsIURL.h"
 #include "nsString.h"
 #include "nsPrintfCString.h"
 #include "nsComponentManagerUtils.h"
-#include "nsIURIMutator.h"
+
 
 // In nsStandardURL.cpp
 extern nsresult Test_NormalizeIPv4(const nsACString& host, nsCString& result);
 
 
 TEST(TestStandardURL, Simple) {
     nsCOMPtr<nsIURL> url( do_CreateInstance(NS_STANDARDURL_CONTRACTID) );
     ASSERT_TRUE(url);
@@ -230,31 +230,8 @@ MOZ_GTEST_BENCH(TestStandardURL, Normali
       ASSERT_EQ(NS_ERROR_FAILURE, Test_NormalizeIPv4(encHost3, result));
       nsAutoCString encHost4("111.159.notonmywatch.220");
       ASSERT_EQ(NS_ERROR_FAILURE, Test_NormalizeIPv4(encHost4, result));
       nsAutoCString encHost5("1.160.204.20f");
       ASSERT_EQ(NS_ERROR_FAILURE, Test_NormalizeIPv4(encHost5, result));
     }
 });
 #endif
-
-
-TEST(TestStandardURL, Mutator)
-{
-  nsAutoCString out;
-  nsCOMPtr<nsIURI> uri;
-  nsresult rv = NS_MutateURI(do_CreateInstance(NS_STANDARDURLMUTATOR_CONTRACTID))
-                  .SetSpec(NS_LITERAL_CSTRING("http://example.com"))
-                  .Finalize(getter_AddRefs(uri));
-  ASSERT_EQ(rv, NS_OK);
-
-  ASSERT_EQ(uri->GetSpec(out), NS_OK);
-  ASSERT_TRUE(out == NS_LITERAL_CSTRING("http://example.com/"));
-
-  rv = NS_MutateURI(uri)
-         .SetScheme(NS_LITERAL_CSTRING("ftp"))
-         .SetHost(NS_LITERAL_CSTRING("mozilla.org"))
-         .SetPathQueryRef(NS_LITERAL_CSTRING("/path?query#ref"))
-         .Finalize(getter_AddRefs(uri));
-  ASSERT_EQ(rv, NS_OK);
-  ASSERT_EQ(uri->GetSpec(out), NS_OK);
-  ASSERT_TRUE(out == NS_LITERAL_CSTRING("ftp://mozilla.org/path?query#ref"));
-}
deleted file mode 100644
--- a/netwerk/test/unit/test_uri_mutator.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* 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/. */
-
-"use strict";
-Cu.import("resource://gre/modules/NetUtil.jsm");
-
-function standardMutator()
-{
-  return Cc['@mozilla.org/network/standard-url-mutator;1']
-           .createInstance(Ci.nsIURIMutator);
-}
-
-add_task(async function test_simple_setter_chaining() {
-  let uri = standardMutator()
-              .setSpec("http://example.com/")
-              .setQuery("hello")
-              .setRef("bla")
-              .setScheme("ftp")
-              .finalize();
-  equal(uri.spec, "ftp://example.com/?hello#bla");
-});
--- a/netwerk/test/unit/xpcshell.ini
+++ b/netwerk/test/unit/xpcshell.ini
@@ -400,9 +400,8 @@ skip-if = os == "android"
 [test_channel_priority.js]
 [test_bug1312774_http1.js]
 [test_1351443-missing-NewChannel2.js]
 [test_bug1312782_http1.js]
 [test_bug1355539_http1.js]
 [test_bug1378385_http1.js]
 [test_tls_flags_separate_connections.js]
 [test_tls_flags.js]
-[test_uri_mutator.js]