| Index: third_party/WebKit/Source/bindings/core/v8/JSONValuesForV8.cpp
|
| diff --git a/third_party/WebKit/Source/bindings/core/v8/JSONValuesForV8.cpp b/third_party/WebKit/Source/bindings/core/v8/JSONValuesForV8.cpp
|
| index a386698bf18e4ad2871ef07faf5089ad14e0eec4..92f24e8dd775c6d5898245357f8252da258e44a4 100644
|
| --- a/third_party/WebKit/Source/bindings/core/v8/JSONValuesForV8.cpp
|
| +++ b/third_party/WebKit/Source/bindings/core/v8/JSONValuesForV8.cpp
|
| @@ -10,86 +10,6 @@
|
|
|
| namespace blink {
|
|
|
| -static String coreString(v8::Local<v8::String> v8String) {
|
| - int length = v8String->Length();
|
| - UChar* buffer;
|
| - String result = String::createUninitialized(length, buffer);
|
| - v8String->Write(reinterpret_cast<uint16_t*>(buffer), 0, length);
|
| - return result;
|
| -}
|
| -
|
| -std::unique_ptr<JSONValue> toJSONValue(v8::Local<v8::Context> context,
|
| - v8::Local<v8::Value> value,
|
| - int maxDepth) {
|
| - if (value.IsEmpty()) {
|
| - ASSERT_NOT_REACHED();
|
| - return nullptr;
|
| - }
|
| -
|
| - if (!maxDepth)
|
| - return nullptr;
|
| - maxDepth--;
|
| -
|
| - if (value->IsNull() || value->IsUndefined())
|
| - return JSONValue::null();
|
| - if (value->IsBoolean())
|
| - return JSONBasicValue::create(value.As<v8::Boolean>()->Value());
|
| - if (value->IsNumber())
|
| - return JSONBasicValue::create(value.As<v8::Number>()->Value());
|
| - if (value->IsString())
|
| - return JSONString::create(coreString(value.As<v8::String>()));
|
| - if (value->IsArray()) {
|
| - v8::Local<v8::Array> array = value.As<v8::Array>();
|
| - std::unique_ptr<JSONArray> inspectorArray = JSONArray::create();
|
| - uint32_t length = array->Length();
|
| - for (uint32_t i = 0; i < length; i++) {
|
| - v8::Local<v8::Value> value;
|
| - if (!array->Get(context, i).ToLocal(&value))
|
| - return nullptr;
|
| - std::unique_ptr<JSONValue> element =
|
| - toJSONValue(context, value, maxDepth);
|
| - if (!element)
|
| - return nullptr;
|
| - inspectorArray->pushValue(std::move(element));
|
| - }
|
| - return std::move(inspectorArray);
|
| - }
|
| - if (value->IsObject()) {
|
| - std::unique_ptr<JSONObject> jsonObject = JSONObject::create();
|
| - v8::Local<v8::Object> object = v8::Local<v8::Object>::Cast(value);
|
| - v8::Local<v8::Array> propertyNames;
|
| - if (!object->GetPropertyNames(context).ToLocal(&propertyNames))
|
| - return nullptr;
|
| - uint32_t length = propertyNames->Length();
|
| - for (uint32_t i = 0; i < length; i++) {
|
| - v8::Local<v8::Value> name;
|
| - if (!propertyNames->Get(context, i).ToLocal(&name))
|
| - return nullptr;
|
| - // FIXME(yurys): v8::Object should support GetOwnPropertyNames
|
| - if (name->IsString()) {
|
| - v8::Maybe<bool> hasRealNamedProperty = object->HasRealNamedProperty(
|
| - context, v8::Local<v8::String>::Cast(name));
|
| - if (!hasRealNamedProperty.IsJust() || !hasRealNamedProperty.FromJust())
|
| - continue;
|
| - }
|
| - v8::Local<v8::String> propertyName;
|
| - if (!name->ToString(context).ToLocal(&propertyName))
|
| - continue;
|
| - v8::Local<v8::Value> property;
|
| - if (!object->Get(context, name).ToLocal(&property))
|
| - return nullptr;
|
| - std::unique_ptr<JSONValue> propertyValue =
|
| - toJSONValue(context, property, maxDepth);
|
| - if (!propertyValue)
|
| - return nullptr;
|
| - jsonObject->setValue(coreString(propertyName), std::move(propertyValue));
|
| - }
|
| - return std::move(jsonObject);
|
| - }
|
| - ASSERT_NOT_REACHED();
|
| - return nullptr;
|
| -}
|
| -
|
| v8::Local<v8::Value> fromJSONString(ScriptState* scriptState,
|
| const String& stringifiedJSON,
|
| ExceptionState& exceptionState) {
|
|
|