New issue
Advanced search Search tips

Issue 725120 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 1
Type: Bug



Sign in to add a comment

Enable ZeroSuggest on iOS

Project Member Reported by pkasting@chromium.org, May 22 2017

Issue description

iOS disables the builtin, shortcuts, and zerosuggest providers.

Per Rohit, at this point, there seems little reason to disable these (and some reasons not to).  So after the branch to M60, we should re-enable these and fix any fallout.

UX should probably sign off on the ZeroSuggest change, but since this is just bringing behavior parity with Android, hopefully it's OK.
 
Cc: linds...@chromium.org pinkerton@chromium.org
+lindsay for impact on Test team expectations
Components: UI>Browser>Omnibox>ZeroSuggest
Note that the list of hosts for the builtin provider comes primarily from kChromeHostURLs in chrome/common/url_constants.cc.  There are a number of platform ifdefs (especially for Android and CrOS) but none for iOS.  I can't imagine everything in here works for iOS, so someone might want to audit that list and disable things that are broken.

I think this same list powers about:about, so using the list there would be an easy way to check these quickly.
Issue 585780 has been merged into this issue.
The iOS port is not allowed to compile any code from the chrome/ directory, so we have a separate list of constants in ios/chrome/browser/chrome_url_constants.h.

I've sent out https://codereview.chromium.org/2947643002/ to return that list via AutocompleteProviderClientImpl and enable the BuiltinProvider.
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4115f4c206ddd94f5ee0674432263e42727de4e5

commit 4115f4c206ddd94f5ee0674432263e42727de4e5
Author: rohitrao <rohitrao@chromium.org>
Date: Wed Jun 21 17:46:56 2017

[ios] Enables the BuiltinProvider.

Implements two methods in the iOS AutocompleteProviderClientImpl that provide
the list of builtin URLs to the provider.

BUG= 725120 
TEST=The omnibox should suggest builtin URLs when typing "chrome://"
TEST=The omnibox should inline-autocomplete "chrome://version" and "chrome://chrome-urls"

Review-Url: https://codereview.chromium.org/2947643002
Cr-Commit-Position: refs/heads/master@{#481238}

[modify] https://crrev.com/4115f4c206ddd94f5ee0674432263e42727de4e5/components/omnibox/browser/autocomplete_classifier.cc
[modify] https://crrev.com/4115f4c206ddd94f5ee0674432263e42727de4e5/ios/chrome/browser/autocomplete/autocomplete_provider_client_impl.cc

For the record, when enabling zero suggest on iOS, we may want to see if it's possible to fix a motion problem:  bug 708264 .

Also, when enabling zero suggest on iOS, we should fix bug 711759.
Does anyone know why Shortcuts was not enabled on iOS?  (rohitrao@, you wrote that comment saying it's not supported.)  Is it a WebKit platform restriction?
https://cs.chromium.org/chromium/src/components/omnibox/browser/autocomplete_classifier.cc?q=TYPE_SHORTCUTS+package:%5Echromium$&l=47
@9: From email from Rohit: "We disabled the shortcuts provider years and years ago because it was crashing on iOS.  It's been so long that it's probably not a real issue anymore."
 Can an update be posted to this bug please? It is a P1 that was targeted for M61.
The update is that I was supposed to write a CL that enables these, and Rohit was going to fix fallout; and I haven't written that CL.  I can write it.
Blockedon: 711759 708264
Components: -UI>Browser>Omnibox
Labels: -M-61
Owner: rohitrao@chromium.org
Summary: Enable ZeroSuggest on iOS (was: Re-enable disabled omnibox providers on iOS)
Builtin is enabled, and shortcuts should be landing soon.

ZeroSuggest is thornier.  On desktop, it triggers pretty rarely, but on Android it triggers on 100% of non-incognito pages, to provide the "most visited" suggestions.  We'd likely want iOS to behave similarly.

Narrowing this bug to be about enabling this, which will likely consist of the following:
* Change AutocompleteClassifier::DefaultOmniboxProviders() to return the zerosuggest provider on iOS as well.  This will allow the provider to run at all.
* Eliminate the iOS exclusion in OmniboxFieldTrial::InZeroSuggestFieldTrial().  This will allow the provider to not just return instantly.
* Modify OmniboxFieldTrial::InZeroSuggestMostVisitedWithoutSerpFieldTrial() to make iOS behave like Android.  This will cause ZeroSuggest to provide "most visited" results.
* Fix  bug 708264  and bug 711759.  These will make sure we don't expose users to a degraded experience.

More comments from Mark:

"Enable zero suggest on iOS is a major change.  You may even want to go through launch review.  This is not subtle, and all iOS engineers and leads will notice when you turn it on.  At a minimum, you should check that the UI animation of zero suggest displaying looks good, as users will be seeing it a ton.

"(Zero suggest can currently appear on iOS when there's a "link you copied" in the clipboard.  But this happens rarely.  If you're going to increase the rate at which the zero suggest dropdown is open by a factor of ~100x, you should make sure you're comfortable with how it looks.)"
Project Member

Comment 14 by bugdroid1@chromium.org, Sep 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f34093581204ad3f8270fd6baad85d1a313d8ac8

commit f34093581204ad3f8270fd6baad85d1a313d8ac8
Author: Peter Kasting <pkasting@chromium.org>
Date: Fri Sep 15 22:29:43 2017

Enable shortcuts provider on iOS.

Bug:  725120 
Change-Id: Ib921a0eef67170528e304a9c69e6606cec18b182
Reviewed-on: https://chromium-review.googlesource.com/663841
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Rohit Rao (ping after 24h) <rohitrao@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502407}
[modify] https://crrev.com/f34093581204ad3f8270fd6baad85d1a313d8ac8/components/omnibox/browser/autocomplete_classifier.cc

Is this ready for test test to verify or are more CL's in flight still?
lindsayw@,
> Is this ready for test test to verify or are more CL's in flight still?
Thanks for asking.  The Shortcuts section is ready to test, but I cannot provide test instructions because I cannot get it to trigger on other platforms (!).  I filed bug 767172 to help me figure out how to trigger it and then to test it on all platforms.  There's no need for you try to test it as part of this bug anyway.
Re: "comments from Mark" in #13: mardini suggested proceeding with adding zero suggest in order for him and others to try it out. Probably behind a flag.
Cc: jdonnelly@chromium.org
Owner: jdonnelly@chromium.org
Status: Started (was: Assigned)
Project Member

Comment 20 by bugdroid1@chromium.org, Oct 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4111c84054fd48189388c80dab4e01076c26df5a

commit 4111c84054fd48189388c80dab4e01076c26df5a
Author: Justin Donnelly <jdonnelly@google.com>
Date: Mon Oct 23 23:47:07 2017

Enable most-visited zero suggest on iOS (controlled by a new Feature).

Also, remove the old, unused InZeroSuggestFieldTrial(), which can't
be invoked via command-line flag on iOS.

Bug:  725120 
Change-Id: I26904f5015bacef0afb70a10be0e509129e417b5
Reviewed-on: https://chromium-review.googlesource.com/731605
Commit-Queue: Justin Donnelly <jdonnelly@chromium.org>
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510962}
[modify] https://crrev.com/4111c84054fd48189388c80dab4e01076c26df5a/chrome/browser/autocomplete/search_provider_unittest.cc
[modify] https://crrev.com/4111c84054fd48189388c80dab4e01076c26df5a/components/omnibox/browser/autocomplete_classifier.cc
[modify] https://crrev.com/4111c84054fd48189388c80dab4e01076c26df5a/components/omnibox/browser/base_search_provider.cc
[modify] https://crrev.com/4111c84054fd48189388c80dab4e01076c26df5a/components/omnibox/browser/omnibox_field_trial.cc
[modify] https://crrev.com/4111c84054fd48189388c80dab4e01076c26df5a/components/omnibox/browser/omnibox_field_trial.h
[modify] https://crrev.com/4111c84054fd48189388c80dab4e01076c26df5a/components/omnibox/browser/omnibox_field_trial_unittest.cc
[modify] https://crrev.com/4111c84054fd48189388c80dab4e01076c26df5a/components/omnibox/browser/zero_suggest_provider_unittest.cc

The zero-suggest provider will be available in the next Dev channel build by adding

--enable-features=ZeroSuggestProviderIOS

to the "EXTRA FLAGS" section of Experimental Settings.
Labels: M-64
Hi Justin,
Is this ready for testing? Is a launch bug needed? And this will ship in M64?
Thanks,
Waiting on feedback as to whether we think this is ready to start the launch process. I'll ping mardini on a separate email thread.
Cc: mard...@chromium.org
Feature freeze was Friday so I'm assuming this will go in 65 now. Please confirm though.
Labels: -M-64 M-65
There's still an open question about whether Design considers  https://crbug.com/708264  blocking that's being discussed, so yes, I think slipping to M65 makes sense at this point.
Labels: -M-65
Removing the milestone label since we have a new launch bug here: https://crbug.com/787067. I'll leave this bug open to track any additional coding work required.
Justin: Is issue 686888 related at all to your work here?
No, because most-visited zero-suggest isn't shown on the NTP, I don't think issue 686888 is relevant.
FYI, I slipped this to M-65 per the conversation above because it looked like we were blocked. The bug was judged not-launch-blocking by UI review, however. The new launch bug (787067) is back to targeting M-64. Note that no changes have happened to this feature since October, no more changes are planned before launch, and Canary testing is already complete.
Blockedon: -711759
Sorry I dropped the ball on following up here, but I'm not sure it's important. I don't feel like the animation of the copied URL should be blocking for this. 

Is there anything that still needs to be done for this particular bug? The launch bug appears on track to go for M64.
Status: Fixed (was: Started)
Engineering work on this feature is complete. For updates on the experiment, analysis and launch, follow along at https://crbug.com/787067.
Blockedon: -708264

Sign in to add a comment