X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fchrome%2Fbrowser%2Fui%2Fapp_list%2Ffast_show_pickler.cc;h=c121ded54787ee91a81a23ffa4f304c57474cb89;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=d9568b8d6868e44fdfada4c043dd9ba978107a62;hpb=d1e23c6ec4202b125fc446349b2230d4cd978d86;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/chrome/browser/ui/app_list/fast_show_pickler.cc b/src/chrome/browser/ui/app_list/fast_show_pickler.cc index d9568b8..c121ded 100644 --- a/src/chrome/browser/ui/app_list/fast_show_pickler.cc +++ b/src/chrome/browser/ui/app_list/fast_show_pickler.cc @@ -185,6 +185,7 @@ bool PickleAppListItem(Pickle* pickle, AppListItem* item) { void CopyOverItem(AppListItem* src_item, AppListItem* dest_item) { dest_item->SetTitleAndFullName(src_item->title(), src_item->full_name()); dest_item->SetIcon(src_item->icon(), src_item->has_shadow()); + // Do not set folder_id, pass that to AppListModel::AddItemToFolder() instead. } } // namespace @@ -208,12 +209,12 @@ scoped_ptr FastShowPickler::PickleAppListModelForFastShow( } void FastShowPickler::CopyOver(AppListModel* src, AppListModel* dest) { - dest->item_list()->DeleteItemsByType(NULL /* all items */); + DCHECK_EQ(0u, dest->item_list()->item_count()); for (size_t i = 0; i < src->item_list()->item_count(); i++) { AppListItem* src_item = src->item_list()->item_at(i); - AppListItem* dest_item = new AppListItem(src_item->id()); - CopyOverItem(src_item, dest_item); - dest->item_list()->AddItem(dest_item); + scoped_ptr dest_item(new AppListItem(src_item->id())); + CopyOverItem(src_item, dest_item.get()); + dest->AddItemToFolder(dest_item.Pass(), src_item->folder_id()); } } @@ -234,7 +235,8 @@ FastShowPickler::UnpickleAppListModelForFastShow(Pickle* pickle) { scoped_ptr item(UnpickleAppListItem(&it).Pass()); if (!item) return scoped_ptr(); - model->item_list()->AddItem(item.release()); + std::string folder_id = item->folder_id(); + model->AddItemToFolder(item.Pass(), folder_id); } return model.Pass();