Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/netwerk/base/nsInputStreamChannel.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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/. */
5
6
#ifndef nsInputStreamChannel_h__
7
#define nsInputStreamChannel_h__
8
9
#include "nsBaseChannel.h"
10
#include "nsIInputStreamChannel.h"
11
12
//-----------------------------------------------------------------------------
13
14
namespace mozilla {
15
namespace net {
16
17
class nsInputStreamChannel : public nsBaseChannel
18
                           , public nsIInputStreamChannel
19
{
20
public:
21
    NS_DECL_ISUPPORTS_INHERITED
22
    NS_DECL_NSIINPUTSTREAMCHANNEL
23
24
    nsInputStreamChannel() :
25
0
      mIsSrcdocChannel(false) {}
26
27
protected:
28
0
    virtual ~nsInputStreamChannel() = default;
29
30
    virtual nsresult OpenContentStream(bool async, nsIInputStream **result,
31
                                       nsIChannel** channel) override;
32
33
0
    virtual void OnChannelDone() override {
34
0
        mContentStream = nullptr;
35
0
    }
36
37
private:
38
    nsCOMPtr<nsIInputStream> mContentStream;
39
    nsCOMPtr<nsIURI> mBaseURI;
40
    nsString mSrcdocData;
41
    bool mIsSrcdocChannel;
42
};
43
44
} // namespace net
45
} // namespace mozilla
46
47
#endif // !nsInputStreamChannel_h__