|
|
Chromium Code Reviews|
Created:
3 years, 5 months ago by scottchen Modified:
3 years, 5 months ago CC:
dpapad, arv+watch_chromium.org, chromium-apps-reviews_chromium.org, chromium-reviews, extensions-reviews_chromium.org, michaelpg+watch-md-ui_chromium.org, srahim+watch_chromium.org Target Ref:
refs/heads/master Project:
chromium Visibility:
Public. |
DescriptionMD Extensions: Show messages for no extensions, and for no search results
This CL adds messages to tell users when there are no extensions installed, as well as when their search filtering yields no results.
BUG=729863
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation
Review-Url: https://codereview.chromium.org/2974583003
Cr-Commit-Position: refs/heads/master@{#486166}
Committed: https://chromium.googlesource.com/chromium/src/+/1fcd56bdfe3d6900ad2aff5197c982ae2dfa77c4
Patch Set 1 #
Total comments: 14
Patch Set 2 : feedback #Patch Set 3 : update tests #
Total comments: 16
Patch Set 4 : feedback #
Total comments: 2
Patch Set 5 : merge #Patch Set 6 : add md_extensions_strings.grdp=* in OWNER #Messages
Total messages: 38 (20 generated)
Description was changed from ========== MD Extensions: Show messages for no extensions, and for no search results This CL adds messages to tell users when there are no extensions installed, as well as when their search filtering yields no results. BUG=729863 ========== to ========== MD Extensions: Show messages for no extensions, and for no search results This CL adds messages to tell users when there are no extensions installed, as well as when their search filtering yields no results. BUG=729863 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation ==========
scottchen@chromium.org changed reviewers: + rdevlin.cronin@chromium.org
The CQ bit was checked by scottchen@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2017/07/07 00:40:35, scottchen wrote: screenshots of results: http://imgur.com/a/tFnYQ
dpapad@chromium.org changed reviewers: + dpapad@chromium.org
https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... File chrome/browser/resources/md_extensions/item_list.html (right): https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... chrome/browser/resources/md_extensions/item_list.html:35: <template is="dom-if" if="[[isEmpty_(items.length)]]"> Dom-if has a lot of overhead. It makes sense when it wraps a comlex part of the UI. But wrapping a simple div in a dom-if does more harm than good. I suggest just hiding the div and removing the dom-if. https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... File chrome/browser/resources/md_extensions/item_list.js (right): https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... chrome/browser/resources/md_extensions/item_list.js:25: /** @private */ Can we annotate what does the array hold? !Array<SomeTypedef>
dpapad@chromium.org changed reviewers: - dpapad@chromium.org
https://codereview.chromium.org/2974583003/diff/1/chrome/app/generated_resour... File chrome/app/generated_resources.grd (right): https://codereview.chromium.org/2974583003/diff/1/chrome/app/generated_resour... chrome/app/generated_resources.grd:4320: <message name="IDS_MD_EXTENSIONS_MSG_NO_EXT_OR_APP" desc="The text to display when there are no extensions installed."> nit: to display where? https://codereview.chromium.org/2974583003/diff/1/chrome/app/generated_resour... chrome/app/generated_resources.grd:4323: <message name="IDS_MD_EXTENSIONS_MSG_NOT_FOUND" desc="The text to display when there are no search results"> similarly, no search results where? https://codereview.chromium.org/2974583003/diff/1/chrome/app/generated_resour... chrome/app/generated_resources.grd:4324: Search results not found nit: "Search results not found" sounds funny to me. Maybe "No results" or "No matches"? Do we have similar strings anywhere else? https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... File chrome/browser/resources/md_extensions/item_list.html (right): https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... chrome/browser/resources/md_extensions/item_list.html:35: <template is="dom-if" if="[[isEmpty_(items.length)]]"> This is a very cheap section. We should probably use hidden$= rather than a dom-if. https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... File chrome/browser/resources/md_extensions/manager.html (right): https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... chrome/browser/resources/md_extensions/manager.html:92: filter="[[filter]]" hidden$="[[!didInitPage_]]"> What does this show otherwise? Seems like it might be okay to show partial results.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm6...)
Addressed comments and added tests. PTAL! https://codereview.chromium.org/2974583003/diff/1/chrome/app/generated_resour... File chrome/app/generated_resources.grd (right): https://codereview.chromium.org/2974583003/diff/1/chrome/app/generated_resour... chrome/app/generated_resources.grd:4320: <message name="IDS_MD_EXTENSIONS_MSG_NO_EXT_OR_APP" desc="The text to display when there are no extensions installed."> On 2017/07/07 00:48:07, Devlin wrote: > nit: to display where? Done. https://codereview.chromium.org/2974583003/diff/1/chrome/app/generated_resour... chrome/app/generated_resources.grd:4323: <message name="IDS_MD_EXTENSIONS_MSG_NOT_FOUND" desc="The text to display when there are no search results"> On 2017/07/07 00:48:07, Devlin wrote: > similarly, no search results where? Done. https://codereview.chromium.org/2974583003/diff/1/chrome/app/generated_resour... chrome/app/generated_resources.grd:4324: Search results not found On 2017/07/07 00:48:07, Devlin wrote: > nit: "Search results not found" sounds funny to me. Maybe "No results" or "No > matches"? Do we have similar strings anywhere else? Settings and downloads both say "No Search Results Found" (I wanted to match those but I manually typed it wrong). Does "No Search Results Found" sound okay? https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... File chrome/browser/resources/md_extensions/item_list.html (right): https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... chrome/browser/resources/md_extensions/item_list.html:35: <template is="dom-if" if="[[isEmpty_(items.length)]]"> On 2017/07/07 00:48:07, Devlin wrote: > This is a very cheap section. We should probably use hidden$= rather than a > dom-if. Done. https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... File chrome/browser/resources/md_extensions/item_list.js (right): https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... chrome/browser/resources/md_extensions/item_list.js:25: /** @private */ On 2017/07/07 00:45:04, dpapad wrote: > Can we annotate what does the array hold? !Array<SomeTypedef> Done. https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... File chrome/browser/resources/md_extensions/manager.html (right): https://codereview.chromium.org/2974583003/diff/1/chrome/browser/resources/md... chrome/browser/resources/md_extensions/manager.html:92: filter="[[filter]]" hidden$="[[!didInitPage_]]"> On 2017/07/07 00:48:07, Devlin wrote: > What does this show otherwise? Seems like it might be okay to show partial > results. Since "extensions" is initialized to [], It'll show the no-extension message for a split second before showing the actual list.
The CQ bit was checked by scottchen@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
https://codereview.chromium.org/2974583003/diff/1/chrome/app/generated_resour... File chrome/app/generated_resources.grd (right): https://codereview.chromium.org/2974583003/diff/1/chrome/app/generated_resour... chrome/app/generated_resources.grd:4324: Search results not found On 2017/07/07 23:08:42, scottchen wrote: > On 2017/07/07 00:48:07, Devlin wrote: > > nit: "Search results not found" sounds funny to me. Maybe "No results" or "No > > matches"? Do we have similar strings anywhere else? > > Settings and downloads both say "No Search Results Found" (I wanted to match > those but I manually typed it wrong). Does "No Search Results Found" sound okay? Yep, consistency is always good. :) https://codereview.chromium.org/2974583003/diff/40001/chrome/browser/resource... File chrome/browser/resources/md_extensions/item_list.html (right): https://codereview.chromium.org/2974583003/diff/40001/chrome/browser/resource... chrome/browser/resources/md_extensions/item_list.html:35: <div id="no-items" class="empty-list-message" If we wanted to be super fancy, we could do: #empty-list-message:has(>span:empty) { display: none; } <div id="empty-list-message"> <span>[[getEmptyListMessageIfAny_(shownItems_)]]</span> </div> And then limit ourselves to one method, hidden rule, and div/span. WDYT? (It would also make the precedence in the JS a little simpler, since shouldShowEmptySearchMessage_() wouldn't call into shouldShowEmptyItemsMessage). https://codereview.chromium.org/2974583003/diff/40001/chrome/test/data/webui/... File chrome/test/data/webui/extensions/cr_extensions_browsertest.js (left): https://codereview.chromium.org/2974583003/diff/40001/chrome/test/data/webui/... chrome/test/data/webui/extensions/cr_extensions_browsertest.js:194: assert(extension_item_list_tests.TestNames.ItemListFiltering)).run(); Way back when we first started, Dan was really worried about tests timing out or interfering with one another, and requested that each test case have a separate browser test. Has that guidance changed? If so, we should probably update these all in a separate CL, rather than have this deviate. If not, we should just add a new TEST_F for the new tests.
Sorry for the double-batch of comments, forgot to take another look at the grd. https://codereview.chromium.org/2974583003/diff/40001/chrome/app/generated_re... File chrome/app/generated_resources.grd (right): https://codereview.chromium.org/2974583003/diff/40001/chrome/app/generated_re... chrome/app/generated_resources.grd:4320: <message name="IDS_MD_EXTENSIONS_MSG_NO_EXT_OR_APP" desc="The text to display on the list page when there are no extensions installed."> nit: I'd slightly prefer to avoid abbreviation like "ext" if we can. Maybe: IDS_MD_EXTENSIONS_NO_INSTALLED_ITEMS? https://codereview.chromium.org/2974583003/diff/40001/chrome/app/generated_re... chrome/app/generated_resources.grd:4320: <message name="IDS_MD_EXTENSIONS_MSG_NO_EXT_OR_APP" desc="The text to display on the list page when there are no extensions installed."> description nit: maybe "The message shown to the user on the Extensions settings page when there are no extensions or apps installed."? (I don't know if translators would know what "list page" means) https://codereview.chromium.org/2974583003/diff/40001/chrome/app/generated_re... chrome/app/generated_resources.grd:4323: <message name="IDS_MD_EXTENSIONS_MSG_NOT_FOUND" desc="The text to display on the list page when there are no search results"> similarly, maybe IDS_MD_EXTENSIONS_NO_SEARCH_RESULTS? https://codereview.chromium.org/2974583003/diff/40001/chrome/app/generated_re... chrome/app/generated_resources.grd:4323: <message name="IDS_MD_EXTENSIONS_MSG_NOT_FOUND" desc="The text to display on the list page when there are no search results"> similarly, maybe "The message shown to the user when a search on the Extensions settings page has no matching results." (Note also, punctuation should be included in the description)
Patchset #5 (id:80001) has been deleted
https://codereview.chromium.org/2974583003/diff/40001/chrome/app/generated_re... File chrome/app/generated_resources.grd (right): https://codereview.chromium.org/2974583003/diff/40001/chrome/app/generated_re... chrome/app/generated_resources.grd:4320: <message name="IDS_MD_EXTENSIONS_MSG_NO_EXT_OR_APP" desc="The text to display on the list page when there are no extensions installed."> On 2017/07/10 20:29:18, Devlin wrote: > nit: I'd slightly prefer to avoid abbreviation like "ext" if we can. Maybe: > IDS_MD_EXTENSIONS_NO_INSTALLED_ITEMS? Done. https://codereview.chromium.org/2974583003/diff/40001/chrome/app/generated_re... chrome/app/generated_resources.grd:4320: <message name="IDS_MD_EXTENSIONS_MSG_NO_EXT_OR_APP" desc="The text to display on the list page when there are no extensions installed."> On 2017/07/10 20:29:18, Devlin wrote: > nit: I'd slightly prefer to avoid abbreviation like "ext" if we can. Maybe: > IDS_MD_EXTENSIONS_NO_INSTALLED_ITEMS? Done. https://codereview.chromium.org/2974583003/diff/40001/chrome/app/generated_re... chrome/app/generated_resources.grd:4323: <message name="IDS_MD_EXTENSIONS_MSG_NOT_FOUND" desc="The text to display on the list page when there are no search results"> On 2017/07/10 20:29:18, Devlin wrote: > similarly, maybe "The message shown to the user when a search on the Extensions > settings page has no matching results." (Note also, punctuation should be > included in the description) Done. https://codereview.chromium.org/2974583003/diff/40001/chrome/app/generated_re... chrome/app/generated_resources.grd:4323: <message name="IDS_MD_EXTENSIONS_MSG_NOT_FOUND" desc="The text to display on the list page when there are no search results"> On 2017/07/10 20:29:18, Devlin wrote: > similarly, maybe "The message shown to the user when a search on the Extensions > settings page has no matching results." (Note also, punctuation should be > included in the description) Done. https://codereview.chromium.org/2974583003/diff/40001/chrome/browser/resource... File chrome/browser/resources/md_extensions/item_list.html (right): https://codereview.chromium.org/2974583003/diff/40001/chrome/browser/resource... chrome/browser/resources/md_extensions/item_list.html:35: <div id="no-items" class="empty-list-message" On 2017/07/10 20:23:53, Devlin wrote: > If we wanted to be super fancy, we could do: > > #empty-list-message:has(>span:empty) { > display: none; > } > > <div id="empty-list-message"> > <span>[[getEmptyListMessageIfAny_(shownItems_)]]</span> > </div> > > And then limit ourselves to one method, hidden rule, and div/span. > > WDYT? (It would also make the precedence in the JS a little simpler, since > shouldShowEmptySearchMessage_() wouldn't call into shouldShowEmptyItemsMessage). I was trying to think of clever ways to do only 1 js function too, and that's a really interesting approach I hadn't thought about! Though, doing this would require us to do i18n during run-time, which is slightly less ideal than $18n{}. Thoughts? https://codereview.chromium.org/2974583003/diff/40001/chrome/test/data/webui/... File chrome/test/data/webui/extensions/cr_extensions_browsertest.js (left): https://codereview.chromium.org/2974583003/diff/40001/chrome/test/data/webui/... chrome/test/data/webui/extensions/cr_extensions_browsertest.js:194: assert(extension_item_list_tests.TestNames.ItemListFiltering)).run(); On 2017/07/10 20:23:53, Devlin wrote: > Way back when we first started, Dan was really worried about tests timing out or > interfering with one another, and requested that each test case have a separate > browser test. Has that guidance changed? If so, we should probably update > these all in a separate CL, rather than have this deviate. If not, we should > just add a new TEST_F for the new tests. Hmm, I just noticed the tests are registered a bit differently here than in settings, so I'll just grep for all 3 tests for now. We can do a sweeping change in a separate CL to unify with how we do it in settings later on.
https://codereview.chromium.org/2974583003/diff/40001/chrome/test/data/webui/... File chrome/test/data/webui/extensions/cr_extensions_browsertest.js (left): https://codereview.chromium.org/2974583003/diff/40001/chrome/test/data/webui/... chrome/test/data/webui/extensions/cr_extensions_browsertest.js:194: assert(extension_item_list_tests.TestNames.ItemListFiltering)).run(); On 2017/07/10 at 22:13:40, scottchen wrote: > On 2017/07/10 20:23:53, Devlin wrote: > > Way back when we first started, Dan was really worried about tests timing out or > > interfering with one another, and requested that each test case have a separate > > browser test. Has that guidance changed? If so, we should probably update > > these all in a separate CL, rather than have this deviate. If not, we should > > just add a new TEST_F for the new tests. > > Hmm, I just noticed the tests are registered a bit differently here than in settings, so I'll just grep for all 3 tests for now. We can do a sweeping change in a separate CL to unify with how we do it in settings later on. Timing out tests is still a concern. Adding too many mocha test cases behind a single TEST_F will eventually trigger some timeouts (on some bots). Regarding leaking state between tests, theoretically (and in practice in MD Settings tests), custom elements make it fairly easy to avoid such leaks. The pattern in settings is to empty the <body>, programmatically the element to be tested, attach it to the DOM and start testing it. In other places, like print preview's tests, clearing state between tests is not easy (no custom elements), therefore when I migrated TEST_F to use Mocha, I followed the 1:1 TEST_F to mocha test case approach, see [1]. [1] https://cs.chromium.org/chromium/src/chrome/test/data/webui/print_preview/pri.... https://codereview.chromium.org/2974583003/diff/60001/chrome/app/generated_re... File chrome/app/generated_resources.grd (right): https://codereview.chromium.org/2974583003/diff/60001/chrome/app/generated_re... chrome/app/generated_resources.grd:4320: <message name="IDS_MD_EXTENSIONS_NO_INSTALLED_ITEMS" desc="The message shown to the user on the Extensions settings page when there are no extensions or apps installed."> FYI, you probably need to rebase this after https://codereview.chromium.org/2975713002 which moved those strings to their own file.
https://codereview.chromium.org/2974583003/diff/40001/chrome/test/data/webui/... File chrome/test/data/webui/extensions/cr_extensions_browsertest.js (left): https://codereview.chromium.org/2974583003/diff/40001/chrome/test/data/webui/... chrome/test/data/webui/extensions/cr_extensions_browsertest.js:194: assert(extension_item_list_tests.TestNames.ItemListFiltering)).run(); On 2017/07/11 01:36:56, dpapad wrote: > On 2017/07/10 at 22:13:40, scottchen wrote: > > On 2017/07/10 20:23:53, Devlin wrote: > > > Way back when we first started, Dan was really worried about tests timing > out or > > > interfering with one another, and requested that each test case have a > separate > > > browser test. Has that guidance changed? If so, we should probably update > > > these all in a separate CL, rather than have this deviate. If not, we > should > > > just add a new TEST_F for the new tests. > > > > Hmm, I just noticed the tests are registered a bit differently here than in > settings, so I'll just grep for all 3 tests for now. We can do a sweeping change > in a separate CL to unify with how we do it in settings later on. > > Timing out tests is still a concern. Adding too many mocha test cases behind a > single TEST_F will eventually trigger some timeouts (on some bots). Regarding > leaking state between tests, theoretically (and in practice in MD Settings > tests), custom elements make it fairly easy to avoid such leaks. The pattern in > settings is to empty the <body>, programmatically the element to be tested, > attach it to the DOM and start testing it. > > In other places, like print preview's tests, clearing state between tests is not > easy (no custom elements), therefore when I migrated TEST_F to use Mocha, I > followed the 1:1 TEST_F to mocha test case approach, see [1]. > > [1] > https://cs.chromium.org/chromium/src/chrome/test/data/webui/print_preview/pri.... Acknowledged. I moved them each to their own TEST_F. https://codereview.chromium.org/2974583003/diff/60001/chrome/app/generated_re... File chrome/app/generated_resources.grd (right): https://codereview.chromium.org/2974583003/diff/60001/chrome/app/generated_re... chrome/app/generated_resources.grd:4320: <message name="IDS_MD_EXTENSIONS_NO_INSTALLED_ITEMS" desc="The message shown to the user on the Extensions settings page when there are no extensions or apps installed."> On 2017/07/11 01:36:56, dpapad wrote: > FYI, you probably need to rebase this after > https://codereview.chromium.org/2975713002 which moved those strings to their > own file. Acknowledged.
lgtm https://codereview.chromium.org/2974583003/diff/40001/chrome/browser/resource... File chrome/browser/resources/md_extensions/item_list.html (right): https://codereview.chromium.org/2974583003/diff/40001/chrome/browser/resource... chrome/browser/resources/md_extensions/item_list.html:35: <div id="no-items" class="empty-list-message" On 2017/07/10 22:13:40, scottchen wrote: > On 2017/07/10 20:23:53, Devlin wrote: > > If we wanted to be super fancy, we could do: > > > > #empty-list-message:has(>span:empty) { > > display: none; > > } > > > > <div id="empty-list-message"> > > <span>[[getEmptyListMessageIfAny_(shownItems_)]]</span> > > </div> > > > > And then limit ourselves to one method, hidden rule, and div/span. > > > > WDYT? (It would also make the precedence in the JS a little simpler, since > > shouldShowEmptySearchMessage_() wouldn't call into > shouldShowEmptyItemsMessage). > > I was trying to think of clever ways to do only 1 js function too, and that's a > really interesting approach I hadn't thought about! Though, doing this would > require us to do i18n during run-time, which is slightly less ideal than > $18n{}. Thoughts? Given these are the (slightly) less common case, and thus the i18n runtime call is typically avoided, I'd lean towards having the single element and function.
https://codereview.chromium.org/2974583003/diff/40001/chrome/browser/resource... File chrome/browser/resources/md_extensions/item_list.html (right): https://codereview.chromium.org/2974583003/diff/40001/chrome/browser/resource... chrome/browser/resources/md_extensions/item_list.html:35: <div id="no-items" class="empty-list-message" On 2017/07/12 02:22:02, Devlin wrote: > On 2017/07/10 22:13:40, scottchen wrote: > > On 2017/07/10 20:23:53, Devlin wrote: > > > If we wanted to be super fancy, we could do: > > > > > > #empty-list-message:has(>span:empty) { > > > display: none; > > > } > > > > > > <div id="empty-list-message"> > > > <span>[[getEmptyListMessageIfAny_(shownItems_)]]</span> > > > </div> > > > > > > And then limit ourselves to one method, hidden rule, and div/span. > > > > > > WDYT? (It would also make the precedence in the JS a little simpler, since > > > shouldShowEmptySearchMessage_() wouldn't call into > > shouldShowEmptyItemsMessage). > > > > I was trying to think of clever ways to do only 1 js function too, and that's > a > > really interesting approach I hadn't thought about! Though, doing this would > > require us to do i18n during run-time, which is slightly less ideal than > > $18n{}. Thoughts? > > Given these are the (slightly) less common case, and thus the i18n runtime call > is typically avoided, I'd lean towards having the single element and function. I tried to do as you suggested, then found out that the :has() pseudo-class isn't supported yet (looks like it's only in spec draft), so we'll have to make yet another JS function to hide the .empty-list-message div anyway. I think I'll just land this as-is, and we can come back to refactor it if we think of something cleaner.
The CQ bit was checked by scottchen@chromium.org
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
scottchen@chromium.org changed reviewers: + thestig@chromium.org
+thestig@ for OWNER changes.
lgtm
The CQ bit was checked by scottchen@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from rdevlin.cronin@chromium.org Link to the patchset: https://codereview.chromium.org/2974583003/#ps120001 (title: "add md_extensions_strings.grdp=* in OWNER")
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch.
Bot data: {"patchset_id": 120001, "attempt_start_ts": 1499894769337900,
"parent_rev": "5cddc222d7e76891b197e853d8d61a1f6843b24f", "commit_rev":
"1fcd56bdfe3d6900ad2aff5197c982ae2dfa77c4"}
Message was sent while issue was closed.
Description was changed from ========== MD Extensions: Show messages for no extensions, and for no search results This CL adds messages to tell users when there are no extensions installed, as well as when their search filtering yields no results. BUG=729863 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation ========== to ========== MD Extensions: Show messages for no extensions, and for no search results This CL adds messages to tell users when there are no extensions installed, as well as when their search filtering yields no results. BUG=729863 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2974583003 Cr-Commit-Position: refs/heads/master@{#486166} Committed: https://chromium.googlesource.com/chromium/src/+/1fcd56bdfe3d6900ad2aff5197c9... ==========
Message was sent while issue was closed.
Committed patchset #6 (id:120001) as https://chromium.googlesource.com/chromium/src/+/1fcd56bdfe3d6900ad2aff5197c9... |
