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

Side by Side Diff: Source/core/xml/XMLHttpRequest.h

Issue 24304004: [XHR] Abort method execution when m_loader->cancel() in internalAbort() caused reentry (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 3 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.
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 171
172 String getRequestHeader(const AtomicString& name) const; 172 String getRequestHeader(const AtomicString& name) const;
173 void setRequestHeaderInternal(const AtomicString& name, const String& value) ; 173 void setRequestHeaderInternal(const AtomicString& name, const String& value) ;
174 174
175 // Changes m_state and dispatches a readyStateChange event if new m_state 175 // Changes m_state and dispatches a readyStateChange event if new m_state
176 // value is different from last one. 176 // value is different from last one.
177 void changeState(State newState); 177 void changeState(State newState);
178 void callReadyStateChangeListener(); 178 void callReadyStateChangeListener();
179 void dropProtectionSoon(); 179 void dropProtectionSoon();
180 void dropProtection(Timer<XMLHttpRequest>* = 0); 180 void dropProtection(Timer<XMLHttpRequest>* = 0);
181 void internalAbort(DropProtection = DropProtectionSync); 181 // Returns false iff reentry happened and a new load is started.
182 bool internalAbort(DropProtection = DropProtectionSync);
182 void clearResponse(); 183 void clearResponse();
183 void clearResponseBuffers(); 184 void clearResponseBuffers();
184 void clearRequest(); 185 void clearRequest();
185 186
186 void createRequest(ExceptionState&); 187 void createRequest(ExceptionState&);
187 188
188 // Dispatches an event of the specified type to m_upload and 189 // Dispatches an event of the specified type to m_upload and
189 // m_progressEventThrottle. 190 // m_progressEventThrottle.
190 void dispatchEventAndLoadEnd(const AtomicString&); 191 void dispatchEventAndLoadEnd(const AtomicString&);
191 // Does clean up common for all kind of didFail() call. 192 // Does clean up common for all kind of didFail() call.
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 247
247 // An enum corresponding to the allowed string values for the responseType a ttribute. 248 // An enum corresponding to the allowed string values for the responseType a ttribute.
248 ResponseTypeCode m_responseTypeCode; 249 ResponseTypeCode m_responseTypeCode;
249 Timer<XMLHttpRequest> m_protectionTimer; 250 Timer<XMLHttpRequest> m_protectionTimer;
250 RefPtr<SecurityOrigin> m_securityOrigin; 251 RefPtr<SecurityOrigin> m_securityOrigin;
251 }; 252 };
252 253
253 } // namespace WebCore 254 } // namespace WebCore
254 255
255 #endif // XMLHttpRequest_h 256 #endif // XMLHttpRequest_h
OLDNEW
« no previous file with comments | « LayoutTests/http/tests/xmlhttprequest/reentrant-cancel-expected.txt ('k') | Source/core/xml/XMLHttpRequest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698