New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 711511 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Feature

Blocked on:
issue 733670

Blocking:
issue 225621
issue 236822
issue 241848
issue 250858
issue 261473
issue 353957
issue 380271
issue 421927
issue 437249
issue 457290
issue 549098
issue 720022
issue 721921



Sign in to add a comment

Deprecate Native App Launcher

Project Member Reported by pkl@chromium.org, Apr 13 2017

Issue description

Google Chrome’s Native App Launcher (overview) was first released in 2013 before the existence of iOS Universal Links. It filled a functionality gap then and helped promote the Google iOS apps ecosystem. However, the wider adoption of Universal Links has reduced the effectiveness of Native App Launcher and in some cases made it more confusing to the casual user.

Native App Launcher implementation taps into the page loading and link following code path and comes at a relatively high maintenance cost.

 

Comment 1 by pkl@chromium.org, Apr 13 2017

Status: Started (was: Assigned)

Comment 2 by pkl@chromium.org, Apr 13 2017

Components: Mobile>Intents

Comment 3 by pkl@chromium.org, Apr 16 2017

Blocking: 421927

Comment 4 by pkl@chromium.org, Apr 16 2017

Blocking: 457290

Comment 5 by pkl@chromium.org, Apr 16 2017

Blocking: 549098

Comment 6 by pkl@chromium.org, Apr 16 2017

Labels: M-60

Comment 7 by pkl@chromium.org, Apr 17 2017

Blocking: 225621

Comment 8 by pkl@chromium.org, Apr 17 2017

Blocking: 437249
Project Member

Comment 9 by bugdroid1@chromium.org, May 1 2017

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

commit b9c3c20ba9a2a3c05b6d0f976e4a2d71c8a74fa6
Author: pkl <pkl@chromium.org>
Date: Mon May 01 18:54:40 2017

Removes Native App Launcher functionality.

This is the first step of deprecating Native App Launcher. This step
removes the functionality from Chrome so testing can start.

There will be lots of dead code and unused classes/methods left after
this step and they will be pruned in subsequent CLs.

BUG= 711511 
TEST=Tools > Settings > Google Apps should not be there. Visits to Maps or YouTube sites will not show infobar. Tapping on Maps or YouTube links may still launch Maps and YouTube app because of Universal Links.

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

[modify] https://crrev.com/b9c3c20ba9a2a3c05b6d0f976e4a2d71c8a74fa6/ios/chrome/browser/tabs/tab.mm
[modify] https://crrev.com/b9c3c20ba9a2a3c05b6d0f976e4a2d71c8a74fa6/ios/chrome/browser/tabs/tab_unittest.mm
[modify] https://crrev.com/b9c3c20ba9a2a3c05b6d0f976e4a2d71c8a74fa6/ios/chrome/browser/ui/settings/settings_collection_view_controller.mm
[modify] https://crrev.com/b9c3c20ba9a2a3c05b6d0f976e4a2d71c8a74fa6/ios/chrome/browser/ui/settings/settings_egtest.mm

Project Member

Comment 10 by bugdroid1@chromium.org, May 1 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/ios_internal.git/+/25baab43928eaebcc1610c5c06aebe48fdd079d9

commit 25baab43928eaebcc1610c5c06aebe48fdd079d9
Author: pkl <pkl@google.com>
Date: Mon May 01 23:53:30 2017

Project Member

Comment 11 by bugdroid1@chromium.org, May 2 2017

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

commit 333f8780006c4409f44664bdc7d4637bfe636c35
Author: pkl <pkl@chromium.org>
Date: Tue May 02 22:53:21 2017

Revert of Removes Native App Launcher functionality. (patchset #4 id:60001 of https://codereview.chromium.org/2821453003/ )

Reason for revert:
Nothing's broken, but will reland with an
experimental flag.

Original issue's description:
> Removes Native App Launcher functionality.
>
> This is the first step of deprecating Native App Launcher. This step
> removes the functionality from Chrome so testing can start.
>
> There will be lots of dead code and unused classes/methods left after
> this step and they will be pruned in subsequent CLs.
>
> BUG= 711511 
> TEST=Tools > Settings > Google Apps should not be there. Visits to Maps or YouTube sites will not show infobar. Tapping on Maps or YouTube links may still launch Maps and YouTube app because of Universal Links.
>
> Review-Url: https://codereview.chromium.org/2821453003
> Cr-Commit-Position: refs/heads/master@{#468374}
> Committed: https://chromium.googlesource.com/chromium/src/+/b9c3c20ba9a2a3c05b6d0f976e4a2d71c8a74fa6

TBR=rohitrao@chromium.org,eugenebut@chromium.org,marq@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 711511 

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

[modify] https://crrev.com/333f8780006c4409f44664bdc7d4637bfe636c35/ios/chrome/browser/tabs/tab.mm
[modify] https://crrev.com/333f8780006c4409f44664bdc7d4637bfe636c35/ios/chrome/browser/tabs/tab_unittest.mm
[modify] https://crrev.com/333f8780006c4409f44664bdc7d4637bfe636c35/ios/chrome/browser/ui/settings/settings_collection_view_controller.mm
[modify] https://crrev.com/333f8780006c4409f44664bdc7d4637bfe636c35/ios/chrome/browser/ui/settings/settings_egtest.mm

Project Member

Comment 12 by bugdroid1@chromium.org, May 3 2017

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

commit 659aad38059a5877a7aa467212db0f9d9a5f5fcc
Author: pkl <pkl@chromium.org>
Date: Wed May 03 23:57:59 2017

Disables Native App Launcher functionality.

This is the first step of deprecating Native App Launcher.
This puts the functionality behind an experimental flag
experimental_flags::IsNativeAppLauncherEnabled().
There will be lots of dead code and unused classes/methods left after
this step and they will be removed after experiment is removed.

Default for experiment is Native App Launcher *disabled*.

BUG= 711511 
TEST=Tools > Settings > Google Apps should not be there. Visits to Maps or YouTube sites will not show infobar. Tapping on Maps or YouTube links may still launch Maps and YouTube app because of Universal Links.

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

[modify] https://crrev.com/659aad38059a5877a7aa467212db0f9d9a5f5fcc/ios/chrome/browser/experimental_flags.h
[modify] https://crrev.com/659aad38059a5877a7aa467212db0f9d9a5f5fcc/ios/chrome/browser/experimental_flags.mm
[modify] https://crrev.com/659aad38059a5877a7aa467212db0f9d9a5f5fcc/ios/chrome/browser/resources/Settings.bundle/Experimental.plist
[modify] https://crrev.com/659aad38059a5877a7aa467212db0f9d9a5f5fcc/ios/chrome/browser/tabs/tab.mm
[modify] https://crrev.com/659aad38059a5877a7aa467212db0f9d9a5f5fcc/ios/chrome/browser/tabs/tab_unittest.mm
[modify] https://crrev.com/659aad38059a5877a7aa467212db0f9d9a5f5fcc/ios/chrome/browser/ui/settings/settings_collection_view_controller.mm
[modify] https://crrev.com/659aad38059a5877a7aa467212db0f9d9a5f5fcc/ios/chrome/browser/ui/settings/settings_egtest.mm

Comment 13 by pkl@chromium.org, May 5 2017

Blocking: 250858
Blocking: 720022
Project Member

Comment 15 by bugdroid1@chromium.org, May 10 2017

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

commit c899e16dcca08a6faabf99f3f283bcc01e6f44f9
Author: pkl <pkl@chromium.org>
Date: Wed May 10 17:06:07 2017

Adds MailtoURLRewriterObserver to MailtoURLRewriter

Allows an observer to be notified of changes to the default mailto:
handler. This will be needed for implementation of Settings UI.

BUG= 711511 

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

[modify] https://crrev.com/c899e16dcca08a6faabf99f3f283bcc01e6f44f9/ios/chrome/browser/web/mailto_url_rewriter.h
[modify] https://crrev.com/c899e16dcca08a6faabf99f3f283bcc01e6f44f9/ios/chrome/browser/web/mailto_url_rewriter.mm
[modify] https://crrev.com/c899e16dcca08a6faabf99f3f283bcc01e6f44f9/ios/chrome/browser/web/mailto_url_rewriter_unittest.mm

Project Member

Comment 16 by bugdroid1@chromium.org, May 12 2017

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

commit 38f94f533d809b4202db39ac8c17be4442eb4256
Author: pkl <pkl@chromium.org>
Date: Fri May 12 19:53:11 2017

Adds Compose Email Settings UI for deprecating Native App Launcher

BUG= 711511 

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

[modify] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/app/strings/ios_strings.grd
[modify] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/ui/settings/BUILD.gn
[add] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/ui/settings/compose_email_handler_collection_view_controller.h
[add] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/ui/settings/compose_email_handler_collection_view_controller.mm
[add] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/ui/settings/compose_email_handler_collection_view_controller_unittest.mm
[modify] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/ui/settings/content_settings_collection_view_controller.h
[modify] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/ui/settings/content_settings_collection_view_controller.mm
[modify] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/ui/settings/content_settings_collection_view_controller_unittest.mm
[modify] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/web/BUILD.gn
[add] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/web/fake_mailto_handler_helpers.h
[add] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/web/fake_mailto_handler_helpers.mm
[modify] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/web/mailto_url_rewriter.h
[modify] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/web/mailto_url_rewriter.mm
[modify] https://crrev.com/38f94f533d809b4202db39ac8c17be4442eb4256/ios/chrome/browser/web/mailto_url_rewriter_unittest.mm

Comment 17 by pkl@chromium.org, May 12 2017

Status: Fixed (was: Started)

Comment 18 by pkl@chromium.org, May 12 2017

Blocking: 721921

Comment 19 by pkl@chromium.org, May 15 2017

Blocking: 236822

Comment 20 by pkl@chromium.org, May 15 2017

Blocking: 250856
Status: Verified (was: Fixed)
Verified on latest chrome canary version 60.0.3100.0 on iPhone 6s plus with iOS 10.3.1, iPad Air 10.2.1, following the steps mentioned in comment #9. Google Apps feature is removed.
Project Member

Comment 22 by bugdroid1@chromium.org, May 22 2017

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

commit d60b42a00189e71d3a72c3c1ee079c1f269c1fef
Author: pkl <pkl@chromium.org>
Date: Mon May 22 20:40:15 2017

Show all mailto: handlers, but dim unavailable ones.

Based on updated design doc, Compose Email settings should always be
shown even if there is only one Mail client app installed. The settings
screen should show all but dim the unavailable ones.

BUG= 711511 
TEST=Delete one or both of Mail and Gmail app and verify the Settings dialog. Check VoiceOver usage as well.

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

[modify] https://crrev.com/d60b42a00189e71d3a72c3c1ee079c1f269c1fef/ios/chrome/browser/ui/settings/compose_email_handler_collection_view_controller.mm
[modify] https://crrev.com/d60b42a00189e71d3a72c3c1ee079c1f269c1fef/ios/chrome/browser/ui/settings/compose_email_handler_collection_view_controller_unittest.mm
[modify] https://crrev.com/d60b42a00189e71d3a72c3c1ee079c1f269c1fef/ios/chrome/browser/ui/settings/content_settings_collection_view_controller.mm
[modify] https://crrev.com/d60b42a00189e71d3a72c3c1ee079c1f269c1fef/ios/chrome/browser/ui/settings/content_settings_collection_view_controller_unittest.mm
[modify] https://crrev.com/d60b42a00189e71d3a72c3c1ee079c1f269c1fef/ios/chrome/browser/web/fake_mailto_handler_helpers.h
[modify] https://crrev.com/d60b42a00189e71d3a72c3c1ee079c1f269c1fef/ios/chrome/browser/web/fake_mailto_handler_helpers.mm
[modify] https://crrev.com/d60b42a00189e71d3a72c3c1ee079c1f269c1fef/ios/chrome/browser/web/mailto_url_rewriter.mm

Verified on canary chrome 60.0.3108.0 on iPhone 6 plus (10.3.1) and iPAD Air(10.2.1) 

Followed the below steps
1. Launch chrome and load URL: http://tinyurl.com/SUMNE
2. Tap on "Send Email"

Observed: 
2.1: If gmail is installed, the Gmail will open
2.2: If gmail is not installed then the iOS mail app will open
2.3: If both not exist then a Restore "mail" pop up is displayed

Comment 24 by pkl@chromium.org, May 26 2017

Blocking: 380271
Cc: linds...@chromium.org
Hi Peter,
In the CL linked in comment #22 a design doc is referenced, can you please link to that here?
Thanks,

Comment 27 by pkl@chromium.org, Jun 6 2017

Blocking: 353957
Blockedon: 733670

Comment 29 by pkl@chromium.org, Aug 7 2017

Blocking: 241848

Comment 30 by pkl@chromium.org, Aug 7 2017

Blocking: 261473

Comment 31 by sczs@chromium.org, May 16 2018

Blocking: -250856

Sign in to add a comment