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

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

Issue 1938943002: Use v8::Object::CreateDataProperty() for object construction (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 "bindings/core/v8/V8IteratorResultValue.h" 5 #include "bindings/core/v8/V8IteratorResultValue.h"
6 6
7 namespace blink { 7 namespace blink {
8 8
9 v8::Local<v8::Object> v8IteratorResultValue(v8::Isolate* isolate, bool done, v8: :Local<v8::Value> value) 9 v8::Local<v8::Object> v8IteratorResultValue(v8::Isolate* isolate, bool done, v8: :Local<v8::Value> value)
10 { 10 {
11 v8::Local<v8::Object> result = v8::Object::New(isolate); 11 v8::Local<v8::Object> result = v8::Object::New(isolate);
12 if (value.IsEmpty()) 12 if (value.IsEmpty())
13 value = v8::Undefined(isolate); 13 value = v8::Undefined(isolate);
14 if (!v8CallBoolean(result->Set(isolate->GetCurrentContext(), v8String(isolat e, "done"), v8Boolean(done, isolate))) 14 if (!v8CallBoolean(result->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "done"), v8Boolean(done, isolate)))
15 || !v8CallBoolean(result->Set(isolate->GetCurrentContext(), v8String(iso late, "value"), value))) 15 || !v8CallBoolean(result->CreateDataProperty(isolate->GetCurrentContext( ), v8String(isolate, "value"), value)))
16 return v8::Local<v8::Object>(); 16 return v8::Local<v8::Object>();
17 return result; 17 return result;
18 } 18 }
19 19
20 v8::MaybeLocal<v8::Value> v8UnpackIteratorResult(ScriptState* scriptState, v8::L ocal<v8::Object> result, bool* done) 20 v8::MaybeLocal<v8::Value> v8UnpackIteratorResult(ScriptState* scriptState, v8::L ocal<v8::Object> result, bool* done)
21 { 21 {
22 v8::MaybeLocal<v8::Value> maybeValue = result->Get(scriptState->context(), v 8String(scriptState->isolate(), "value")); 22 v8::MaybeLocal<v8::Value> maybeValue = result->Get(scriptState->context(), v 8String(scriptState->isolate(), "value"));
23 if (maybeValue.IsEmpty()) 23 if (maybeValue.IsEmpty())
24 return maybeValue; 24 return maybeValue;
25 v8::Local<v8::Value> doneValue; 25 v8::Local<v8::Value> doneValue;
26 if (!v8Call(result->Get(scriptState->context(), v8String(scriptState->isolat e(), "done")), doneValue) 26 if (!v8Call(result->Get(scriptState->context(), v8String(scriptState->isolat e(), "done")), doneValue)
27 || !v8Call(doneValue->BooleanValue(scriptState->context()), *done)) { 27 || !v8Call(doneValue->BooleanValue(scriptState->context()), *done)) {
28 return v8::MaybeLocal<v8::Value>(); 28 return v8::MaybeLocal<v8::Value>();
29 } 29 }
30 return maybeValue; 30 return maybeValue;
31 } 31 }
32 32
33 } // namespace blink 33 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698