Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Unified Diff: ui/app_list/views/start_page_view.cc

Issue 897583002: Ignore updates to app list Most Likely apps when animating off the start page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@doodle_static
Patch Set: auto* Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/app_list/views/app_list_view_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/app_list/views/start_page_view.cc
diff --git a/ui/app_list/views/start_page_view.cc b/ui/app_list/views/start_page_view.cc
index ab8be81a2d976b5f27b6fc08532c24f024fb9c3a..c4e0ce79d62f6b0e9f40a4b576adb98322fdd288 100644
--- a/ui/app_list/views/start_page_view.cc
+++ b/ui/app_list/views/start_page_view.cc
@@ -68,7 +68,8 @@ class SearchBoxSpacerView : public views::View {
class StartPageView::StartPageTilesContainer
: public SearchResultContainerView {
public:
- explicit StartPageTilesContainer(AllAppsTileItemView* all_apps_button);
+ StartPageTilesContainer(ContentsView* contents_view,
+ AllAppsTileItemView* all_apps_button);
~StartPageTilesContainer() override;
TileItemView* GetTileItemView(size_t index);
@@ -85,6 +86,8 @@ class StartPageView::StartPageTilesContainer
void OnContainerSelected(bool from_bottom) override;
private:
+ ContentsView* contents_view_;
+
std::vector<SearchResultTileItemView*> search_result_tile_views_;
AllAppsTileItemView* all_apps_button_;
@@ -92,8 +95,9 @@ class StartPageView::StartPageTilesContainer
};
StartPageView::StartPageTilesContainer::StartPageTilesContainer(
+ ContentsView* contents_view,
AllAppsTileItemView* all_apps_button)
- : all_apps_button_(all_apps_button) {
+ : contents_view_(contents_view), all_apps_button_(all_apps_button) {
views::BoxLayout* tiles_layout_manager =
new views::BoxLayout(views::BoxLayout::kHorizontal, 0, 0, kTileSpacing);
tiles_layout_manager->set_main_axis_alignment(
@@ -129,16 +133,26 @@ TileItemView* StartPageView::StartPageTilesContainer::GetTileItemView(
}
int StartPageView::StartPageTilesContainer::Update() {
+ // Ignore updates and disable buttons when transitioning to a different
+ // state.
+ if (contents_view_->GetActiveState() != AppListModel::STATE_START) {
+ for (auto* view : search_result_tile_views_)
+ view->SetEnabled(false);
+
+ return num_results();
+ }
+
std::vector<SearchResult*> display_results =
AppListModel::FilterSearchResultsByDisplayType(
results(), SearchResult::DISPLAY_RECOMMENDATION, kNumStartPageTiles);
// Update the tile item results.
for (size_t i = 0; i < search_result_tile_views_.size(); ++i) {
- SearchResult* item = nullptr;
+ SearchResult* item = NULL;
if (i < display_results.size())
item = display_results[i];
search_result_tile_views_[i]->SetSearchResult(item);
+ search_result_tile_views_[i]->SetEnabled(true);
}
Layout();
@@ -170,9 +184,11 @@ StartPageView::StartPageView(AppListMainView* app_list_main_view,
search_box_spacer_view_(new SearchBoxSpacerView(
app_list_main_view->search_box_view()->GetPreferredSize())),
instant_container_(new views::View),
- tiles_container_(new StartPageTilesContainer(new AllAppsTileItemView(
- app_list_main_view_->contents_view(),
- view_delegate_->GetModel()->top_level_item_list()))) {
+ tiles_container_(new StartPageTilesContainer(
+ app_list_main_view->contents_view(),
+ new AllAppsTileItemView(
+ app_list_main_view_->contents_view(),
+ view_delegate_->GetModel()->top_level_item_list()))) {
// The view containing the start page WebContents and SearchBoxSpacerView.
InitInstantContainer();
AddChildView(instant_container_);
« no previous file with comments | « ui/app_list/views/app_list_view_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698