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()16 DictionaryBuilder::DictionaryBuilder() : dict_(new base::DictionaryValue) {}
17 
DictionaryBuilder(const base::DictionaryValue & init)18 DictionaryBuilder::DictionaryBuilder(const base::DictionaryValue& init)
19     : dict_(init.CreateDeepCopy()) {}
20 
~DictionaryBuilder()21 DictionaryBuilder::~DictionaryBuilder() {}
22 
ToJSON() const23 std::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()32 ListBuilder::ListBuilder() : list_(new base::ListValue) {}
ListBuilder(const base::ListValue & init)33 ListBuilder::ListBuilder(const base::ListValue& init)
34     : list_(init.CreateDeepCopy()) {}
~ListBuilder()35 ListBuilder::~ListBuilder() {}
36 
37 }  // namespace extensions
38