OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved. |
3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> | 3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> |
4 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. | 4 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
8 * are met: | 8 * are met: |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 11 matching lines...) Expand all Loading... |
22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 */ | 26 */ |
27 | 27 |
28 #ifndef HTMLCanvasElement_h | 28 #ifndef HTMLCanvasElement_h |
29 #define HTMLCanvasElement_h | 29 #define HTMLCanvasElement_h |
30 | 30 |
31 #include "bindings/core/v8/ScriptValue.h" | 31 #include "bindings/core/v8/ScriptValue.h" |
| 32 #include "bindings/core/v8/ScriptWrappableVisitor.h" |
32 #include "core/CoreExport.h" | 33 #include "core/CoreExport.h" |
33 #include "core/dom/ContextLifecycleObserver.h" | 34 #include "core/dom/ContextLifecycleObserver.h" |
34 #include "core/dom/DOMTypedArray.h" | 35 #include "core/dom/DOMTypedArray.h" |
35 #include "core/dom/Document.h" | 36 #include "core/dom/Document.h" |
36 #include "core/fileapi/BlobCallback.h" | 37 #include "core/fileapi/BlobCallback.h" |
37 #include "core/html/HTMLElement.h" | 38 #include "core/html/HTMLElement.h" |
38 #include "core/html/canvas/CanvasDrawListener.h" | 39 #include "core/html/canvas/CanvasDrawListener.h" |
39 #include "core/html/canvas/CanvasImageSource.h" | 40 #include "core/html/canvas/CanvasImageSource.h" |
40 #include "core/imagebitmap/ImageBitmapSource.h" | 41 #include "core/imagebitmap/ImageBitmapSource.h" |
41 #include "core/page/PageVisibilityObserver.h" | 42 #include "core/page/PageVisibilityObserver.h" |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 ImageData* toImageData(SourceDrawingBuffer, SnapshotReason) const; | 279 ImageData* toImageData(SourceDrawingBuffer, SnapshotReason) const; |
279 | 280 |
280 String toDataURLInternal(const String& mimeType, | 281 String toDataURLInternal(const String& mimeType, |
281 const double& quality, | 282 const double& quality, |
282 SourceDrawingBuffer) const; | 283 SourceDrawingBuffer) const; |
283 | 284 |
284 HeapHashSet<WeakMember<CanvasDrawListener>> m_listeners; | 285 HeapHashSet<WeakMember<CanvasDrawListener>> m_listeners; |
285 | 286 |
286 IntSize m_size; | 287 IntSize m_size; |
287 | 288 |
288 Member<CanvasRenderingContext> m_context; | 289 TraceWrapperMember<CanvasRenderingContext> m_context; |
289 | 290 |
290 bool m_ignoreReset; | 291 bool m_ignoreReset; |
291 FloatRect m_dirtyRect; | 292 FloatRect m_dirtyRect; |
292 | 293 |
293 mutable intptr_t m_externallyAllocatedMemory; | 294 mutable intptr_t m_externallyAllocatedMemory; |
294 | 295 |
295 bool m_originClean; | 296 bool m_originClean; |
296 | 297 |
297 // It prevents HTMLCanvasElement::buffer() from continuously re-attempting to | 298 // It prevents HTMLCanvasElement::buffer() from continuously re-attempting to |
298 // allocate an imageBuffer after the first attempt failed. | 299 // allocate an imageBuffer after the first attempt failed. |
299 mutable bool m_didFailToCreateImageBuffer; | 300 mutable bool m_didFailToCreateImageBuffer; |
300 bool m_imageBufferIsClear; | 301 bool m_imageBufferIsClear; |
301 std::unique_ptr<ImageBuffer> m_imageBuffer; | 302 std::unique_ptr<ImageBuffer> m_imageBuffer; |
302 | 303 |
303 // FIXME: This is temporary for platforms that have to copy the image buffer | 304 // FIXME: This is temporary for platforms that have to copy the image buffer |
304 // to render (and for CSSCanvasValue). | 305 // to render (and for CSSCanvasValue). |
305 mutable RefPtr<Image> m_copiedImage; | 306 mutable RefPtr<Image> m_copiedImage; |
306 | 307 |
307 // Used for OffscreenCanvas that controls this HTML canvas element | 308 // Used for OffscreenCanvas that controls this HTML canvas element |
308 std::unique_ptr<CanvasSurfaceLayerBridge> m_surfaceLayerBridge; | 309 std::unique_ptr<CanvasSurfaceLayerBridge> m_surfaceLayerBridge; |
309 | 310 |
310 int m_numFramesSinceLastRenderingModeSwitch; | 311 int m_numFramesSinceLastRenderingModeSwitch; |
311 bool m_pendingRenderingModeSwitch; | 312 bool m_pendingRenderingModeSwitch; |
312 }; | 313 }; |
313 | 314 |
314 } // namespace blink | 315 } // namespace blink |
315 | 316 |
316 #endif // HTMLCanvasElement_h | 317 #endif // HTMLCanvasElement_h |
OLD | NEW |