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

Issue 2230473002: Refactor and extend SnippetsBridge for multi-section support (Closed)

Created:
4 years, 4 months ago by Philipp Keck
Modified:
4 years, 4 months ago
CC:
chromium-reviews, ntp-dev+reviews_chromium.org, Michael van Ouwerkerk, PEConn
Base URL:
https://chromium.googlesource.com/chromium/src.git@categoryinfo
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Refactor and extend SnippetsBridge for multi-section support Add a category parameter to ContentSuggestionsService::Observer ::OnNewSuggestions. Add getters and observer events equivalent to the ContentSuggestionsService to the SnippetsBridge. Adjust the UI layer to use the new methods on the bridge. Modify the NewTabPageAdapterTest to correctly mock the new bridge. BUG=635794 Committed: https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62 Cr-Commit-Position: refs/heads/master@{#411027}

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Rename SnippetsObserver to ContentSuggestionsSourceObserver #

Total comments: 45

Patch Set 4 : Bernhard's comments #

Patch Set 5 : Marc's comments #

Total comments: 2

Patch Set 6 : Michael's nits and renamings #

Total comments: 2

Patch Set 7 : Require image and visited callbacks to be asynchronous #

Total comments: 6

Patch Set 8 : Split off new method updateGroups() from setSuggestions() to handle the no-sections case #

Patch Set 9 : Bernhard's and Marc's new comments #

Patch Set 10 : Assign TODO to dgn #

Total comments: 12

Patch Set 11 : Michael's comments #

Total comments: 7
Unified diffs Side-by-side diffs Delta from patch set Stats (+451 lines, -282 lines) Patch
M chrome/android/java/res/layout/new_tab_page_snippets_header.xml View 1 2 3 4 5 1 chunk +1 line, -2 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 10 chunks +44 lines, -34 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java View 1 2 3 4 5 6 7 8 9 1 chunk +6 lines, -1 line 0 comments Download
A chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java View 1 2 3 4 5 6 7 8 9 10 1 chunk +38 lines, -0 lines 2 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java View 1 2 3 4 5 6 7 8 9 1 chunk +7 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java View 1 2 3 4 5 6 7 8 9 10 3 chunks +5 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetHeaderListItem.java View 2 chunks +11 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetHeaderViewHolder.java View 1 2 3 4 5 6 7 8 9 10 5 chunks +7 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java View 1 2 3 4 5 5 chunks +57 lines, -42 lines 0 comments Download
D chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsSource.java View 1 chunk +0 lines, -55 lines 0 comments Download
A chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SuggestionsSource.java View 1 2 3 4 5 6 1 chunk +74 lines, -0 lines 3 comments Download
M chrome/android/java_sources.gni View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -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 13 chunks +63 lines, -32 lines 0 comments Download
M chrome/browser/android/ntp/ntp_snippets_bridge.h View 1 2 3 4 5 6 7 8 1 chunk +33 lines, -19 lines 0 comments Download
M chrome/browser/android/ntp/ntp_snippets_bridge.cc View 1 2 3 4 5 6 7 8 9 2 chunks +84 lines, -67 lines 2 comments Download
M chrome/browser/ui/webui/snippets_internals_message_handler.h View 1 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/webui/snippets_internals_message_handler.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M components/ntp_snippets/content_suggestions_provider.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M components/ntp_snippets/content_suggestions_service.h View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -6 lines 0 comments Download
M components/ntp_snippets/content_suggestions_service.cc View 1 2 chunks +3 lines, -2 lines 0 comments Download
M components/ntp_snippets/content_suggestions_service_unittest.cc View 1 2 chunks +5 lines, -5 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 30 (7 generated)
Philipp Keck
PTAL
4 years, 4 months ago (2016-08-09 13:01:52 UTC) #2
Bernhard Bauer
https://codereview.chromium.org/2230473002/diff/40001/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/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java#newcode266 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java:266: if (info == null) return; Similar to https://codereview.chromium.org/2207493002/, do ...
4 years, 4 months ago (2016-08-09 13:10:41 UTC) #3
Marc Treib
https://codereview.chromium.org/2230473002/diff/40001/chrome/browser/android/ntp/ntp_snippets_bridge.cc File chrome/browser/android/ntp/ntp_snippets_bridge.cc (left): https://codereview.chromium.org/2230473002/diff/40001/chrome/browser/android/ntp/ntp_snippets_bridge.cc#oldcode96 chrome/browser/android/ntp/ntp_snippets_bridge.cc:96: OnNewSuggestions(); Why this change? Does the UI now explicitly ...
4 years, 4 months ago (2016-08-09 13:38:16 UTC) #4
Michael van Ouwerkerk
https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/res/layout/new_tab_page_snippets_header.xml File chrome/android/java/res/layout/new_tab_page_snippets_header.xml (right): https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/res/layout/new_tab_page_snippets_header.xml#newcode8 chrome/android/java/res/layout/new_tab_page_snippets_header.xml:8: android:id="@+id/suggestions_section_header_text" nit: omit the _text suffix, it seems redundant ...
4 years, 4 months ago (2016-08-09 13:52:21 UTC) #6
Philipp Keck
https://codereview.chromium.org/2230473002/diff/40001/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/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java#newcode266 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java:266: if (info == null) return; On 2016/08/09 13:10:41, Bernhard ...
4 years, 4 months ago (2016-08-09 14:02:54 UTC) #7
PEConn
https://codereview.chromium.org/2230473002/diff/80001/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/2230473002/diff/80001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java#newcode152 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java:152: mSnippetsSource.getSuggestionsForCategory(category); Does this change the behaviour at all? Previously ...
4 years, 4 months ago (2016-08-09 14:14:51 UTC) #9
Bernhard Bauer
https://codereview.chromium.org/2230473002/diff/40001/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/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java#newcode266 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java:266: if (info == null) return; On 2016/08/09 14:02:53, Philipp ...
4 years, 4 months ago (2016-08-09 14:30:12 UTC) #10
Marc Treib
C++ parts LGTM with the remaining comments addressed (I didn't look at the Java parts) ...
4 years, 4 months ago (2016-08-09 14:42:57 UTC) #11
Philipp Keck
https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/res/layout/new_tab_page_snippets_header.xml File chrome/android/java/res/layout/new_tab_page_snippets_header.xml (right): https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/res/layout/new_tab_page_snippets_header.xml#newcode8 chrome/android/java/res/layout/new_tab_page_snippets_header.xml:8: android:id="@+id/suggestions_section_header_text" On 2016/08/09 13:52:20, Michael van Ouwerkerk wrote: > ...
4 years, 4 months ago (2016-08-09 16:15:07 UTC) #12
Philipp Keck
https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java (right): https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java#newcode25 chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java:25: void onNewSuggestions(@KnownCategoriesEnum int category); On 2016/08/09 14:30:11, Bernhard Bauer ...
4 years, 4 months ago (2016-08-09 16:59:16 UTC) #13
Bernhard Bauer
lgtm https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java (right): https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java#newcode25 chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java:25: void onNewSuggestions(@KnownCategoriesEnum int category); On 2016/08/09 16:59:16, Philipp ...
4 years, 4 months ago (2016-08-10 09:01:52 UTC) #14
Philipp Keck
https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java (right): https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java#newcode25 chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java:25: void onNewSuggestions(@KnownCategoriesEnum int category); On 2016/08/10 09:01:52, Bernhard Bauer ...
4 years, 4 months ago (2016-08-10 09:05:09 UTC) #15
Michael van Ouwerkerk
https://codereview.chromium.org/2230473002/diff/180001/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/2230473002/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java#newcode250 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java:250: if (firstHeaderPosition == RecyclerView.NO_POSITION) return RecyclerView.NO_POSITION; This retains the ...
4 years, 4 months ago (2016-08-10 09:24:40 UTC) #16
Bernhard Bauer
https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java (right): https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java#newcode25 chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java:25: void onNewSuggestions(@KnownCategoriesEnum int category); On 2016/08/10 09:05:09, Philipp Keck ...
4 years, 4 months ago (2016-08-10 09:39:11 UTC) #17
Philipp Keck
https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java (right): https://codereview.chromium.org/2230473002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java#newcode25 chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/ContentSuggestionsSource.java:25: void onNewSuggestions(@KnownCategoriesEnum int category); On 2016/08/10 09:39:11, Bernhard Bauer ...
4 years, 4 months ago (2016-08-10 09:56:41 UTC) #18
Michael van Ouwerkerk
lgtm thanks!
4 years, 4 months ago (2016-08-10 10:13:44 UTC) #19
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/2230473002/200001
4 years, 4 months ago (2016-08-10 10:16:15 UTC) #22
dgn
https://codereview.chromium.org/2230473002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java (right): https://codereview.chromium.org/2230473002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java#newcode26 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java:26: this.mTitle = title; the `this` usage is unnecessary here ...
4 years, 4 months ago (2016-08-10 10:31:23 UTC) #24
Philipp Keck
Thank you everyone for reviewing. https://codereview.chromium.org/2230473002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java (right): https://codereview.chromium.org/2230473002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java#newcode26 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java:26: this.mTitle = title; On ...
4 years, 4 months ago (2016-08-10 12:36:13 UTC) #25
commit-bot: I haz the power
Committed patchset #11 (id:200001)
4 years, 4 months ago (2016-08-10 12:38:09 UTC) #26
commit-bot: I haz the power
Patchset 11 (id:??) landed as https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62 Cr-Commit-Position: refs/heads/master@{#411027}
4 years, 4 months ago (2016-08-10 12:40:00 UTC) #28
Bernhard Bauer
https://codereview.chromium.org/2230473002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SuggestionsSource.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SuggestionsSource.java (right): https://codereview.chromium.org/2230473002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SuggestionsSource.java#newcode5 chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SuggestionsSource.java:5: package org.chromium.chrome.browser.ntp.snippets; On 2016/08/10 12:36:12, Philipp Keck wrote: > ...
4 years, 4 months ago (2016-08-10 14:42:26 UTC) #29
Philipp Keck
4 years, 4 months ago (2016-08-10 15:10:57 UTC) #30
Message was sent while issue was closed.
On 2016/08/10 14:42:26, Bernhard Bauer wrote:
>
https://codereview.chromium.org/2230473002/diff/200001/chrome/android/java/sr...
> File
>
chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SuggestionsSource.java
> (right):
> 
>
https://codereview.chromium.org/2230473002/diff/200001/chrome/android/java/sr...
>
chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SuggestionsSource.java:5:
> package org.chromium.chrome.browser.ntp.snippets;
> On 2016/08/10 12:36:12, Philipp Keck wrote:
> > On 2016/08/10 10:31:22, dgn wrote:
> > > should this be in a ntp.suggestions package, and snippets is reserved for
> > > articles stuff? or just rename the snippets package to suggestions?
> > 
> > This should just all be named suggestions. The SnippetArticleListItem and
> > ViewHolder should also be called suggestion. We should have very little
> > article-specific code. The renaming is part of the planned refactoring
> (Nicole).
> 
> (Who is on leave ☺️)
> 
> > We should also rename the SnippetsBridge. And the ntp_snippets namespace in
> the
> > C++ part.

Renaming stuff -- that's what you hired the intern for ;-)

Powered by Google App Engine
This is Rietveld 408576698