Change base::Value::ListStorage to std::vector<base::Value>

This CL is a first step to inlining base::ListValue. It is proposed to use an
std::vector<base::Value> as the underlying ListStorage. This CL implements the
change and updates the code accordingly.

TBR=bajones@chromium.org, dbeam@chromium.org, stevenjb@chromium.org
BUG=646113
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2740143002
Cr-Original-Commit-Position: refs/heads/master@{#463618}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ebab0defaea3aed024283a64088ebc0cd352b47f
diff --git a/tools/gn/command_desc.cc b/tools/gn/command_desc.cc
index 8e4ebd7..8dbe6de 100644
--- a/tools/gn/command_desc.cc
+++ b/tools/gn/command_desc.cc
@@ -39,7 +39,7 @@
   bool bool_value = false;
   if (value->GetAsList(&list_value)) {
     for (const auto& v : *list_value) {
-      PrintValue(v.get(), indentLevel);
+      PrintValue(&v, indentLevel);
     }
   } else if (value->GetAsString(&string_value)) {
     OutputString(indent);
diff --git a/tools/gn/commands.cc b/tools/gn/commands.cc
index 39dd079..e9691aa 100644
--- a/tools/gn/commands.cc
+++ b/tools/gn/commands.cc
@@ -515,7 +515,7 @@
   FilterAndPrintTargets(targets, &tmp);
   for (const auto& value : tmp) {
     std::string string;
-    value->GetAsString(&string);
+    value.GetAsString(&string);
     if (indent)
       OutputString("  ");
     OutputString(string);