Index: third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp |
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp |
index 1f009f9ee6c3534ca2ed79d3dae2e64bb17337f5..77c16c242814aad201c3761e66992ca90c4b78fe 100644 |
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp |
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp |
@@ -244,6 +244,20 @@ void V8TestDictionary::toImpl(v8::Isolate* isolate, v8::Local<v8::Value> v8Value |
impl.setEventTargetMember(eventTargetMember); |
} |
+ v8::Local<v8::Value> garbageCollectedRecordMemberValue; |
+ if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "garbageCollectedRecordMember")).ToLocal(&garbageCollectedRecordMemberValue)) { |
+ exceptionState.rethrowV8Exception(block.Exception()); |
+ return; |
+ } |
+ if (garbageCollectedRecordMemberValue.IsEmpty() || garbageCollectedRecordMemberValue->IsUndefined()) { |
+ // Do nothing. |
+ } else { |
+ HeapVector<std::pair<String, Member<TestObject>>> garbageCollectedRecordMember = NativeValueTraits<IDLRecord<IDLUSVString, TestObject>>::nativeValue(isolate, garbageCollectedRecordMemberValue, exceptionState); |
+ if (exceptionState.hadException()) |
+ return; |
+ impl.setGarbageCollectedRecordMember(garbageCollectedRecordMember); |
+ } |
+ |
v8::Local<v8::Value> internalDictionarySequenceMemberValue; |
if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "internalDictionarySequenceMember")).ToLocal(&internalDictionarySequenceMemberValue)) { |
exceptionState.rethrowV8Exception(block.Exception()); |
@@ -337,6 +351,20 @@ void V8TestDictionary::toImpl(v8::Isolate* isolate, v8::Local<v8::Value> v8Value |
impl.setPrefixGetMember(prefixGetMember); |
} |
+ v8::Local<v8::Value> recordMemberValue; |
+ if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "recordMember")).ToLocal(&recordMemberValue)) { |
+ exceptionState.rethrowV8Exception(block.Exception()); |
+ return; |
+ } |
+ if (recordMemberValue.IsEmpty() || recordMemberValue->IsUndefined()) { |
+ // Do nothing. |
+ } else { |
+ Vector<std::pair<String, int8_t>> recordMember = NativeValueTraits<IDLRecord<IDLByteString, IDLByte>>::nativeValue(isolate, recordMemberValue, exceptionState); |
+ if (exceptionState.hadException()) |
+ return; |
+ impl.setRecordMember(recordMember); |
+ } |
+ |
v8::Local<v8::Value> restrictedDoubleMemberValue; |
if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "restrictedDoubleMember")).ToLocal(&restrictedDoubleMemberValue)) { |
exceptionState.rethrowV8Exception(block.Exception()); |
@@ -665,6 +693,11 @@ bool toV8TestDictionary(const TestDictionary& impl, v8::Local<v8::Object> dictio |
return false; |
} |
+ if (impl.hasGarbageCollectedRecordMember()) { |
+ if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "garbageCollectedRecordMember"), ToV8(impl.garbageCollectedRecordMember(), creationContext, isolate)))) |
+ return false; |
+ } |
+ |
if (impl.hasInternalDictionarySequenceMember()) { |
if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "internalDictionarySequenceMember"), ToV8(impl.internalDictionarySequenceMember(), creationContext, isolate)))) |
return false; |
@@ -707,6 +740,11 @@ bool toV8TestDictionary(const TestDictionary& impl, v8::Local<v8::Object> dictio |
return false; |
} |
+ if (impl.hasRecordMember()) { |
+ if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "recordMember"), ToV8(impl.recordMember(), creationContext, isolate)))) |
+ return false; |
+ } |
+ |
if (impl.hasRestrictedDoubleMember()) { |
if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "restrictedDoubleMember"), v8::Number::New(isolate, impl.restrictedDoubleMember())))) |
return false; |