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

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/GeneratedCodeHelper.cpp

Issue 2301993002: binding: Introduces ExceptionToPromiseScope. (Closed)
Patch Set: . Created 4 years, 3 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 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 "bindings/core/v8/GeneratedCodeHelper.h" 5 #include "bindings/core/v8/GeneratedCodeHelper.h"
6 6
7 #include "bindings/core/v8/ExceptionMessages.h"
7 #include "bindings/core/v8/SerializedScriptValue.h" 8 #include "bindings/core/v8/SerializedScriptValue.h"
8 #include "bindings/core/v8/V8Binding.h" 9 #include "bindings/core/v8/V8Binding.h"
9 10
10 namespace blink { 11 namespace blink {
11 12
12 void v8ConstructorAttributeGetter(v8::Local<v8::Name> propertyName, const v8::Pr opertyCallbackInfo<v8::Value>& info) 13 void v8ConstructorAttributeGetter(v8::Local<v8::Name> propertyName, const v8::Pr opertyCallbackInfo<v8::Value>& info)
13 { 14 {
14 v8::Local<v8::Value> data = info.Data(); 15 v8::Local<v8::Value> data = info.Data();
15 DCHECK(data->IsExternal()); 16 DCHECK(data->IsExternal());
16 V8PerContextData* perContextData = V8PerContextData::from(info.Holder()->Cre ationContext()); 17 V8PerContextData* perContextData = V8PerContextData::from(info.Holder()->Cre ationContext());
17 if (!perContextData) 18 if (!perContextData)
18 return; 19 return;
19 v8SetReturnValue(info, perContextData->constructorForType(WrapperTypeInfo::u nwrap(data))); 20 v8SetReturnValue(info, perContextData->constructorForType(WrapperTypeInfo::u nwrap(data)));
20 } 21 }
21 22
22 v8::Local<v8::Value> v8Deserialize(v8::Isolate* isolate, PassRefPtr<SerializedSc riptValue> value) 23 v8::Local<v8::Value> v8Deserialize(v8::Isolate* isolate, PassRefPtr<SerializedSc riptValue> value)
23 { 24 {
24 if (value) 25 if (value)
25 return value->deserialize(); 26 return value->deserialize();
26 return v8::Null(isolate); 27 return v8::Null(isolate);
27 } 28 }
28 29
30 void throwMinimumArityError(ExceptionState& exceptionState, unsigned expected, u nsigned actual)
haraken 2016/09/02 16:24:13 These helper functions are just one line, so I'd p
Yuki 2016/09/05 07:19:25 I think we'd like to guarantee the following thing
haraken 2016/09/05 08:24:22 I don't know. Even if we adopt your definition of
31 {
32 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(expected , actual));
33 }
34
35 void throwInvalidArityError(ExceptionState& exceptionState, const char* validRan ge, unsigned actual)
36 {
37 exceptionState.throwTypeError(ExceptionMessages::invalidArity(validRange, ac tual));
38 }
39
40 void throwMinimumArityErrorForMethod(v8::Isolate* isolate, const char* interface , const char* method, unsigned expected, unsigned actual)
41 {
42 V8ThrowException::throwTypeError(isolate, ExceptionMessages::failedToExecute (method, interface, ExceptionMessages::notEnoughArguments(expected, actual)));
43 }
44
45 void throwMinimumArityErrorForConstructor(v8::Isolate* isolate, const char* inte rface, unsigned expected, unsigned actual)
46 {
47 V8ThrowException::throwTypeError(isolate, ExceptionMessages::failedToConstru ct(interface, ExceptionMessages::notEnoughArguments(expected, actual)));
48 }
49
29 } // namespace blink 50 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698