Commit ff62b006 authored by tkent@chromium.org's avatar tkent@chromium.org

Enable Oilpan for ImageBitmapFactories::ImageBitmapLoader by default.

We can't enable Oilpan for ImageBitmapFactories, another class in
modules/imagebitmap/, because it's a Supplement of DOMWindow or
WorkerGlobalScope.

BUG=340522

Review URL: https://codereview.chromium.org/323293004

git-svn-id: svn://svn.chromium.org/blink/trunk@176252 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 9bc6b673
......@@ -185,7 +185,7 @@ ScriptPromise ImageBitmapFactories::createImageBitmap(ScriptState* scriptState,
ScriptPromise ImageBitmapFactories::createImageBitmap(ScriptState* scriptState, EventTarget& eventTarget, Blob* blob, ExceptionState& exceptionState)
{
RefPtrWillBeRawPtr<ImageBitmapLoader> loader = ImageBitmapFactories::ImageBitmapLoader::create(from(eventTarget), IntRect(), scriptState);
ImageBitmapLoader* loader = ImageBitmapFactories::ImageBitmapLoader::create(from(eventTarget), IntRect(), scriptState);
ScriptPromise promise = loader->promise();
from(eventTarget).addLoader(loader);
loader->loadBlobAsync(eventTarget.executionContext(), blob);
......@@ -198,7 +198,7 @@ ScriptPromise ImageBitmapFactories::createImageBitmap(ScriptState* scriptState,
exceptionState.throwDOMException(IndexSizeError, String::format("The source %s provided is 0.", sw ? "height" : "width"));
return ScriptPromise();
}
RefPtrWillBeRawPtr<ImageBitmapLoader> loader = ImageBitmapFactories::ImageBitmapLoader::create(from(eventTarget), IntRect(sx, sy, sw, sh), scriptState);
ImageBitmapLoader* loader = ImageBitmapFactories::ImageBitmapLoader::create(from(eventTarget), IntRect(sx, sy, sw, sh), scriptState);
ScriptPromise promise = loader->promise();
from(eventTarget).addLoader(loader);
loader->loadBlobAsync(eventTarget.executionContext(), blob);
......@@ -260,7 +260,7 @@ ImageBitmapFactories& ImageBitmapFactories::fromInternal(GlobalObject& object)
return *supplement;
}
void ImageBitmapFactories::addLoader(PassRefPtrWillBeRawPtr<ImageBitmapLoader> loader)
void ImageBitmapFactories::addLoader(ImageBitmapLoader* loader)
{
m_pendingLoaders.add(loader);
}
......
......@@ -81,11 +81,11 @@ protected:
static const char* supplementName();
private:
class ImageBitmapLoader FINAL : public RefCountedWillBeGarbageCollectedFinalized<ImageBitmapLoader>, public FileReaderLoaderClient {
class ImageBitmapLoader FINAL : public GarbageCollectedFinalized<ImageBitmapLoader>, public FileReaderLoaderClient {
public:
static PassRefPtrWillBeRawPtr<ImageBitmapLoader> create(ImageBitmapFactories& factory, const IntRect& cropRect, ScriptState* scriptState)
static ImageBitmapLoader* create(ImageBitmapFactories& factory, const IntRect& cropRect, ScriptState* scriptState)
{
return adoptRefWillBeNoop(new ImageBitmapLoader(factory, cropRect, scriptState));
return new ImageBitmapLoader(factory, cropRect, scriptState);
}
void loadBlobAsync(ExecutionContext*, Blob*);
......@@ -117,10 +117,10 @@ private:
template<class GlobalObject>
static ImageBitmapFactories& fromInternal(GlobalObject&);
void addLoader(PassRefPtrWillBeRawPtr<ImageBitmapLoader>);
void addLoader(ImageBitmapLoader*);
void didFinishLoading(ImageBitmapLoader*);
WillBeHeapHashSet<RefPtrWillBeMember<ImageBitmapLoader> > m_pendingLoaders;
PersistentHeapHashSetWillBeHeapHashSet<Member<ImageBitmapLoader> > m_pendingLoaders;
};
} // namespace WebCore
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment