1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "extensions/common/value_builder.h" 6 7 #include <utility> 8 9 #include "base/json/json_writer.h" 10 #include "base/strings/string_piece.h" 11 12 namespace extensions { 13 14 // DictionaryBuilder 15 DictionaryBuilder()16DictionaryBuilder::DictionaryBuilder() : dict_(new base::DictionaryValue) {} 17 DictionaryBuilder(const base::DictionaryValue & init)18DictionaryBuilder::DictionaryBuilder(const base::DictionaryValue& init) 19 : dict_(init.CreateDeepCopy()) {} 20 ~DictionaryBuilder()21DictionaryBuilder::~DictionaryBuilder() {} 22 ToJSON() const23std::string DictionaryBuilder::ToJSON() const { 24 std::string json; 25 base::JSONWriter::WriteWithOptions( 26 *dict_, base::JSONWriter::OPTIONS_PRETTY_PRINT, &json); 27 return json; 28 } 29 30 // ListBuilder 31 ListBuilder()32ListBuilder::ListBuilder() : list_(new base::ListValue) {} ListBuilder(const base::ListValue & init)33ListBuilder::ListBuilder(const base::ListValue& init) 34 : list_(init.CreateDeepCopy()) {} ~ListBuilder()35ListBuilder::~ListBuilder() {} 36 37 } // namespace extensions 38