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

Side by Side Diff: third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp

Issue 2584643002: Revamp OffscreenCanvas commit flow (Closed)
Patch Set: Furnish Created 4 years 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "core/offscreencanvas/OffscreenCanvas.h" 5 #include "core/offscreencanvas/OffscreenCanvas.h"
6 6
7 #include "core/dom/ExceptionCode.h" 7 #include "core/dom/ExceptionCode.h"
8 #include "core/fileapi/Blob.h" 8 #include "core/fileapi/Blob.h"
9 #include "core/html/ImageData.h" 9 #include "core/html/ImageData.h"
10 #include "core/html/canvas/CanvasAsyncBlobCreator.h" 10 #include "core/html/canvas/CanvasAsyncBlobCreator.h"
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 bool OffscreenCanvas::isAccelerated() const { 181 bool OffscreenCanvas::isAccelerated() const {
182 return m_context && m_context->isAccelerated(); 182 return m_context && m_context->isAccelerated();
183 } 183 }
184 184
185 OffscreenCanvasFrameDispatcher* OffscreenCanvas::getOrCreateFrameDispatcher() { 185 OffscreenCanvasFrameDispatcher* OffscreenCanvas::getOrCreateFrameDispatcher() {
186 if (!m_frameDispatcher) { 186 if (!m_frameDispatcher) {
187 // The frame dispatcher connects the current thread of OffscreenCanvas 187 // The frame dispatcher connects the current thread of OffscreenCanvas
188 // (either main or worker) to the browser process and remains unchanged 188 // (either main or worker) to the browser process and remains unchanged
189 // throughout the lifetime of this OffscreenCanvas. 189 // throughout the lifetime of this OffscreenCanvas.
190 m_frameDispatcher = WTF::wrapUnique(new OffscreenCanvasFrameDispatcherImpl( 190 m_frameDispatcher = WTF::wrapUnique(new OffscreenCanvasFrameDispatcherImpl(
191 m_clientId, m_sinkId, m_localId, m_nonceHigh, m_nonceLow, 191 m_clientId, m_sinkId, m_placeholderCanvasId, m_size.width(),
192 m_placeholderCanvasId, m_size.width(), m_size.height())); 192 m_size.height()));
193 } 193 }
194 return m_frameDispatcher.get(); 194 return m_frameDispatcher.get();
195 } 195 }
196 196
197 ScriptPromise OffscreenCanvas::convertToBlob(ScriptState* scriptState, 197 ScriptPromise OffscreenCanvas::convertToBlob(ScriptState* scriptState,
198 const ImageEncodeOptions& options, 198 const ImageEncodeOptions& options,
199 ExceptionState& exceptionState) { 199 ExceptionState& exceptionState) {
200 if (this->isNeutered()) { 200 if (this->isNeutered()) {
201 exceptionState.throwDOMException(InvalidStateError, 201 exceptionState.throwDOMException(InvalidStateError,
202 "OffscreenCanvas object is detached."); 202 "OffscreenCanvas object is detached.");
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 return resolver->promise(); 243 return resolver->promise();
244 } 244 }
245 245
246 DEFINE_TRACE(OffscreenCanvas) { 246 DEFINE_TRACE(OffscreenCanvas) {
247 visitor->trace(m_context); 247 visitor->trace(m_context);
248 visitor->trace(m_executionContext); 248 visitor->trace(m_executionContext);
249 EventTargetWithInlineData::trace(visitor); 249 EventTargetWithInlineData::trace(visitor);
250 } 250 }
251 251
252 } // namespace blink 252 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698