Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLCanvasElement.h

Issue 1609343004: Add display list fallback reason histograms for 2D canvas (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: adding missing histogram Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 // Used for canvas capture. 106 // Used for canvas capture.
107 void addListener(CanvasDrawListener*); 107 void addListener(CanvasDrawListener*);
108 void removeListener(CanvasDrawListener*); 108 void removeListener(CanvasDrawListener*);
109 109
110 // Used for rendering 110 // Used for rendering
111 void didDraw(const FloatRect&); 111 void didDraw(const FloatRect&);
112 112
113 void paint(GraphicsContext&, const LayoutRect&); 113 void paint(GraphicsContext&, const LayoutRect&);
114 114
115 SkCanvas* drawingCanvas() const; 115 SkCanvas* drawingCanvas() const;
116 void disableDeferral() const; 116 void disableDeferral(DisableDeferralReason) const;
117 SkCanvas* existingDrawingCanvas() const; 117 SkCanvas* existingDrawingCanvas() const;
118 118
119 void setRenderingContext(PassOwnPtrWillBeRawPtr<CanvasRenderingContext>); 119 void setRenderingContext(PassOwnPtrWillBeRawPtr<CanvasRenderingContext>);
120 CanvasRenderingContext* renderingContext() const { return m_context.get(); } 120 CanvasRenderingContext* renderingContext() const { return m_context.get(); }
121 121
122 void ensureUnacceleratedImageBuffer(); 122 void ensureUnacceleratedImageBuffer();
123 ImageBuffer* buffer() const; 123 ImageBuffer* buffer() const;
124 PassRefPtr<Image> copiedImage(SourceDrawingBuffer, AccelerationHint) const; 124 PassRefPtr<Image> copiedImage(SourceDrawingBuffer, AccelerationHint) const;
125 void clearCopiedImage(); 125 void clearCopiedImage();
126 126
(...skipping 16 matching lines...) Expand all
143 void prepareSurfaceForPaintingIfNeeded() const; 143 void prepareSurfaceForPaintingIfNeeded() const;
144 144
145 const AtomicString imageSourceURL() const override; 145 const AtomicString imageSourceURL() const override;
146 146
147 InsertionNotificationRequest insertedInto(ContainerNode*) override; 147 InsertionNotificationRequest insertedInto(ContainerNode*) override;
148 148
149 // DocumentVisibilityObserver implementation 149 // DocumentVisibilityObserver implementation
150 void didChangeVisibilityState(PageVisibilityState) override; 150 void didChangeVisibilityState(PageVisibilityState) override;
151 151
152 // CanvasImageSource implementation 152 // CanvasImageSource implementation
153 PassRefPtr<Image> getSourceImageForCanvas(SourceImageStatus*, AccelerationHi nt) const override; 153 PassRefPtr<Image> getSourceImageForCanvas(SourceImageStatus*, AccelerationHi nt, SnapshotReason) const override;
154 bool wouldTaintOrigin(SecurityOrigin*) const override; 154 bool wouldTaintOrigin(SecurityOrigin*) const override;
155 FloatSize elementSize() const override; 155 FloatSize elementSize() const override;
156 bool isCanvasElement() const override { return true; } 156 bool isCanvasElement() const override { return true; }
157 bool isOpaque() const override; 157 bool isOpaque() const override;
158 158
159 // ImageBufferClient implementation 159 // ImageBufferClient implementation
160 void notifySurfaceInvalid() override; 160 void notifySurfaceInvalid() override;
161 bool isDirty() override { return !m_dirtyRect.isEmpty(); } 161 bool isDirty() override { return !m_dirtyRect.isEmpty(); }
162 void didFinalizeFrame() override; 162 void didFinalizeFrame() override;
163 void restoreCanvasMatrixClipStack(SkCanvas*) const override; 163 void restoreCanvasMatrixClipStack(SkCanvas*) const override;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 void createImageBuffer(); 198 void createImageBuffer();
199 void createImageBufferInternal(PassOwnPtr<ImageBufferSurface> externalSurfac e); 199 void createImageBufferInternal(PassOwnPtr<ImageBufferSurface> externalSurfac e);
200 bool shouldUseDisplayList(const IntSize& deviceSize); 200 bool shouldUseDisplayList(const IntSize& deviceSize);
201 201
202 void setSurfaceSize(const IntSize&); 202 void setSurfaceSize(const IntSize&);
203 203
204 bool paintsIntoCanvasBuffer() const; 204 bool paintsIntoCanvasBuffer() const;
205 205
206 void notifyListenersCanvasChanged(); 206 void notifyListenersCanvasChanged();
207 207
208 ImageData* toImageData(SourceDrawingBuffer) const; 208 ImageData* toImageData(SourceDrawingBuffer, SnapshotReason) const;
209 String toDataURLInternal(const String& mimeType, const double& quality, Sour ceDrawingBuffer) const; 209 String toDataURLInternal(const String& mimeType, const double& quality, Sour ceDrawingBuffer) const;
210 210
211 PersistentHeapHashSetWillBeHeapHashSet<WeakMember<CanvasDrawListener>> m_lis teners; 211 PersistentHeapHashSetWillBeHeapHashSet<WeakMember<CanvasDrawListener>> m_lis teners;
212 212
213 IntSize m_size; 213 IntSize m_size;
214 214
215 OwnPtrWillBeMember<CanvasRenderingContext> m_context; 215 OwnPtrWillBeMember<CanvasRenderingContext> m_context;
216 216
217 bool m_ignoreReset; 217 bool m_ignoreReset;
218 FloatRect m_dirtyRect; 218 FloatRect m_dirtyRect;
219 219
220 mutable intptr_t m_externallyAllocatedMemory; 220 mutable intptr_t m_externallyAllocatedMemory;
221 221
222 bool m_originClean; 222 bool m_originClean;
223 223
224 // It prevents HTMLCanvasElement::buffer() from continuously re-attempting t o allocate an imageBuffer 224 // It prevents HTMLCanvasElement::buffer() from continuously re-attempting t o allocate an imageBuffer
225 // after the first attempt failed. 225 // after the first attempt failed.
226 mutable bool m_didFailToCreateImageBuffer; 226 mutable bool m_didFailToCreateImageBuffer;
227 bool m_imageBufferIsClear; 227 bool m_imageBufferIsClear;
228 OwnPtr<ImageBuffer> m_imageBuffer; 228 OwnPtr<ImageBuffer> m_imageBuffer;
229 229
230 mutable RefPtr<Image> m_copiedImage; // FIXME: This is temporary for platfor ms that have to copy the image buffer to render (and for CSSCanvasValue). 230 mutable RefPtr<Image> m_copiedImage; // FIXME: This is temporary for platfor ms that have to copy the image buffer to render (and for CSSCanvasValue).
231 }; 231 };
232 232
233 } // namespace blink 233 } // namespace blink
234 234
235 #endif // HTMLCanvasElement_h 235 #endif // HTMLCanvasElement_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698