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

Unified Diff: src/inspector/string-util.cc

Issue 2467853003: [inspector] migrate Runtime to new style (Closed)
Patch Set: addressed comments Created 4 years, 1 month 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
« no previous file with comments | « src/inspector/string-util.h ('k') | src/inspector/v8-console.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/inspector/string-util.cc
diff --git a/src/inspector/string-util.cc b/src/inspector/string-util.cc
index e6b83a5d7db6f87e5a6c3dcaa2da77d19b67e7f4..e6ad5d0c5b5be8160baf9305eb4993af22f695d1 100644
--- a/src/inspector/string-util.cc
+++ b/src/inspector/string-util.cc
@@ -111,94 +111,6 @@ std::unique_ptr<protocol::Value> parseJSON(const String16& string) {
} // namespace protocol
-std::unique_ptr<protocol::Value> toProtocolValue(protocol::String* errorString,
- v8::Local<v8::Context> context,
- v8::Local<v8::Value> value,
- int maxDepth) {
- if (value.IsEmpty()) {
- UNREACHABLE();
- return nullptr;
- }
-
- if (!maxDepth) {
- *errorString = "Object reference chain is too long";
- return nullptr;
- }
- maxDepth--;
-
- if (value->IsNull() || value->IsUndefined()) return protocol::Value::null();
- if (value->IsBoolean())
- return protocol::FundamentalValue::create(value.As<v8::Boolean>()->Value());
- if (value->IsNumber()) {
- double doubleValue = value.As<v8::Number>()->Value();
- int intValue = static_cast<int>(doubleValue);
- if (intValue == doubleValue)
- return protocol::FundamentalValue::create(intValue);
- return protocol::FundamentalValue::create(doubleValue);
- }
- if (value->IsString())
- return protocol::StringValue::create(
- toProtocolString(value.As<v8::String>()));
- if (value->IsArray()) {
- v8::Local<v8::Array> array = value.As<v8::Array>();
- std::unique_ptr<protocol::ListValue> inspectorArray =
- protocol::ListValue::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)) {
- *errorString = "Internal error";
- return nullptr;
- }
- std::unique_ptr<protocol::Value> element =
- toProtocolValue(errorString, context, value, maxDepth);
- if (!element) return nullptr;
- inspectorArray->pushValue(std::move(element));
- }
- return std::move(inspectorArray);
- }
- if (value->IsObject()) {
- std::unique_ptr<protocol::DictionaryValue> jsonObject =
- protocol::DictionaryValue::create();
- v8::Local<v8::Object> object = v8::Local<v8::Object>::Cast(value);
- v8::Local<v8::Array> propertyNames;
- if (!object->GetPropertyNames(context).ToLocal(&propertyNames)) {
- *errorString = "Internal error";
- 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)) {
- *errorString = "Internal error";
- 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)) {
- *errorString = "Internal error";
- return nullptr;
- }
- std::unique_ptr<protocol::Value> propertyValue =
- toProtocolValue(errorString, context, property, maxDepth);
- if (!propertyValue) return nullptr;
- jsonObject->setValue(toProtocolString(propertyName),
- std::move(propertyValue));
- }
- return std::move(jsonObject);
- }
- *errorString = "Object couldn't be returned by value";
- return nullptr;
-}
-
// static
std::unique_ptr<StringBuffer> StringBuffer::create(const StringView& string) {
String16 owner = toString16(string);
« no previous file with comments | « src/inspector/string-util.h ('k') | src/inspector/v8-console.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698