Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(416)

Side by Side Diff: third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.h

Issue 1805843002: [v8 gc] Introduce a base class for all objects that can have pending activity (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updates Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2006, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2006, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2005, 2006 Alexey Proskuryakov <ap@nypop.com> 3 * Copyright (C) 2005, 2006 Alexey Proskuryakov <ap@nypop.com>
4 * Copyright (C) 2011 Google Inc. All rights reserved. 4 * Copyright (C) 2011 Google Inc. All rights reserved.
5 * Copyright (C) 2012 Intel Corporation 5 * Copyright (C) 2012 Intel Corporation
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public 8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
11 * 11 *
12 * This library is distributed in the hope that it will be useful, 12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details. 15 * Lesser General Public License for more details.
16 * 16 *
17 * You should have received a copy of the GNU Lesser General Public 17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software 18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 U SA 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 U SA
20 */ 20 */
21 21
22 #ifndef XMLHttpRequest_h 22 #ifndef XMLHttpRequest_h
23 #define XMLHttpRequest_h 23 #define XMLHttpRequest_h
24 24
25 #include "bindings/core/v8/ActiveScriptWrappable.h"
25 #include "bindings/core/v8/ScriptString.h" 26 #include "bindings/core/v8/ScriptString.h"
26 #include "bindings/core/v8/ScriptWrappable.h" 27 #include "bindings/core/v8/ScriptWrappable.h"
27 #include "core/dom/ActiveDOMObject.h" 28 #include "core/dom/ActiveDOMObject.h"
28 #include "core/dom/DocumentParserClient.h" 29 #include "core/dom/DocumentParserClient.h"
29 #include "core/loader/ThreadableLoaderClient.h" 30 #include "core/loader/ThreadableLoaderClient.h"
30 #include "core/xmlhttprequest/XMLHttpRequestEventTarget.h" 31 #include "core/xmlhttprequest/XMLHttpRequestEventTarget.h"
31 #include "core/xmlhttprequest/XMLHttpRequestProgressEventThrottle.h" 32 #include "core/xmlhttprequest/XMLHttpRequestProgressEventThrottle.h"
32 #include "platform/heap/Handle.h" 33 #include "platform/heap/Handle.h"
33 #include "platform/network/EncodedFormData.h" 34 #include "platform/network/EncodedFormData.h"
34 #include "platform/network/HTTPHeaderMap.h" 35 #include "platform/network/HTTPHeaderMap.h"
(...skipping 24 matching lines...) Expand all
59 class ScriptState; 60 class ScriptState;
60 class SharedBuffer; 61 class SharedBuffer;
61 class Stream; 62 class Stream;
62 class TextResourceDecoder; 63 class TextResourceDecoder;
63 class ThreadableLoader; 64 class ThreadableLoader;
64 class WebDataConsumerHandle; 65 class WebDataConsumerHandle;
65 class XMLHttpRequestUpload; 66 class XMLHttpRequestUpload;
66 67
67 typedef int ExceptionCode; 68 typedef int ExceptionCode;
68 69
69 class XMLHttpRequest final : public XMLHttpRequestEventTarget, private Threadabl eLoaderClient, public DocumentParserClient, public ActiveDOMObject { 70 class XMLHttpRequest final : public XMLHttpRequestEventTarget, private Threadabl eLoaderClient, public DocumentParserClient, public ActiveScriptWrappable, public ActiveDOMObject {
70 DEFINE_WRAPPERTYPEINFO(); 71 DEFINE_WRAPPERTYPEINFO();
71 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(XMLHttpRequest); 72 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(XMLHttpRequest);
72 public: 73 public:
73 static XMLHttpRequest* create(ScriptState*); 74 static XMLHttpRequest* create(ScriptState*);
74 static XMLHttpRequest* create(ExecutionContext*); 75 static XMLHttpRequest* create(ExecutionContext*);
75 ~XMLHttpRequest() override; 76 ~XMLHttpRequest() override;
76 77
77 // These exact numeric values are important because JS expects them. 78 // These exact numeric values are important because JS expects them.
78 enum State { 79 enum State {
79 UNSENT = 0, 80 UNSENT = 0,
80 OPENED = 1, 81 OPENED = 1,
81 HEADERS_RECEIVED = 2, 82 HEADERS_RECEIVED = 2,
82 LOADING = 3, 83 LOADING = 3,
83 DONE = 4 84 DONE = 4
84 }; 85 };
85 86
86 enum ResponseTypeCode { 87 enum ResponseTypeCode {
87 ResponseTypeDefault, 88 ResponseTypeDefault,
88 ResponseTypeText, 89 ResponseTypeText,
89 ResponseTypeJSON, 90 ResponseTypeJSON,
90 ResponseTypeDocument, 91 ResponseTypeDocument,
91 ResponseTypeBlob, 92 ResponseTypeBlob,
92 ResponseTypeArrayBuffer, 93 ResponseTypeArrayBuffer,
93 ResponseTypeLegacyStream, 94 ResponseTypeLegacyStream,
94 }; 95 };
95 96
96 // ActiveDOMObject 97 // ActiveDOMObject
97 void contextDestroyed() override; 98 void contextDestroyed() override;
98 ExecutionContext* getExecutionContext() const override; 99 ExecutionContext* getExecutionContext() const override;
99 bool hasPendingActivity() const override;
100 void suspend() override; 100 void suspend() override;
101 void resume() override; 101 void resume() override;
102 void stop() override; 102 void stop() override;
103 103
104 // ActiveScriptWrappable
105 bool hasPendingActivity() const final;
106
104 // XMLHttpRequestEventTarget 107 // XMLHttpRequestEventTarget
105 const AtomicString& interfaceName() const override; 108 const AtomicString& interfaceName() const override;
106 109
107 // JavaScript attributes and methods 110 // JavaScript attributes and methods
108 const KURL& url() const { return m_url; } 111 const KURL& url() const { return m_url; }
109 String statusText() const; 112 String statusText() const;
110 int status() const; 113 int status() const;
111 State readyState() const; 114 State readyState() const;
112 bool withCredentials() const { return m_includeCredentials; } 115 bool withCredentials() const { return m_includeCredentials; }
113 void setWithCredentials(bool, ExceptionState&); 116 void setWithCredentials(bool, ExceptionState&);
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 bool m_sameOriginRequest; 318 bool m_sameOriginRequest;
316 // True iff the ongoing resource loading is using the downloadToFile 319 // True iff the ongoing resource loading is using the downloadToFile
317 // option. 320 // option.
318 bool m_downloadingToFile; 321 bool m_downloadingToFile;
319 bool m_responseTextOverflow; 322 bool m_responseTextOverflow;
320 }; 323 };
321 324
322 } // namespace blink 325 } // namespace blink
323 326
324 #endif // XMLHttpRequest_h 327 #endif // XMLHttpRequest_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698