no bug - Import translations from android-l10n r=release a=l10n CLOSED TREE
[gecko.git] / netwerk / base / nsInputStreamChannel.h
blob6d1c406a81c559c7f899c73f800c8d1b69704d5b
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef nsInputStreamChannel_h__
7 #define nsInputStreamChannel_h__
9 #include "nsBaseChannel.h"
10 #include "nsIInputStreamChannel.h"
12 //-----------------------------------------------------------------------------
14 namespace mozilla {
15 namespace net {
17 class nsInputStreamChannel : public nsBaseChannel,
18 public nsIInputStreamChannel {
19 public:
20 NS_DECL_ISUPPORTS_INHERITED
21 NS_DECL_NSIINPUTSTREAMCHANNEL
23 nsInputStreamChannel() = default;
25 NS_IMETHOD SetContentType(const nsACString& aContentType) override;
27 protected:
28 virtual ~nsInputStreamChannel() = default;
30 virtual nsresult OpenContentStream(bool async, nsIInputStream** result,
31 nsIChannel** channel) override;
33 virtual void OnChannelDone() override { mContentStream = nullptr; }
35 private:
36 nsCOMPtr<nsIInputStream> mContentStream;
37 nsCOMPtr<nsIURI> mBaseURI;
38 nsString mSrcdocData;
39 bool mIsSrcdocChannel{false};
42 } // namespace net
43 } // namespace mozilla
45 #endif // !nsInputStreamChannel_h__