Changeset 290152 in webkit
- Timestamp:
- Feb 18, 2022, 12:27:21 PM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
Modules/fetch/FetchBodyConsumer.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r290151 r290152 1 2022-02-18 Gabriel Nava Marino <gnavamarino@apple.com> 2 3 Keep promise in scope when calling DeferredPromise::reject 4 https://bugs.webkit.org/show_bug.cgi?id=236454 5 6 Reviewed by Darin Adler. 7 8 Keep promise in scope when calling DeferredPromise::reject, as createDOMException 9 could go through a path that invokes GC on its owner and the promise. 10 11 * Modules/fetch/FetchBodyConsumer.cpp: 12 (WebCore::FetchBodyConsumer::resolveWithFormData): 13 1 14 2022-02-18 Tim Horton <timothy_horton@apple.com> 2 15 -
trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp
r287877 r290152 270 270 return; 271 271 272 m_formDataConsumer = makeUnique<FormDataConsumer>(formData, *context, [this, promise = WTFMove(promise), contentType, builder = SharedBufferBuilder { }](auto&& result) mutable {272 m_formDataConsumer = makeUnique<FormDataConsumer>(formData, *context, [this, capturedPromise = WTFMove(promise), contentType, builder = SharedBufferBuilder { }](auto&& result) mutable { 273 273 if (result.hasException()) { 274 auto promise = WTFMove(capturedPromise); 274 275 promise->reject(result.releaseException()); 275 276 return; … … 279 280 if (value.empty()) { 280 281 auto buffer = builder.takeAsContiguous(); 281 resolveWithData(WTFMove( promise), contentType, buffer->data(), buffer->size());282 resolveWithData(WTFMove(capturedPromise), contentType, buffer->data(), buffer->size()); 282 283 return; 283 284 }
Note:
See TracChangeset
for help on using the changeset viewer.