Bug 1441688 - Remove nsIIPCSerializableURI.Deserialize draft
authorValentin Gosu <valentin.gosu@gmail.com>
Mon, 05 Mar 2018 04:14:44 +0100
changeset 763030 b74dbbca74864958b4e105a94f46005d074e6b2e
parent 762724 5887820248a9d3d954ed5bb68e41e8bb53acb274
push id101315
push uservalentin.gosu@gmail.com
push dateMon, 05 Mar 2018 03:15:28 +0000
bugs1441688
milestone60.0a1
Bug 1441688 - Remove nsIIPCSerializableURI.Deserialize MozReview-Commit-ID: 8gwX3vSKWNX
caps/NullPrincipalURI.h
dom/file/nsHostObjectURI.h
dom/jsurl/nsJSProtocolHandler.h
image/decoders/icon/nsIconURI.h
ipc/glue/nsIIPCSerializableURI.h
modules/libjar/nsJARURI.h
netwerk/base/nsSimpleNestedURI.h
netwerk/base/nsSimpleURI.h
netwerk/base/nsStandardURL.h
--- a/caps/NullPrincipalURI.h
+++ b/caps/NullPrincipalURI.h
@@ -64,16 +64,17 @@ private:
   nsresult SetHostPort(const nsACString &aValue);
   nsresult SetHost(const nsACString &input);
   nsresult SetPort(int32_t port);
   nsresult SetPathQueryRef(const nsACString &input);
   nsresult SetRef(const nsACString &input);
   nsresult SetFilePath(const nsACString &input);
   nsresult SetQuery(const nsACString &input);
   nsresult SetQueryWithEncoding(const nsACString &input, const mozilla::Encoding* encoding);
+  bool Deserialize(const mozilla::ipc::URIParams&);
 
 public:
   class Mutator final
       : public nsIURIMutator
       , public BaseURIMutator<NullPrincipalURI>
   {
     NS_DECL_ISUPPORTS
     NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
--- a/dom/file/nsHostObjectURI.h
+++ b/dom/file/nsHostObjectURI.h
@@ -72,16 +72,17 @@ public:
 
   nsCOMPtr<nsIPrincipal> mPrincipal;
   RefPtr<mozilla::dom::BlobImpl> mBlobImpl;
 
 protected:
   virtual ~nsHostObjectURI() {}
 
   nsresult SetScheme(const nsACString &aProtocol) override;
+  bool Deserialize(const mozilla::ipc::URIParams&);
 
 public:
   class Mutator final
     : public nsIURIMutator
     , public BaseURIMutator<nsHostObjectURI>
     , public nsIBlobURIMutator
     , public nsIPrincipalURIMutator
   {
--- a/dom/jsurl/nsJSProtocolHandler.h
+++ b/dom/jsurl/nsJSProtocolHandler.h
@@ -97,16 +97,18 @@ public:
     //NS_IMETHOD QueryInterface( const nsIID& aIID, void** aInstancePtr ) override;
 
 protected:
     virtual ~nsJSURI() {}
 
     virtual nsresult EqualsInternal(nsIURI* other,
                                     RefHandlingEnum refHandlingMode,
                                     bool* result) override;
+    bool Deserialize(const mozilla::ipc::URIParams&);
+
 private:
     nsCOMPtr<nsIURI> mBaseURI;
 
 public:
     class Mutator final
         : public nsIURIMutator
         , public BaseURIMutator<nsJSURI>
     {
--- a/image/decoders/icon/nsIconURI.h
+++ b/image/decoders/icon/nsIconURI.h
@@ -57,16 +57,17 @@ private:
   nsresult SetHostPort(const nsACString &aValue);
   nsresult SetHost(const nsACString &input);
   nsresult SetPort(int32_t port);
   nsresult SetPathQueryRef(const nsACString &input);
   nsresult SetRef(const nsACString &input);
   nsresult SetFilePath(const nsACString &input);
   nsresult SetQuery(const nsACString &input);
   nsresult SetQueryWithEncoding(const nsACString &input, const mozilla::Encoding* encoding);
+  bool Deserialize(const mozilla::ipc::URIParams&);
 
 public:
   class Mutator final
       : public nsIURIMutator
       , public BaseURIMutator<nsMozIconURI>
   {
     NS_DECL_ISUPPORTS
     NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
--- a/ipc/glue/nsIIPCSerializableURI.h
+++ b/ipc/glue/nsIIPCSerializableURI.h
@@ -22,38 +22,29 @@ class URIParams;
 class NS_NO_VTABLE nsIIPCSerializableURI : public nsISupports
 {
 public:
   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IIPCSERIALIZABLEURI_IID)
 
   virtual void
   Serialize(mozilla::ipc::URIParams& aParams) = 0;
 
-  virtual bool
-  Deserialize(const mozilla::ipc::URIParams& aParams) = 0;
+  // For deserialization, see nsIURIMutator
 };
 
 NS_DEFINE_STATIC_IID_ACCESSOR(nsIIPCSerializableURI,
                               NS_IIPCSERIALIZABLEURI_IID)
 
 #define NS_DECL_NSIIPCSERIALIZABLEURI \
   virtual void \
-  Serialize(mozilla::ipc::URIParams&) override; \
-  virtual bool \
-  Deserialize(const mozilla::ipc::URIParams&) override;
+  Serialize(mozilla::ipc::URIParams&) override;
 
 #define NS_FORWARD_NSIIPCSERIALIZABLEURI(_to) \
   virtual void \
   Serialize(mozilla::ipc::URIParams& aParams) override \
-  { _to Serialize(aParams); } \
-  virtual bool \
-  Deserialize(const mozilla::ipc::URIParams& aParams) override \
-  { return _to Deserialize(aParams); }
+  { _to Serialize(aParams); }
 
 #define NS_FORWARD_SAFE_NSIIPCSERIALIZABLEURI(_to) \
   virtual void \
   Serialize(mozilla::ipc::URIParams& aParams) override \
-  { if (_to) { _to->Serialize(aParams); } } \
-  virtual bool \
-  Deserialize(const mozilla::ipc::URIParams& aParams) override \
-  { if (_to) { return _to->Deserialize(aParams); } return false; }
+  { if (_to) { _to->Serialize(aParams); } }
 
 #endif // mozilla_ipc_nsIIPCSerializableURI_h
--- a/modules/libjar/nsJARURI.h
+++ b/modules/libjar/nsJARURI.h
@@ -108,16 +108,17 @@ private:
     nsresult SetHostPort(const nsACString &aValue);
     nsresult SetHost(const nsACString &input);
     nsresult SetPort(int32_t port);
     nsresult SetPathQueryRef(const nsACString &input);
     nsresult SetRef(const nsACString &input);
     nsresult SetFilePath(const nsACString &input);
     nsresult SetQuery(const nsACString &input);
     nsresult SetQueryWithEncoding(const nsACString &input, const Encoding* encoding);
+    bool Deserialize(const mozilla::ipc::URIParams&);
 
     nsresult SetFileNameInternal(const nsACString& fileName);
     nsresult SetFileBaseNameInternal(const nsACString& fileBaseName);
     nsresult SetFileExtensionInternal(const nsACString& fileExtension);
 
 public:
     class Mutator final
         : public nsIURIMutator
--- a/netwerk/base/nsSimpleNestedURI.h
+++ b/netwerk/base/nsSimpleNestedURI.h
@@ -65,16 +65,17 @@ public:
 
     // Override the nsIClassInfo method GetClassIDNoAlloc to make sure our
     // nsISerializable impl works right.
     NS_IMETHOD GetClassIDNoAlloc(nsCID *aClassIDNoAlloc) override;
 
 protected:
     nsCOMPtr<nsIURI> mInnerURI;
 
+    bool Deserialize(const mozilla::ipc::URIParams&);
 
 public:
     class Mutator final
         : public nsIURIMutator
         , public BaseURIMutator<nsSimpleNestedURI>
     {
         NS_DECL_ISUPPORTS
         NS_FORWARD_SAFE_NSIURISETTERS_RET(mURI)
--- a/netwerk/base/nsSimpleURI.h
+++ b/netwerk/base/nsSimpleURI.h
@@ -112,16 +112,18 @@ protected:
 
     // Helper to share code between Clone methods.
     virtual nsresult CloneInternal(RefHandlingEnum refHandlingMode,
                                    const nsACString &newRef,
                                    nsIURI** clone);
 
     nsresult SetPathQueryRefEscaped(const nsACString &aPath, bool aNeedsEscape);
 
+    bool Deserialize(const mozilla::ipc::URIParams&);
+
     nsCString mScheme;
     nsCString mPath; // NOTE: mPath does not include ref, as an optimization
     nsCString mRef;  // so that URIs with different refs can share string data.
     nsCString mQuery;  // so that URLs with different querys can share string data.
     bool mMutable;
     bool mIsRefValid; // To distinguish between empty-ref and no-ref.
     bool mIsQueryValid; // To distinguish between empty-query and no-query.
 
--- a/netwerk/base/nsStandardURL.h
+++ b/netwerk/base/nsStandardURL.h
@@ -188,16 +188,17 @@ protected:
     virtual nsresult SetHostPort(const nsACString &aValue);
     virtual nsresult SetHost(const nsACString &input);
     virtual nsresult SetPort(int32_t port);
     virtual nsresult SetPathQueryRef(const nsACString &input);
     virtual nsresult SetRef(const nsACString &input);
     virtual nsresult SetFilePath(const nsACString &input);
     virtual nsresult SetQuery(const nsACString &input);
     virtual nsresult SetQueryWithEncoding(const nsACString &input, const Encoding* encoding);
+    bool Deserialize(const mozilla::ipc::URIParams&);
 
 private:
     nsresult Init(uint32_t urlType, int32_t defaultPort, const nsACString &spec,
                   const char *charset, nsIURI *baseURI);
     nsresult SetDefaultPort(int32_t aNewDefaultPort);
     nsresult SetFile(nsIFile *file);
 
     nsresult SetFileNameInternal(const nsACString &input);