OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/app_list/views/app_list_main_view.h" | 5 #include "ui/app_list/views/app_list_main_view.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 void AppListMainView::SetDragAndDropHostOfCurrentAppList( | 181 void AppListMainView::SetDragAndDropHostOfCurrentAppList( |
182 ApplicationDragAndDropHost* drag_and_drop_host) { | 182 ApplicationDragAndDropHost* drag_and_drop_host) { |
183 contents_view_->SetDragAndDropHostOfCurrentAppList(drag_and_drop_host); | 183 contents_view_->SetDragAndDropHostOfCurrentAppList(drag_and_drop_host); |
184 } | 184 } |
185 | 185 |
186 bool AppListMainView::ShouldCenterWindow() const { | 186 bool AppListMainView::ShouldCenterWindow() const { |
187 return delegate_->ShouldCenterWindow(); | 187 return delegate_->ShouldCenterWindow(); |
188 } | 188 } |
189 | 189 |
190 void AppListMainView::PreloadIcons(gfx::NativeView parent) { | 190 void AppListMainView::PreloadIcons(gfx::NativeView parent) { |
191 ui::ScaleFactor scale_factor = ui::SCALE_FACTOR_100P; | 191 float scale_factor = 1.0f; |
192 if (parent) | 192 if (parent) |
193 scale_factor = ui::GetScaleFactorForNativeView(parent); | 193 scale_factor = ui::GetScaleFactorForNativeView(parent); |
194 | 194 |
195 float scale = ui::GetImageScale(scale_factor); | |
196 // |pagination_model| could have -1 as the initial selected page and | 195 // |pagination_model| could have -1 as the initial selected page and |
197 // assumes first page (i.e. index 0) will be used in this case. | 196 // assumes first page (i.e. index 0) will be used in this case. |
198 const int selected_page = std::max(0, pagination_model_->selected_page()); | 197 const int selected_page = std::max(0, pagination_model_->selected_page()); |
199 | 198 |
200 const int tiles_per_page = kPreferredCols * kPreferredRows; | 199 const int tiles_per_page = kPreferredCols * kPreferredRows; |
201 const int start_model_index = selected_page * tiles_per_page; | 200 const int start_model_index = selected_page * tiles_per_page; |
202 const int end_model_index = | 201 const int end_model_index = |
203 std::min(static_cast<int>(model_->top_level_item_list()->item_count()), | 202 std::min(static_cast<int>(model_->top_level_item_list()->item_count()), |
204 start_model_index + tiles_per_page); | 203 start_model_index + tiles_per_page); |
205 | 204 |
206 pending_icon_loaders_.clear(); | 205 pending_icon_loaders_.clear(); |
207 for (int i = start_model_index; i < end_model_index; ++i) { | 206 for (int i = start_model_index; i < end_model_index; ++i) { |
208 AppListItem* item = model_->top_level_item_list()->item_at(i); | 207 AppListItem* item = model_->top_level_item_list()->item_at(i); |
209 if (item->icon().HasRepresentation(scale)) | 208 if (item->icon().HasRepresentation(scale_factor)) |
210 continue; | 209 continue; |
211 | 210 |
212 pending_icon_loaders_.push_back(new IconLoader(this, item, scale)); | 211 pending_icon_loaders_.push_back(new IconLoader(this, item, scale_factor)); |
213 } | 212 } |
214 } | 213 } |
215 | 214 |
216 void AppListMainView::OnIconLoadingWaitTimer() { | 215 void AppListMainView::OnIconLoadingWaitTimer() { |
217 GetWidget()->Show(); | 216 GetWidget()->Show(); |
218 } | 217 } |
219 | 218 |
220 void AppListMainView::OnItemIconLoaded(IconLoader* loader) { | 219 void AppListMainView::OnItemIconLoaded(IconLoader* loader) { |
221 ScopedVector<IconLoader>::iterator it = std::find( | 220 ScopedVector<IconLoader>::iterator it = std::find( |
222 pending_icon_loaders_.begin(), pending_icon_loaders_.end(), loader); | 221 pending_icon_loaders_.begin(), pending_icon_loaders_.end(), loader); |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 // Resubmit the query via a posted task so that all observers for the | 271 // Resubmit the query via a posted task so that all observers for the |
273 // uninstall notification are notified. | 272 // uninstall notification are notified. |
274 base::MessageLoop::current()->PostTask( | 273 base::MessageLoop::current()->PostTask( |
275 FROM_HERE, | 274 FROM_HERE, |
276 base::Bind(&AppListMainView::QueryChanged, | 275 base::Bind(&AppListMainView::QueryChanged, |
277 weak_ptr_factory_.GetWeakPtr(), | 276 weak_ptr_factory_.GetWeakPtr(), |
278 search_box_view_)); | 277 search_box_view_)); |
279 } | 278 } |
280 | 279 |
281 } // namespace app_list | 280 } // namespace app_list |
OLD | NEW |