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

Unified Diff: Source/bindings/core/v8/ScriptValueSerializer.cpp

Issue 1067763002: bindings: Use Maybe version of Get in bindings/ (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: Source/bindings/core/v8/ScriptValueSerializer.cpp
diff --git a/Source/bindings/core/v8/ScriptValueSerializer.cpp b/Source/bindings/core/v8/ScriptValueSerializer.cpp
index 8436a7a0a49b27dda2210c442d715a933de39a92..46fc8fcae94b09e6905530719a01812b0bbbb013 100644
--- a/Source/bindings/core/v8/ScriptValueSerializer.cpp
+++ b/Source/bindings/core/v8/ScriptValueSerializer.cpp
@@ -496,11 +496,9 @@ ScriptValueSerializer::StateBase* ScriptValueSerializer::AbstractObjectState::se
{
while (m_index < m_propertyNames->Length()) {
if (!m_nameDone) {
- v8::Local<v8::Value> propertyName = m_propertyNames->Get(m_index);
- if (StateBase* newState = serializer.checkException(this))
- return newState;
- if (propertyName.IsEmpty())
- return serializer.handleError(InputError, "Empty property names cannot be cloned.", this);
+ v8::Local<v8::Value> propertyName;
+ if (!m_propertyNames->Get(serializer.context(), m_index).ToLocal(&propertyName))
+ return serializer.handleError(JSException, "", this);
Yuki 2015/04/07 07:37:57 Can we add any descriptions for the error?
bashi 2015/04/07 08:47:01 Done.
bool hasStringProperty = propertyName->IsString() && v8CallBoolean(composite()->HasRealNamedProperty(serializer.context(), propertyName.As<v8::String>()));
if (StateBase* newState = serializer.checkException(this))
return newState;
@@ -520,9 +518,9 @@ ScriptValueSerializer::StateBase* ScriptValueSerializer::AbstractObjectState::se
if (StateBase* newState = serializer.doSerialize(m_propertyName, this))
return newState;
}
- v8::Local<v8::Value> value = composite()->Get(m_propertyName);
- if (StateBase* newState = serializer.checkException(this))
- return newState;
+ v8::Local<v8::Value> value;
+ if (!composite()->Get(serializer.context(), m_propertyName).ToLocal(&value))
+ return serializer.handleError(JSException, "", this);
Yuki 2015/04/07 07:37:57 Can we add any descriptions for the error?
bashi 2015/04/07 08:47:01 Done.
m_nameDone = false;
m_propertyName.Clear();
++m_index;
@@ -553,7 +551,9 @@ ScriptValueSerializer::StateBase* ScriptValueSerializer::ObjectState::objectDone
ScriptValueSerializer::StateBase* ScriptValueSerializer::DenseArrayState::advance(ScriptValueSerializer& serializer)
{
while (m_arrayIndex < m_arrayLength) {
- v8::Local<v8::Value> value = composite().As<v8::Array>()->Get(m_arrayIndex);
+ v8::Local<v8::Value> value;
+ if (!composite().As<v8::Array>()->Get(serializer.context(), m_arrayIndex).ToLocal(&value))
+ return serializer.handleError(JSException, "", this);
Yuki 2015/04/07 07:37:57 Can we add any descriptions for the error?
bashi 2015/04/07 08:47:01 Done.
m_arrayIndex++;
if (StateBase* newState = serializer.checkException(this))
return newState;

Powered by Google App Engine
This is Rietveld 408576698