Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 |
| OLD | NEW |