Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/mozilla/dom/XMLHttpRequest.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
5
 * You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
#ifndef mozilla_dom_XMLHttpRequest_h
8
#define mozilla_dom_XMLHttpRequest_h
9
10
#include "mozilla/Attributes.h"
11
#include "mozilla/dom/XMLHttpRequestEventTarget.h"
12
#include "mozilla/dom/XMLHttpRequestBinding.h"
13
14
class nsIJSID;
15
16
namespace mozilla {
17
namespace dom {
18
19
class Blob;
20
class DOMString;
21
class FormData;
22
class URLSearchParams;
23
class XMLHttpRequestUpload;
24
25
class XMLHttpRequest : public XMLHttpRequestEventTarget
26
{
27
public:
28
  static already_AddRefed<XMLHttpRequest>
29
  Constructor(const GlobalObject& aGlobal,
30
              const MozXMLHttpRequestParameters& aParams,
31
              ErrorResult& aRv);
32
33
  static already_AddRefed<XMLHttpRequest>
34
  Constructor(const GlobalObject& aGlobal, const nsAString& ignored,
35
              ErrorResult& aRv)
36
0
  {
37
0
    // Pretend like someone passed null, so we can pick up the default values
38
0
    MozXMLHttpRequestParameters params;
39
0
    if (!params.Init(aGlobal.Context(), JS::NullHandleValue)) {
40
0
      aRv.Throw(NS_ERROR_UNEXPECTED);
41
0
      return nullptr;
42
0
    }
43
0
44
0
    return Constructor(aGlobal, params, aRv);
45
0
  }
46
47
  IMPL_EVENT_HANDLER(readystatechange)
48
49
  virtual uint16_t
50
  ReadyState() const = 0;
51
52
  virtual void
53
  Open(const nsACString& aMethod, const nsAString& aUrl, ErrorResult& aRv) = 0;
54
55
  virtual void
56
  Open(const nsACString& aMethod, const nsAString& aUrl, bool aAsync,
57
       const nsAString& aUser, const nsAString& aPassword, ErrorResult& aRv) = 0;
58
59
  virtual void
60
  SetRequestHeader(const nsACString& aHeader, const nsACString& aValue,
61
                   ErrorResult& aRv) = 0;
62
63
  virtual uint32_t
64
  Timeout() const = 0;
65
66
  virtual void
67
  SetTimeout(uint32_t aTimeout, ErrorResult& aRv) = 0;
68
69
  virtual bool
70
  WithCredentials() const = 0;
71
72
  virtual void
73
  SetWithCredentials(bool aWithCredentials, ErrorResult& aRv) = 0;
74
75
  virtual XMLHttpRequestUpload*
76
  GetUpload(ErrorResult& aRv) = 0;
77
78
  virtual void
79
  Send(JSContext* aCx,
80
       const Nullable<DocumentOrBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString>& aData,
81
       ErrorResult& aRv) = 0;
82
83
  virtual void
84
  SendInputStream(nsIInputStream* aInputStream, ErrorResult& aRv) = 0;
85
86
  virtual void
87
  Abort(ErrorResult& aRv) = 0;
88
89
  virtual void
90
  GetResponseURL(nsAString& aUrl) = 0;
91
92
  virtual uint32_t
93
  GetStatus(ErrorResult& aRv) = 0;
94
95
  virtual void
96
  GetStatusText(nsACString& aStatusText, ErrorResult& aRv) = 0;
97
98
  virtual void
99
  GetResponseHeader(const nsACString& aHeader, nsACString& aResult,
100
                    ErrorResult& aRv) = 0;
101
102
  virtual void
103
  GetAllResponseHeaders(nsACString& aResponseHeaders,
104
                        ErrorResult& aRv) = 0;
105
106
  virtual void
107
  OverrideMimeType(const nsAString& aMimeType, ErrorResult& aRv) = 0;
108
109
  virtual XMLHttpRequestResponseType
110
  ResponseType() const = 0;
111
112
  virtual void
113
  SetResponseType(XMLHttpRequestResponseType aType,
114
                  ErrorResult& aRv) = 0;
115
116
  virtual void
117
  GetResponse(JSContext* aCx, JS::MutableHandle<JS::Value> aResponse,
118
              ErrorResult& aRv) = 0;
119
120
  virtual void
121
  GetResponseText(DOMString& aResponseText, ErrorResult& aRv) = 0;
122
123
  virtual nsIDocument*
124
  GetResponseXML(ErrorResult& aRv) = 0;
125
126
  virtual bool
127
  MozBackgroundRequest() const = 0;
128
129
  virtual void
130
  SetMozBackgroundRequest(bool aMozBackgroundRequest, ErrorResult& aRv) = 0;
131
132
  virtual nsIChannel*
133
  GetChannel() const = 0;
134
135
  // We need a GetInterface callable from JS for chrome JS
136
  virtual void
137
  GetInterface(JSContext* aCx, nsIJSID* aIID,
138
               JS::MutableHandle<JS::Value> aRetval,
139
               ErrorResult& aRv) = 0;
140
141
  virtual void
142
  SetOriginAttributes(const mozilla::dom::OriginAttributesDictionary& aAttrs) = 0;
143
144
  virtual uint16_t
145
  ErrorCode() const = 0;
146
147
  virtual bool
148
  MozAnon() const = 0;
149
150
  virtual bool
151
  MozSystem() const = 0;
152
153
  virtual JSObject*
154
  WrapObject(JSContext *aCx, JS::Handle<JSObject*> aGivenProto) override
155
0
  {
156
0
    return mozilla::dom::XMLHttpRequest_Binding::Wrap(aCx, this, aGivenProto);
157
0
  }
158
};
159
160
} // dom namespace
161
} // mozilla namespace
162
163
#endif // mozilla_dom_XMLHttpRequest_h