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

Issue 2651673010: 🍝🏠 Refactor MostVisited UI management, extract it for reuse in Home. (Closed)

Created:
3 years, 11 months ago by Michael van Ouwerkerk
Modified:
3 years, 10 months ago
Reviewers:
Bernhard Bauer, dgn
CC:
chromium-reviews, noyau+watch_chromium.org, ntp-dev+reviews_chromium.org, agrieve+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

🍝🏠 Refactor MostVisited UI management, extract it for reuse in Home. * Tile is MostVisitedItem stripped of logic, just a data holder. * TileGroup implements MostVisitedURLsObserver and is extracted from NewTabPageView. * TileGroup.Delegate replaces MostVisitedItemManager and bits of NewTabPageManager. * TileGroupDelegateImpl is extracted from NewTabPageManagerImpl. * TileGroup.Observer allows custom actions to be taken for certain events in TileGroup. * TileGrid and NewTabPageView now have a TileGroup. BUG=677672 Review-Url: https://codereview.chromium.org/2651673010 Cr-Commit-Position: refs/heads/master@{#448051} Committed: https://chromium.googlesource.com/chromium/src/+/d33a67d4d751a32dd524911fc1b98b584d56f91e

Patch Set 1 #

Patch Set 2 : Make it actually work in the ContentSuggestionsActivity. #

Patch Set 3 : Cleanups. #

Patch Set 4 : Cleanups, docs. #

Patch Set 5 : similarity=10 #

Patch Set 6 : Rebase. #

Patch Set 7 : similarity=50 #

Total comments: 26

Patch Set 8 : Remove view members from TileGroup and Tile. #

Patch Set 9 : Cleanups. Address review comments. #

Patch Set 10 : similarity=20 #

Patch Set 11 : Minor cleanups. Comments, order of members. #

Total comments: 16

Patch Set 12 : Fix test builds. #

Total comments: 8

Patch Set 13 : Address review comments from dgn and bauerb. #

Total comments: 2

Patch Set 14 : Remove mTileGrid. #

Patch Set 15 : Return a copy of mTiles. #

Patch Set 16 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+931 lines, -708 lines) Patch
A chrome/android/java/res/layout/suggestions_site_tile_grid.xml View 1 chunk +16 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/favicon/LargeIconBridge.java View 1 2 3 4 5 6 7 2 chunks +3 lines, -1 line 0 comments Download
D chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedItem.java View 1 chunk +0 lines, -184 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedItemView.java View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +19 lines, -4 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedLayout.java View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +18 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 chunks +52 lines, -122 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 14 chunks +70 lines, -277 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/TitleUtil.java View 1 chunk +1 line, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ItemViewType.java View 1 2 3 4 5 6 7 8 3 chunks +16 lines, -10 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +10 lines, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +9 lines, -3 lines 0 comments Download
A + chrome/android/java/src/org/chromium/chrome/browser/suggestions/Tile.java View 1 2 3 4 5 6 7 8 9 10 4 chunks +40 lines, -98 lines 0 comments Download
A chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGrid.java View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +110 lines, -0 lines 0 comments Download
A chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroup.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +367 lines, -0 lines 0 comments Download
A chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +187 lines, -0 lines 0 comments Download
M chrome/android/java_sources.gni View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +4 lines, -1 line 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +3 lines, -2 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerViewTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +3 lines, -2 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download

Dependent Patchsets:

Messages

Total messages: 44 (27 generated)
Michael van Ouwerkerk
Bernhard, this is a bit rough, but maybe you'd like to take a look already? ...
3 years, 10 months ago (2017-01-27 12:03:18 UTC) #4
Bernhard Bauer
Nice! Some places where we might be able to do some cleanup: https://codereview.chromium.org/2651673010/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java ...
3 years, 10 months ago (2017-01-27 14:08:44 UTC) #9
dgn
wow this is so much bigger than I expected. Real spaghetti. https://codereview.chromium.org/2651673010/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java (right): ...
3 years, 10 months ago (2017-01-27 17:56:44 UTC) #11
Michael van Ouwerkerk
Please take another look. This is much cleaner, but the tests are still busted. https://codereview.chromium.org/2651673010/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java ...
3 years, 10 months ago (2017-01-31 16:37:20 UTC) #13
dgn
https://codereview.chromium.org/2651673010/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/suggestions/PartialUpdateId.java File chrome/android/java/src/org/chromium/chrome/browser/suggestions/PartialUpdateId.java (left): https://codereview.chromium.org/2651673010/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/suggestions/PartialUpdateId.java#oldcode1 chrome/android/java/src/org/chromium/chrome/browser/suggestions/PartialUpdateId.java:1: // Copyright 2017 The Chromium Authors. All rights reserved. ...
3 years, 10 months ago (2017-01-31 18:21:35 UTC) #19
Bernhard Bauer
Thanks! https://codereview.chromium.org/2651673010/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java File chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java (right): https://codereview.chromium.org/2651673010/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java#newcode33 chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java:33: * Implements {@link TileGroup.Delegate}. On 2017/01/31 16:37:20, Michael ...
3 years, 10 months ago (2017-02-01 13:26:20 UTC) #20
Michael van Ouwerkerk
https://codereview.chromium.org/2651673010/diff/220001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageViewHolder.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageViewHolder.java (right): https://codereview.chromium.org/2651673010/diff/220001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageViewHolder.java#newcode19 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageViewHolder.java:19: * @see org.chromium.chrome.browser.ntp.cards.InnerNode#notifyItemChanged(int, Object) On 2017/02/01 13:26:20, Bernhard Bauer ...
3 years, 10 months ago (2017-02-01 15:17:35 UTC) #21
Michael van Ouwerkerk
Please take another look. https://codereview.chromium.org/2651673010/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java File chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java (right): https://codereview.chromium.org/2651673010/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java#newcode33 chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java:33: * Implements {@link TileGroup.Delegate}. On ...
3 years, 10 months ago (2017-02-03 12:37:49 UTC) #23
Bernhard Bauer
lgtm https://codereview.chromium.org/2651673010/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java (right): https://codereview.chromium.org/2651673010/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java#newcode50 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java:50: private final TileGrid mTileGrid; Oh hey, do we ...
3 years, 10 months ago (2017-02-03 12:47:38 UTC) #26
Michael van Ouwerkerk
https://codereview.chromium.org/2651673010/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java (right): https://codereview.chromium.org/2651673010/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java#newcode50 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java:50: private final TileGrid mTileGrid; On 2017/02/03 12:47:38, Bernhard Bauer ...
3 years, 10 months ago (2017-02-03 14:18:10 UTC) #27
dgn
lgtm
3 years, 10 months ago (2017-02-03 14:34:33 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2651673010/260001
3 years, 10 months ago (2017-02-03 14:42:11 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: android_clang_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/205385)
3 years, 10 months ago (2017-02-03 16:26:16 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2651673010/280001
3 years, 10 months ago (2017-02-03 18:12:43 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/147089) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 10 months ago (2017-02-03 18:15:22 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2651673010/300001
3 years, 10 months ago (2017-02-03 18:22:12 UTC) #41
commit-bot: I haz the power
3 years, 10 months ago (2017-02-03 19:38:59 UTC) #44
Message was sent while issue was closed.
Committed patchset #16 (id:300001) as
https://chromium.googlesource.com/chromium/src/+/d33a67d4d751a32dd524911fc1b9...

Powered by Google App Engine
This is Rietveld 408576698