Bug 1624588 - dom/file/ipc sources now also build when not unified r=baku
☠☠ backed out by 8c812857aa0e ☠ ☠
authorSubhamoy Sengupta <ssengupta@mozilla.com>
Wed, 25 Mar 2020 12:45:59 +0000
changeset 520352 34504844db0385989cf04808bb2657ae3fc4eaba
parent 520351 592a05a2a15958b9b2628a95e13f8e0731721024
child 520353 8c812857aa0e106e3ba009cae839a57460fccb1c
push id37248
push userbtara@mozilla.com
push dateWed, 25 Mar 2020 16:40:49 +0000
treeherdermozilla-central@c5112a7573ac [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbaku
bugs1624588
milestone76.0a1
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
Bug 1624588 - dom/file/ipc sources now also build when not unified r=baku Missing includes, namespace-related issues, and missing template instantiations added to make sources compile without unifying. Differential Revision: https://phabricator.services.mozilla.com/D68142
dom/cache/CacheStreamControlChild.cpp
dom/file/ipc/IPCBlobInputStream.cpp
dom/file/ipc/IPCBlobInputStreamChild.h
dom/file/ipc/IPCBlobInputStreamParent.cpp
dom/file/ipc/IPCBlobInputStreamStorage.cpp
dom/file/ipc/IPCBlobInputStreamThread.h
dom/file/ipc/TemporaryIPCBlobChild.cpp
dom/file/ipc/TemporaryIPCBlobParent.cpp
--- a/dom/cache/CacheStreamControlChild.cpp
+++ b/dom/cache/CacheStreamControlChild.cpp
@@ -1,15 +1,15 @@
 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* 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 "mozilla/dom/cache/CacheStreamControlChild.h"
+#include "CacheStreamControlChild.h"
 
 #include "mozilla/Unused.h"
 #include "mozilla/dom/cache/ActorUtils.h"
 #include "mozilla/dom/cache/CacheTypes.h"
 #include "mozilla/dom/cache/CacheWorkerRef.h"
 #include "mozilla/dom/cache/ReadStream.h"
 #include "mozilla/ipc/FileDescriptorSetChild.h"
 #include "mozilla/ipc/IPCStreamUtils.h"
--- a/dom/file/ipc/IPCBlobInputStream.cpp
+++ b/dom/file/ipc/IPCBlobInputStream.cpp
@@ -16,16 +16,18 @@
 #include "nsIPipe.h"
 #include "nsNetUtil.h"
 #include "nsStreamUtils.h"
 #include "nsStringStream.h"
 
 namespace mozilla {
 namespace dom {
 
+class IPCBlobInputStream;
+
 namespace {
 
 class InputStreamCallbackRunnable final : public CancelableRunnable {
  public:
   // Note that the execution can be synchronous in case the event target is
   // null.
   static void Execute(nsIInputStreamCallback* aCallback,
                       nsIEventTarget* aEventTarget,
--- a/dom/file/ipc/IPCBlobInputStreamChild.h
+++ b/dom/file/ipc/IPCBlobInputStreamChild.h
@@ -3,16 +3,17 @@
 /* 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/. */
 
 #ifndef mozilla_dom_IPCBlobInputStreamChild_h
 #define mozilla_dom_IPCBlobInputStreamChild_h
 
 #include "mozilla/dom/PIPCBlobInputStreamChild.h"
+#include "mozilla/dom/IPCBlobInputStream.h"
 #include "mozilla/Mutex.h"
 #include "mozilla/UniquePtr.h"
 #include "nsTArray.h"
 
 namespace mozilla {
 namespace dom {
 
 class IPCBlobInputStream;
--- a/dom/file/ipc/IPCBlobInputStreamParent.cpp
+++ b/dom/file/ipc/IPCBlobInputStreamParent.cpp
@@ -41,16 +41,26 @@ already_AddRefed<IPCBlobInputStreamParen
   RefPtr<IPCBlobInputStreamParent> actor =
       new IPCBlobInputStreamParent(aID, aSize, aManager);
 
   actor->mCallback = IPCBlobInputStreamStorage::Get()->TakeCallback(aID);
 
   return actor.forget();
 }
 
+template already_AddRefed<IPCBlobInputStreamParent>
+IPCBlobInputStreamParent::Create<mozilla::ipc::PBackgroundParent>(
+    nsIInputStream*, unsigned long, unsigned long, nsresult*,
+    mozilla::ipc::PBackgroundParent*);
+
+template already_AddRefed<IPCBlobInputStreamParent>
+IPCBlobInputStreamParent::Create<ContentParent>(nsIInputStream*, unsigned long,
+                                                unsigned long, nsresult*,
+                                                ContentParent*);
+
 IPCBlobInputStreamParent::IPCBlobInputStreamParent(const nsID& aID,
                                                    uint64_t aSize,
                                                    ContentParent* aManager)
     : mID(aID),
       mSize(aSize),
       mContentManager(aManager),
       mPBackgroundManager(nullptr),
       mMigrating(false) {}
--- a/dom/file/ipc/IPCBlobInputStreamStorage.cpp
+++ b/dom/file/ipc/IPCBlobInputStreamStorage.cpp
@@ -1,16 +1,16 @@
 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* 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 "IPCBlobInputStreamStorage.h"
-
+#include "mozilla/SlicedInputStream.h"
 #include "mozilla/dom/ContentParent.h"
 #include "mozilla/StaticMutex.h"
 #include "mozilla/StaticPtr.h"
 #include "nsIPropertyBag2.h"
 #include "nsStreamUtils.h"
 
 namespace mozilla {
 
--- a/dom/file/ipc/IPCBlobInputStreamThread.h
+++ b/dom/file/ipc/IPCBlobInputStreamThread.h
@@ -2,18 +2,20 @@
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* 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/. */
 
 #ifndef mozilla_dom_IPCBlobInputStreamThread_h
 #define mozilla_dom_IPCBlobInputStreamThread_h
 
+#include "mozilla/dom/IPCBlobInputStreamChild.h"
 #include "nsIEventTarget.h"
 #include "nsIObserver.h"
+#include "nsTArray.h"
 
 class nsIThread;
 
 namespace mozilla {
 namespace dom {
 
 class IPCBlobInputStreamChild;
 
--- a/dom/file/ipc/TemporaryIPCBlobChild.cpp
+++ b/dom/file/ipc/TemporaryIPCBlobChild.cpp
@@ -1,16 +1,17 @@
 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* 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 "TemporaryIPCBlobChild.h"
 #include "mozilla/dom/MutableBlobStorage.h"
+#include "mozilla/dom/IPCBlobUtils.h"
 #include <private/pprio.h>
 
 namespace mozilla {
 namespace dom {
 
 TemporaryIPCBlobChild::TemporaryIPCBlobChild(MutableBlobStorage* aStorage)
     : mMutableBlobStorage(aStorage), mActive(true) {
   MOZ_ASSERT(aStorage);
--- a/dom/file/ipc/TemporaryIPCBlobParent.cpp
+++ b/dom/file/ipc/TemporaryIPCBlobParent.cpp
@@ -1,19 +1,20 @@
 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* 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 "private/pprio.h"
 #include "TemporaryIPCBlobParent.h"
-
 #include "mozilla/dom/FileBlobImpl.h"
 #include "nsAnonymousTemporaryFile.h"
 #include "TemporaryFileBlobImpl.h"
+#include "mozilla/dom/IPCBlobUtils.h"
 
 namespace mozilla {
 namespace dom {
 
 TemporaryIPCBlobParent::TemporaryIPCBlobParent() : mActive(true) {}
 
 TemporaryIPCBlobParent::~TemporaryIPCBlobParent() {
   // If we still have mFile, let's remove it.