Commit 9bbbfca0 authored by Ben Kelly's avatar Ben Kelly
Browse files

Bug 1397128 P2 Refactor StreamList::Add() to use move constructors and accept...

Bug 1397128 P2 Refactor StreamList::Add() to use move constructors and accept a nullptr stream. r=tt
parent 66eb21a0
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -548,7 +548,7 @@ public:
    if (NS_WARN_IF(NS_FAILED(rv))) { return rv; }
    if (NS_WARN_IF(!stream)) { return NS_ERROR_FILE_NOT_FOUND; }

    mStreamList->Add(mResponse.mBodyId, stream);
    mStreamList->Add(mResponse.mBodyId, Move(stream));

    return rv;
  }
@@ -614,7 +614,7 @@ public:
      if (NS_WARN_IF(NS_FAILED(rv))) { return rv; }
      if (NS_WARN_IF(!stream)) { return NS_ERROR_FILE_NOT_FOUND; }

      mStreamList->Add(mSavedResponses[i].mBodyId, stream);
      mStreamList->Add(mSavedResponses[i].mBodyId, Move(stream));
    }

    return rv;
@@ -1162,7 +1162,7 @@ public:
      if (NS_WARN_IF(NS_FAILED(rv))) { return rv; }
      if (NS_WARN_IF(!stream)) { return NS_ERROR_FILE_NOT_FOUND; }

      mStreamList->Add(mSavedRequests[i].mBodyId, stream);
      mStreamList->Add(mSavedRequests[i].mBodyId, Move(stream));
    }

    return rv;
@@ -1226,7 +1226,7 @@ public:
    if (NS_WARN_IF(NS_FAILED(rv))) { return rv; }
    if (NS_WARN_IF(!stream)) { return NS_ERROR_FILE_NOT_FOUND; }

    mStreamList->Add(mSavedResponse.mBodyId, stream);
    mStreamList->Add(mSavedResponse.mBodyId, Move(stream));

    return rv;
  }
+2 −5
Original line number Diff line number Diff line
@@ -70,15 +70,12 @@ StreamList::Activate(CacheId aCacheId)
}

void
StreamList::Add(const nsID& aId, nsIInputStream* aStream)
StreamList::Add(const nsID& aId, nsCOMPtr<nsIInputStream>&& aStream)
{
  // All streams should be added on IO thread before we set the stream
  // control on the owning IPC thread.
  MOZ_DIAGNOSTIC_ASSERT(!mStreamControl);
  MOZ_DIAGNOSTIC_ASSERT(aStream);
  Entry* entry = mList.AppendElement();
  entry->mId = aId;
  entry->mStream = aStream;
  mList.AppendElement(Entry(aId, Move(aStream)));
}

already_AddRefed<nsIInputStream>
+6 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ public:

  void Activate(CacheId aCacheId);

  void Add(const nsID& aId, nsIInputStream* aStream);
  void Add(const nsID& aId, nsCOMPtr<nsIInputStream>&& aStream);
  already_AddRefed<nsIInputStream> Extract(const nsID& aId);

  void NoteClosed(const nsID& aId);
@@ -47,6 +47,11 @@ private:
  ~StreamList();
  struct Entry
  {
    explicit Entry(const nsID& aId, nsCOMPtr<nsIInputStream>&& aStream)
      : mId(aId)
      , mStream(Move(aStream))
    {}

    nsID mId;
    nsCOMPtr<nsIInputStream> mStream;
  };