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, ...@@ -185,7 +185,7 @@ ScriptPromise ImageBitmapFactories::createImageBitmap(ScriptState* scriptState,
ScriptPromise ImageBitmapFactories::createImageBitmap(ScriptState* scriptState, EventTarget& eventTarget, Blob* blob, ExceptionState& exceptionState) 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(); ScriptPromise promise = loader->promise();
from(eventTarget).addLoader(loader); from(eventTarget).addLoader(loader);
loader->loadBlobAsync(eventTarget.executionContext(), blob); loader->loadBlobAsync(eventTarget.executionContext(), blob);
...@@ -198,7 +198,7 @@ ScriptPromise ImageBitmapFactories::createImageBitmap(ScriptState* scriptState, ...@@ -198,7 +198,7 @@ ScriptPromise ImageBitmapFactories::createImageBitmap(ScriptState* scriptState,
exceptionState.throwDOMException(IndexSizeError, String::format("The source %s provided is 0.", sw ? "height" : "width")); exceptionState.throwDOMException(IndexSizeError, String::format("The source %s provided is 0.", sw ? "height" : "width"));
return ScriptPromise(); 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(); ScriptPromise promise = loader->promise();
from(eventTarget).addLoader(loader); from(eventTarget).addLoader(loader);
loader->loadBlobAsync(eventTarget.executionContext(), blob); loader->loadBlobAsync(eventTarget.executionContext(), blob);
...@@ -260,7 +260,7 @@ ImageBitmapFactories& ImageBitmapFactories::fromInternal(GlobalObject& object) ...@@ -260,7 +260,7 @@ ImageBitmapFactories& ImageBitmapFactories::fromInternal(GlobalObject& object)
return *supplement; return *supplement;
} }
void ImageBitmapFactories::addLoader(PassRefPtrWillBeRawPtr<ImageBitmapLoader> loader) void ImageBitmapFactories::addLoader(ImageBitmapLoader* loader)
{ {
m_pendingLoaders.add(loader); m_pendingLoaders.add(loader);
} }
......
...@@ -81,11 +81,11 @@ protected: ...@@ -81,11 +81,11 @@ protected:
static const char* supplementName(); static const char* supplementName();
private: private:
class ImageBitmapLoader FINAL : public RefCountedWillBeGarbageCollectedFinalized<ImageBitmapLoader>, public FileReaderLoaderClient { class ImageBitmapLoader FINAL : public GarbageCollectedFinalized<ImageBitmapLoader>, public FileReaderLoaderClient {
public: 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*); void loadBlobAsync(ExecutionContext*, Blob*);
...@@ -117,10 +117,10 @@ private: ...@@ -117,10 +117,10 @@ private:
template<class GlobalObject> template<class GlobalObject>
static ImageBitmapFactories& fromInternal(GlobalObject&); static ImageBitmapFactories& fromInternal(GlobalObject&);
void addLoader(PassRefPtrWillBeRawPtr<ImageBitmapLoader>); void addLoader(ImageBitmapLoader*);
void didFinishLoading(ImageBitmapLoader*); void didFinishLoading(ImageBitmapLoader*);
WillBeHeapHashSet<RefPtrWillBeMember<ImageBitmapLoader> > m_pendingLoaders; PersistentHeapHashSetWillBeHeapHashSet<Member<ImageBitmapLoader> > m_pendingLoaders;
}; };
} // namespace WebCore } // 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