1 // Copyright (c) 2012 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 "sync/internal_api/public/base/progress_marker_map.h" 6 7 #include "base/json/json_writer.h" 8 #include "base/json/string_escape.h" 9 #include "base/values.h" 10 11 namespace syncer { 12 13 scoped_ptr<base::DictionaryValue> ProgressMarkerMapToValue( 14 const ProgressMarkerMap& marker_map) { 15 scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue()); 16 for (ProgressMarkerMap::const_iterator it = marker_map.begin(); 17 it != marker_map.end(); ++it) { 18 std::string printable_payload; 19 base::EscapeJSONString( 20 it->second, false /* put_in_quotes */, &printable_payload); 21 value->SetString(ModelTypeToString(it->first), printable_payload); 22 } 23 return value.Pass(); 24 } 25 26 } // namespace syncer 27