diff options
Diffstat (limited to 'chromium/components/bookmarks/browser/bookmark_codec.cc')
-rw-r--r-- | chromium/components/bookmarks/browser/bookmark_codec.cc | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/chromium/components/bookmarks/browser/bookmark_codec.cc b/chromium/components/bookmarks/browser/bookmark_codec.cc index abbb1cd7b64..97ede4fda55 100644 --- a/chromium/components/bookmarks/browser/bookmark_codec.cc +++ b/chromium/components/bookmarks/browser/bookmark_codec.cc @@ -56,7 +56,7 @@ BookmarkCodec::BookmarkCodec() BookmarkCodec::~BookmarkCodec() {} -base::Value* BookmarkCodec::Encode(BookmarkModel* model) { +std::unique_ptr<base::Value> BookmarkCodec::Encode(BookmarkModel* model) { return Encode(model->bookmark_bar_node(), model->other_node(), model->mobile_node(), @@ -64,7 +64,7 @@ base::Value* BookmarkCodec::Encode(BookmarkModel* model) { model->root_node()->sync_transaction_version()); } -base::Value* BookmarkCodec::Encode( +std::unique_ptr<base::Value> BookmarkCodec::Encode( const BookmarkNode* bookmark_bar_node, const BookmarkNode* other_folder_node, const BookmarkNode* mobile_folder_node, @@ -72,7 +72,7 @@ base::Value* BookmarkCodec::Encode( int64_t sync_transaction_version) { ids_reassigned_ = false; InitializeChecksum(); - base::DictionaryValue* roots = new base::DictionaryValue(); + auto roots = base::MakeUnique<base::DictionaryValue>(); roots->Set(kRootFolderNameKey, EncodeNode(bookmark_bar_node)); roots->Set(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node)); roots->Set(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node)); @@ -83,15 +83,15 @@ base::Value* BookmarkCodec::Encode( roots->SetString(kSyncTransactionVersion, base::Int64ToString(sync_transaction_version)); } - base::DictionaryValue* main = new base::DictionaryValue(); + auto main = base::MakeUnique<base::DictionaryValue>(); main->SetInteger(kVersionKey, kCurrentVersion); FinalizeChecksum(); // We are going to store the computed checksum. So set stored checksum to be // the same as computed checksum. stored_checksum_ = computed_checksum_; - main->Set(kChecksumKey, new base::Value(computed_checksum_)); - main->Set(kRootsKey, roots); - return main; + main->SetString(kChecksumKey, computed_checksum_); + main->Set(kRootsKey, std::move(roots)); + return std::move(main); } bool BookmarkCodec::Decode(BookmarkNode* bb_node, @@ -137,10 +137,10 @@ std::unique_ptr<base::Value> BookmarkCodec::EncodeNode( base::Int64ToString(node->date_folder_modified().ToInternalValue())); UpdateChecksumWithFolderNode(id, title); - base::ListValue* child_values = new base::ListValue(); - value->Set(kChildrenKey, child_values); + auto child_values = base::MakeUnique<base::ListValue>(); for (int i = 0; i < node->child_count(); ++i) child_values->Append(EncodeNode(node->GetChild(i))); + value->Set(kChildrenKey, std::move(child_values)); } const BookmarkNode::MetaInfoMap* meta_info_map = node->GetMetaInfoMap(); if (meta_info_map) @@ -153,14 +153,14 @@ std::unique_ptr<base::Value> BookmarkCodec::EncodeNode( return std::move(value); } -base::Value* BookmarkCodec::EncodeMetaInfo( +std::unique_ptr<base::Value> BookmarkCodec::EncodeMetaInfo( const BookmarkNode::MetaInfoMap& meta_info_map) { - base::DictionaryValue* meta_info = new base::DictionaryValue; + auto meta_info = base::MakeUnique<base::DictionaryValue>(); for (BookmarkNode::MetaInfoMap::const_iterator it = meta_info_map.begin(); it != meta_info_map.end(); ++it) { meta_info->SetStringWithoutPathExpansion(it->first, it->second); } - return meta_info; + return std::move(meta_info); } bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node, @@ -433,6 +433,11 @@ void BookmarkCodec::DecodeMetaInfoHelper( const std::string& prefix, BookmarkNode::MetaInfoMap* meta_info_map) { for (base::DictionaryValue::Iterator it(dict); !it.IsAtEnd(); it.Advance()) { + // Deprecated keys should be excluded after removing enhanced bookmarks + // feature crrev.com/1638413003. + if (base::StartsWith(it.key(), "stars.", base::CompareCase::SENSITIVE)) + continue; + if (it.value().IsType(base::Value::Type::DICTIONARY)) { const base::DictionaryValue* subdict; it.value().GetAsDictionary(&subdict); |