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

Side by Side Diff: third_party/WebKit/Source/core/geometry/DOMMatrix.cpp

Issue 2868953002: Stop accepting string constructor of DOMMatrix on workers (Closed)
Patch Set: Created 3 years, 7 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/geometry/DOMMatrix.h" 5 #include "core/geometry/DOMMatrix.h"
6 6
7 namespace blink { 7 namespace blink {
8 8
9 DOMMatrix* DOMMatrix::Create(ExceptionState& exception_state) { 9 DOMMatrix* DOMMatrix::Create(ExecutionContext* execution_context,
10 ExceptionState& exception_state) {
10 return new DOMMatrix(TransformationMatrix()); 11 return new DOMMatrix(TransformationMatrix());
11 } 12 }
12 13
13 DOMMatrix* DOMMatrix::Create(StringOrUnrestrictedDoubleSequence& init, 14 DOMMatrix* DOMMatrix::Create(ExecutionContext* execution_context,
15 StringOrUnrestrictedDoubleSequence& init,
14 ExceptionState& exception_state) { 16 ExceptionState& exception_state) {
15 if (init.isString()) { 17 if (init.isString()) {
18 if (execution_context->IsWorkerOrWorkletGlobalScope()) {
foolip 2017/05/11 18:59:47 To stay pedantically close to the spec and leave n
fserb 2017/05/11 19:13:55 yes! That's the thing we were not sure. Thanks :)
19 exception_state.ThrowTypeError(
20 "String constructor can't be used on workers.");
21 return nullptr;
22 }
23
16 DOMMatrix* matrix = new DOMMatrix(TransformationMatrix()); 24 DOMMatrix* matrix = new DOMMatrix(TransformationMatrix());
17 matrix->SetMatrixValueFromString(init.getAsString(), exception_state); 25 matrix->SetMatrixValueFromString(init.getAsString(), exception_state);
18 return matrix; 26 return matrix;
19 } 27 }
20 28
21 if (init.isUnrestrictedDoubleSequence()) { 29 if (init.isUnrestrictedDoubleSequence()) {
22 const Vector<double>& sequence = init.getAsUnrestrictedDoubleSequence(); 30 const Vector<double>& sequence = init.getAsUnrestrictedDoubleSequence();
23 if (sequence.size() != 6 && sequence.size() != 16) { 31 if (sequence.size() != 6 && sequence.size() != 16) {
24 exception_state.ThrowTypeError( 32 exception_state.ThrowTypeError(
25 "The sequence must contain 6 elements for a 2D matrix or 16 elements " 33 "The sequence must contain 6 elements for a 2D matrix or 16 elements "
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 return this; 275 return this;
268 } 276 }
269 277
270 DOMMatrix* DOMMatrix::setMatrixValue(const String& input_string, 278 DOMMatrix* DOMMatrix::setMatrixValue(const String& input_string,
271 ExceptionState& exception_state) { 279 ExceptionState& exception_state) {
272 SetMatrixValueFromString(input_string, exception_state); 280 SetMatrixValueFromString(input_string, exception_state);
273 return this; 281 return this;
274 } 282 }
275 283
276 } // namespace blink 284 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698