OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "modules/shapedetection/ShapeDetector.h" | 5 #include "modules/shapedetection/ShapeDetector.h" |
6 | 6 |
7 #include "core/dom/DOMException.h" | 7 #include "core/dom/DOMException.h" |
8 #include "core/dom/DOMRect.h" | 8 #include "core/dom/DOMRect.h" |
9 #include "core/dom/Document.h" | 9 #include "core/dom/Document.h" |
10 #include "core/fetch/ImageResource.h" | 10 #include "core/fetch/ImageResourceContent.h" |
11 #include "core/frame/ImageBitmap.h" | 11 #include "core/frame/ImageBitmap.h" |
12 #include "core/frame/LocalFrame.h" | 12 #include "core/frame/LocalFrame.h" |
13 #include "core/html/HTMLImageElement.h" | 13 #include "core/html/HTMLImageElement.h" |
14 #include "core/html/HTMLVideoElement.h" | 14 #include "core/html/HTMLVideoElement.h" |
15 #include "core/html/canvas/CanvasImageSource.h" | 15 #include "core/html/canvas/CanvasImageSource.h" |
16 #include "platform/graphics/Image.h" | 16 #include "platform/graphics/Image.h" |
17 #include "third_party/skia/include/core/SkImage.h" | 17 #include "third_party/skia/include/core/SkImage.h" |
18 #include "third_party/skia/include/core/SkImageInfo.h" | 18 #include "third_party/skia/include/core/SkImageInfo.h" |
19 #include "wtf/CheckedNumeric.h" | 19 #include "wtf/CheckedNumeric.h" |
20 | 20 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 ScriptPromise ShapeDetector::detectShapesOnImageElement( | 96 ScriptPromise ShapeDetector::detectShapesOnImageElement( |
97 ScriptPromiseResolver* resolver, | 97 ScriptPromiseResolver* resolver, |
98 const HTMLImageElement* img) { | 98 const HTMLImageElement* img) { |
99 ScriptPromise promise = resolver->promise(); | 99 ScriptPromise promise = resolver->promise(); |
100 | 100 |
101 if (img->bitmapSourceSize().isZero()) { | 101 if (img->bitmapSourceSize().isZero()) { |
102 resolver->resolve(HeapVector<Member<DOMRect>>()); | 102 resolver->resolve(HeapVector<Member<DOMRect>>()); |
103 return promise; | 103 return promise; |
104 } | 104 } |
105 | 105 |
106 ImageResource* const imageResource = img->cachedImage(); | 106 ImageResourceContent* const imageResource = img->cachedImage(); |
107 if (!imageResource || imageResource->errorOccurred()) { | 107 if (!imageResource || imageResource->errorOccurred()) { |
108 resolver->reject(DOMException::create( | 108 resolver->reject(DOMException::create( |
109 InvalidStateError, "Failed to load or decode HTMLImageElement.")); | 109 InvalidStateError, "Failed to load or decode HTMLImageElement.")); |
110 return promise; | 110 return promise; |
111 } | 111 } |
112 | 112 |
113 Image* const blinkImage = imageResource->getImage(); | 113 Image* const blinkImage = imageResource->getImage(); |
114 if (!blinkImage) { | 114 if (!blinkImage) { |
115 resolver->reject(DOMException::create( | 115 resolver->reject(DOMException::create( |
116 InvalidStateError, "Failed to get image from resource.")); | 116 InvalidStateError, "Failed to get image from resource.")); |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 mojo::ScopedSharedBufferHandle sharedBufferHandle = getSharedBufferOnData( | 248 mojo::ScopedSharedBufferHandle sharedBufferHandle = getSharedBufferOnData( |
249 resolver, pixelDataPtr, allocationSize.ValueOrDefault(0)); | 249 resolver, pixelDataPtr, allocationSize.ValueOrDefault(0)); |
250 if (!sharedBufferHandle->is_valid()) | 250 if (!sharedBufferHandle->is_valid()) |
251 return promise; | 251 return promise; |
252 | 252 |
253 return doDetect(resolver, std::move(sharedBufferHandle), image->width(), | 253 return doDetect(resolver, std::move(sharedBufferHandle), image->width(), |
254 image->height()); | 254 image->height()); |
255 } | 255 } |
256 | 256 |
257 } // namespace blink | 257 } // namespace blink |
OLD | NEW |