| Index: ui/app_list/views/app_list_main_view.cc
|
| diff --git a/ui/app_list/views/app_list_main_view.cc b/ui/app_list/views/app_list_main_view.cc
|
| index 792c5bd8355bdfa59d059de8d239026b526b92cb..10faa0a3fa0ef2dcb3f86f81685833d560cb1508 100644
|
| --- a/ui/app_list/views/app_list_main_view.cc
|
| +++ b/ui/app_list/views/app_list_main_view.cc
|
| @@ -148,6 +148,9 @@ void AppListMainView::SetDragAndDropHostOfCurrentAppList(
|
|
|
| void AppListMainView::PreloadIcons(PaginationModel* pagination_model,
|
| gfx::NativeView parent) {
|
| + if (model_->GetNumAppPages() == 0)
|
| + return;
|
| +
|
| ui::ScaleFactor scale_factor = ui::SCALE_FACTOR_100P;
|
| if (parent)
|
| scale_factor = ui::GetScaleFactorForNativeView(parent);
|
| @@ -155,17 +158,16 @@ void AppListMainView::PreloadIcons(PaginationModel* pagination_model,
|
| float scale = ui::GetImageScale(scale_factor);
|
| // |pagination_model| could have -1 as the initial selected page and
|
| // assumes first page (i.e. index 0) will be used in this case.
|
| - const int selected_page = std::max(0, pagination_model->selected_page());
|
| -
|
| - const int tiles_per_page = kPreferredCols * kPreferredRows;
|
| - const int start_model_index = selected_page * tiles_per_page;
|
| - const int end_model_index = std::min(
|
| - static_cast<int>(model_->apps()->item_count()),
|
| - start_model_index + tiles_per_page);
|
| -
|
| + size_t selected_page = 0;
|
| + if (pagination_model->selected_page() > 0) {
|
| + selected_page = static_cast<size_t>(pagination_model->selected_page());
|
| + selected_page = std::min(selected_page, model_->GetNumAppPages() - 1);
|
| + }
|
| pending_icon_loaders_.clear();
|
| - for (int i = start_model_index; i < end_model_index; ++i) {
|
| - AppListItemModel* item = model_->apps()->GetItemAt(i);
|
| + const AppListModel::AppItems& apps =
|
| + model_->GetAppItemsForPage(selected_page);
|
| + for (size_t i = 0; i < apps.item_count(); ++i) {
|
| + AppListItemModel* item = model_->GetItemAt(selected_page, i);
|
| if (item->icon().HasRepresentation(scale))
|
| continue;
|
|
|
|
|