Index: Source/modules/imagebitmap/ImageBitmapFactories.cpp |
diff --git a/Source/modules/imagebitmap/ImageBitmapFactories.cpp b/Source/modules/imagebitmap/ImageBitmapFactories.cpp |
index a24decec24925695d49b25ac27c593aa88be7005..ffd0c7bee94651884f245ef0fc2935621fe1714b 100644 |
--- a/Source/modules/imagebitmap/ImageBitmapFactories.cpp |
+++ b/Source/modules/imagebitmap/ImageBitmapFactories.cpp |
@@ -71,9 +71,10 @@ static ScriptPromise fulfillImageBitmap(ExecutionContext* context, PassRefPtr<Im |
{ |
// Promises must be enabled. |
ASSERT(RuntimeEnabledFeatures::promiseEnabled()); |
- RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(context); |
- resolver->fulfill(imageBitmap); |
- return resolver->promise(); |
+ ScriptPromise promise = ScriptPromise::createPending(context); |
+ RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(promise, context); |
+ resolver->resolve(imageBitmap); |
+ return promise; |
} |
ScriptPromise ImageBitmapFactories::createImageBitmap(EventTarget* eventTarget, HTMLImageElement* image, ExceptionState& es) |
@@ -204,11 +205,12 @@ ScriptPromise ImageBitmapFactories::createImageBitmap(EventTarget* eventTarget, |
es.throwUninformativeAndGenericDOMException(TypeError); |
return ScriptPromise(); |
} |
- RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(eventTarget->executionContext()); |
+ ScriptPromise promise = ScriptPromise::createPending(eventTarget->executionContext()); |
+ RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(promise, eventTarget->executionContext()); |
RefPtr<ImageBitmapLoader> loader = ImageBitmapFactories::ImageBitmapLoader::create(from(eventTarget), resolver, IntRect()); |
from(eventTarget)->addLoader(loader); |
loader->loadBlobAsync(eventTarget->executionContext(), blob); |
- return resolver->promise(); |
+ return promise; |
} |
ScriptPromise ImageBitmapFactories::createImageBitmap(EventTarget* eventTarget, Blob* blob, int sx, int sy, int sw, int sh, ExceptionState& es) |
@@ -224,11 +226,12 @@ ScriptPromise ImageBitmapFactories::createImageBitmap(EventTarget* eventTarget, |
es.throwUninformativeAndGenericDOMException(IndexSizeError); |
return ScriptPromise(); |
} |
- RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(eventTarget->executionContext()); |
+ ScriptPromise promise = ScriptPromise::createPending(eventTarget->executionContext()); |
+ RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(promise, eventTarget->executionContext()); |
RefPtr<ImageBitmapLoader> loader = ImageBitmapFactories::ImageBitmapLoader::create(from(eventTarget), resolver, IntRect(sx, sy, sw, sh)); |
from(eventTarget)->addLoader(loader); |
loader->loadBlobAsync(eventTarget->executionContext(), blob); |
- return resolver->promise(); |
+ return promise; |
} |
ScriptPromise ImageBitmapFactories::createImageBitmap(EventTarget* eventTarget, ImageData* data, ExceptionState& es) |
@@ -355,7 +358,7 @@ void ImageBitmapFactories::ImageBitmapLoader::didFinishLoading() |
RefPtr<ImageBitmap> imageBitmap = ImageBitmap::create(image.get(), m_cropRect); |
ScriptScope scope(m_scriptState); |
- m_resolver->fulfill(imageBitmap.release()); |
+ m_resolver->resolve(imageBitmap.release()); |
m_factory->didFinishLoading(this); |
} |