Chromium Code Reviews| Index: third_party/WebKit/Source/core/frame/ImageBitmap.h |
| diff --git a/third_party/WebKit/Source/core/frame/ImageBitmap.h b/third_party/WebKit/Source/core/frame/ImageBitmap.h |
| index bb5aa15194715dee7716fe4fbb397b23429b68e9..f4c19974042feb42ef568f104e8b82a8048b43c0 100644 |
| --- a/third_party/WebKit/Source/core/frame/ImageBitmap.h |
| +++ b/third_party/WebKit/Source/core/frame/ImageBitmap.h |
| @@ -38,19 +38,21 @@ enum DataColorFormat { |
| class CORE_EXPORT ImageBitmap final : public GarbageCollectedFinalized<ImageBitmap>, public ScriptWrappable, public CanvasImageSource, public ImageBitmapSource { |
| DEFINE_WRAPPERTYPEINFO(); |
| public: |
| - static ImageBitmap* create(HTMLImageElement*, const IntRect&, Document*, const ImageBitmapOptions& = ImageBitmapOptions()); |
| - static ImageBitmap* create(HTMLVideoElement*, const IntRect&, Document*, const ImageBitmapOptions& = ImageBitmapOptions()); |
| - static ImageBitmap* create(HTMLCanvasElement*, const IntRect&, const ImageBitmapOptions& = ImageBitmapOptions()); |
| - static ImageBitmap* create(ImageData*, const IntRect&, const ImageBitmapOptions& = ImageBitmapOptions()); |
| - static ImageBitmap* create(ImageBitmap*, const IntRect&, const ImageBitmapOptions& = ImageBitmapOptions()); |
| + static ImageBitmap* create(HTMLImageElement*, WTF::Optional<IntRect>, Document*, const ImageBitmapOptions& = ImageBitmapOptions()); |
|
jbroman
2016/07/13 15:18:57
By the way, like most of WTF, it's imported into t
xidachen
2016/07/13 15:52:21
Done.
|
| + static ImageBitmap* create(HTMLVideoElement*, WTF::Optional<IntRect>, Document*, const ImageBitmapOptions& = ImageBitmapOptions()); |
| + static ImageBitmap* create(HTMLCanvasElement*, WTF::Optional<IntRect>, const ImageBitmapOptions& = ImageBitmapOptions()); |
| + static ImageBitmap* create(ImageData*, WTF::Optional<IntRect>, const ImageBitmapOptions& = ImageBitmapOptions()); |
| + static ImageBitmap* create(ImageBitmap*, WTF::Optional<IntRect>, const ImageBitmapOptions& = ImageBitmapOptions()); |
| static ImageBitmap* create(PassRefPtr<StaticBitmapImage>); |
| - static ImageBitmap* create(PassRefPtr<StaticBitmapImage>, const IntRect&, const ImageBitmapOptions& = ImageBitmapOptions()); |
| + static ImageBitmap* create(PassRefPtr<StaticBitmapImage>, WTF::Optional<IntRect>, const ImageBitmapOptions& = ImageBitmapOptions()); |
| static ImageBitmap* create(WebExternalTextureMailbox&); |
| // This function is called by structured-cloning an ImageBitmap. |
| // isImageBitmapPremultiplied indicates whether the original ImageBitmap is premultiplied or not. |
| // isImageBitmapOriginClean indicates whether the original ImageBitmap is origin clean or not. |
| static ImageBitmap* create(std::unique_ptr<uint8_t[]> data, uint32_t width, uint32_t height, bool isImageBitmapPremultiplied, bool isImageBitmapOriginClean); |
| static PassRefPtr<SkImage> getSkImageFromDecoder(std::unique_ptr<ImageDecoder>); |
| + static bool isResizeOptionValid(const ImageBitmapOptions&, ExceptionState&); |
| + static bool isSourceSizeValid(int sourceWidth, int sourceHeight, ExceptionState&); |
| // Type and helper function required by CallbackPromiseAdapter: |
| using WebType = sk_sp<SkImage>; |
| @@ -82,23 +84,21 @@ public: |
| // ImageBitmapSource implementation |
| IntSize bitmapSourceSize() const override { return size(); } |
| - ScriptPromise createImageBitmap(ScriptState*, EventTarget&, int sx, int sy, int sw, int sh, const ImageBitmapOptions&, ExceptionState&) override; |
| + ScriptPromise createImageBitmap(ScriptState*, EventTarget&, WTF::Optional<IntRect>, const ImageBitmapOptions&, ExceptionState&) override; |
| DECLARE_VIRTUAL_TRACE(); |
| private: |
| - ImageBitmap(HTMLImageElement*, const IntRect&, Document*, const ImageBitmapOptions&); |
| - ImageBitmap(HTMLVideoElement*, const IntRect&, Document*, const ImageBitmapOptions&); |
| - ImageBitmap(HTMLCanvasElement*, const IntRect&, const ImageBitmapOptions&); |
| - ImageBitmap(ImageData*, const IntRect&, const ImageBitmapOptions&); |
| - ImageBitmap(ImageBitmap*, const IntRect&, const ImageBitmapOptions&); |
| + ImageBitmap(HTMLImageElement*, WTF::Optional<IntRect>, Document*, const ImageBitmapOptions&); |
| + ImageBitmap(HTMLVideoElement*, WTF::Optional<IntRect>, Document*, const ImageBitmapOptions&); |
| + ImageBitmap(HTMLCanvasElement*, WTF::Optional<IntRect>, const ImageBitmapOptions&); |
| + ImageBitmap(ImageData*, WTF::Optional<IntRect>, const ImageBitmapOptions&); |
| + ImageBitmap(ImageBitmap*, WTF::Optional<IntRect>, const ImageBitmapOptions&); |
| ImageBitmap(PassRefPtr<StaticBitmapImage>); |
| - ImageBitmap(PassRefPtr<StaticBitmapImage>, const IntRect&, const ImageBitmapOptions&); |
| + ImageBitmap(PassRefPtr<StaticBitmapImage>, WTF::Optional<IntRect>, const ImageBitmapOptions&); |
| ImageBitmap(WebExternalTextureMailbox&); |
| ImageBitmap(std::unique_ptr<uint8_t[]> data, uint32_t width, uint32_t height, bool isImageBitmapPremultiplied, bool isImageBitmapOriginClean); |
| - void parseOptions(const ImageBitmapOptions&, bool&, bool&); |
| - |
| RefPtr<StaticBitmapImage> m_image; |
| bool m_isNeutered = false; |
| }; |