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

Issue 623016 link

Starred by 19 users

Issue metadata

Status: Verified
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS , All
Pri: 2
Type: Bug

Blocked on:
issue 809557

Blocking:
issue 641607
issue 799582



Sign in to add a comment

Chrome doesn't properly open itunes link on iPad.

Project Member Reported by jif@chromium.org, Jun 24 2016

Issue description

Visit https://itunes.apple.com/en/app/google-street-view/id904418768?mt=8 in Chome iOS M51 on iOS 9.2 on an iPad (can't repro on iPhones).
Either a JSON file is displayed, or a mostly blank apple.com page is displayed.

Firefox iOS, Dolphin, and GSA all correctly open up the app store app.
UC Browser goes the extra mile by displaying a SKStoreProductViewController instead of opening the app store app.
 
image (1).png
479 KB View Download
image (2).png
96.4 KB View Download
image (3).png
2.1 MB View Download

Comment 1 by jif@chromium.org, Jun 24 2016

Cc: mard...@chromium.org
Interesting..do we know why?

Comment 3 by jif@chromium.org, Jun 30 2016

Cc: gambard@chromium.org pinkerton@chromium.org
+pinkerton
I think fixing this should be high priority.

Comment 4 by jif@chromium.org, Jun 30 2016

#2 > I don't.

For the record, there's a few old bugs (crbug.com/227902  crbug.com/242910 ) talking about this issue. They are marked respectively as "External dependency" and "verified". Since a lot has changed since then, I think we should ignore them and start a fresh investigation.
Issue 625043 has been merged into this issue.
Issue 623518 has been merged into this issue.

Comment 7 by jif@chromium.org, Jul 1 2016

Status: Assigned (was: Available)
If nobody takes this bug I'll start working on it as soon as I have some free cycles.

Comment 8 by jif@chromium.org, Jul 1 2016

Cc: mrefaat@chromium.org
mrefaat> feel free to take this bug.
Labels: -Pri-3 OS-iOS Pri-1
This happens from time to time. Apple screws up their website redirects then hopes we'll fix the glitch by hardcoding URLs in our app. We should file a radar and get it on Mario's list of discussion topics, after enough investigation to prove it's not our problem. 
Labels: Hotlist-ConOps
I saw a couple of references to it on AppStore too (see attached).
Screen Shot 2016-07-06 at 15.58.53.png
42.2 KB View Download
Verified in Chrome 51.2704.104 for iOS 9.3.1. Only an issue for iPad, not iPhone. Maybe a UA-sniffing bug (like in the past) with Apple seeing "CriOS" in the UA. Interestingly, changing the https to itms-apps does work in Chrome but it doesn't work everywhere.

Also, Apple now recommends all App Store links be in the format "geo.itunes.apple.com" rather than just "itunes.apple.com", but adding "geo." doesn't fix the issue.

Comment 13 Deleted

Comment 14 by jif@chromium.org, Jul 11 2016

wget --user-agent="Mozilla/5.0 (iPad; CPU OS 9_3 like Mac OS X)"  https://itunes.apple.com/en/app/google-street-view/id904418768?mt=8
=> JSON crap (most of the times: after a while the exact same request starts to reply HTML content)

wget --user-agent="Mozilla/5.0 (CPU OS 9_3 like Mac OS X)"  https://itunes.apple.com/en/app/google-street-view/id904418768?mt=8
=> HTML

So it indeed looks like a UA sniffing bug.
The returned content is not deterministic (!!), so I couldn't precisely determine which part of the user agent created the problem, but it looks like the "iPad" part of the UA is involved (which explains why the problem does not repro on iPhone).

#9 > I filed rdar://27275200/
I'm going to work on a workaround in the meantime: Change the UA if the URL is *.itunes.apple.com
Ok I will escalate. Thanks. 

Comment 16 by jif@chromium.org, Jul 11 2016

I'm not so sure anymore that spoofing the UA is the right workaround.
I've made a document so that we can have a discussion about it: https://docs.google.com/document/d/18p99JmAnWGjQRdhicMq8ZuL0VcxdRQb7MONTl1WHXD4/

Comment 17 by cbaz...@ipass.com, Jul 11 2016

I second that UA spoofing is not desirable.  Not sure why Comment #13 was deleted, but the SKStoreProductViewController sol'n seemed preferable.  It's harder for Apple to change the clients than the servers, and break things.
I agree that usingSKStoreProductViewController is preferable as a workaround

Comment 19 by jif@chromium.org, Jul 12 2016

Status: Started (was: Assigned)
Looks like the a solution which satisfies everyone is to keep navigating to the website (in case Apple starts serving useful content), but also show the SKStoreProductViewController.

The expected behavior is for these links to deep link to the App Store app. Will using SKStoreProductViewController prevent that?

Comment 21 by jif@chromium.org, Jul 12 2016

It shouldn't.
The SKStoreProductViewController will only be shown if we aren't redirected to the App Store app when navigating to an itunes.apple.com link.
Project Member

Comment 22 by bugdroid1@chromium.org, Jul 12 2016

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

commit a292e0a288483d531213a0869e8acb3ad895991f
Author: jif <jif@google.com>
Date: Tue Jul 12 18:05:42 2016

Project Member

Comment 23 by bugdroid1@chromium.org, Jul 13 2016

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

commit 0b896ed69474885d8ef26d6152183db1245a30dd
Author: jif <jif@google.com>
Date: Wed Jul 13 14:09:36 2016

Project Member

Comment 24 by bugdroid1@chromium.org, Jul 13 2016

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

commit 6ab9cf0de01817fa7d78336e25ac854a8365aae5
Author: jif <jif@google.com>
Date: Wed Jul 13 15:15:05 2016

Cc: jasonkliu@chromium.org
Project Member

Comment 26 by bugdroid1@chromium.org, Jul 25 2016

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

commit aea5f5e7e1152f988059835305d4a996533160cc
Author: jif <jif@chromium.org>
Date: Mon Jul 25 13:55:08 2016

Intercept iTunes links and open iTunes controller.

The goal of this CL is to workaround a bug where Apple serves the
wrong content for itunes.apple.com pages, see the associated bug
report.

This CL adds a class that observe navigation events.
If a page concerning a product on the iTunes App Store is *loaded*,
this class triggers the opening of a SKStoreProductViewController
presenting the information of the said product.
If Apple fixes what the server serves, than the iTunes App Store
pages won't ever be loaded: the users will be automatically offered to
open the App Store application.

BUG= 623016 

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

[modify] https://crrev.com/aea5f5e7e1152f988059835305d4a996533160cc/ios/chrome/BUILD.gn
[modify] https://crrev.com/aea5f5e7e1152f988059835305d4a996533160cc/ios/chrome/browser/BUILD.gn
[add] https://crrev.com/aea5f5e7e1152f988059835305d4a996533160cc/ios/chrome/browser/itunes_links/OWNERS
[add] https://crrev.com/aea5f5e7e1152f988059835305d4a996533160cc/ios/chrome/browser/itunes_links/itunes_links_observer.h
[add] https://crrev.com/aea5f5e7e1152f988059835305d4a996533160cc/ios/chrome/browser/itunes_links/itunes_links_observer.mm
[add] https://crrev.com/aea5f5e7e1152f988059835305d4a996533160cc/ios/chrome/browser/itunes_links/itunes_links_observer_unittest.mm
[add] https://crrev.com/aea5f5e7e1152f988059835305d4a996533160cc/ios/chrome/browser/storekit_launcher.h
[modify] https://crrev.com/aea5f5e7e1152f988059835305d4a996533160cc/ios/chrome/ios_chrome.gyp
[modify] https://crrev.com/aea5f5e7e1152f988059835305d4a996533160cc/ios/chrome/ios_chrome_tests.gyp

Project Member

Comment 27 by bugdroid1@chromium.org, Jul 25 2016

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

commit 74dd4e3511ec4f50f9aa0fb3bc776075e9b6d8a4
Author: jif <jif@chromium.org>
Date: Mon Jul 25 19:01:07 2016

Add missing NSString forward declaration.

BUG= 623016 
TBR=rohitrao

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

[modify] https://crrev.com/74dd4e3511ec4f50f9aa0fb3bc776075e9b6d8a4/ios/chrome/browser/storekit_launcher.h

Comment 28 by jif@chromium.org, Jul 26 2016

Issue 630764 has been merged into this issue.
 Issue 633968  has been merged into this issue.
FWIW I pinged mario again about this, Apple is "working on it" and he will check in again with them in a few weeks. 

Comment 31 by jif@chromium.org, Aug 10 2016

In light of recent events, marking the bug as M53 RBS.
Cc: cma...@chromium.org

Comment 33 by jif@chromium.org, Aug 12 2016

Somehow the M53 RBS label was deleted... which is fine because the fix is too large to be cherry-picked in M53
Labels: M-54
Labels: ReleaseBlock-Stable

Comment 36 by jif@chromium.org, Sep 13 2016

Status: WontFix (was: Started)
Apple fixed their servers, so the problem does not occur anymore! 🎉
I'll revert the changes that I've done.

mardini@, can you reach out to the ads people to let them know about this?

Comment 37 by jif@chromium.org, Sep 13 2016

Addendum: It *seems* that Apple fixed their server, because I can't reproduce the problem.
Cc: linds...@chromium.org
Labels: -ReleaseBlock-Stable
Status: Assigned (was: WontFix)
We still want to fix this, the question is only of priority. Jif can you please share out the design of your proposed fix so that it can be reviewed and then we can prioritize it?

This is not RBS for M-54 though, so removing those labels.

Comment 39 by jif@chromium.org, Sep 15 2016

The doc containing the discussion around the chosen solution can be found here:https://docs.google.com/document/d/18p99JmAnWGjQRdhicMq8ZuL0VcxdRQb7MONTl1WHXD4/edit
The final CL adding the itunes link interceptor is here: https://chromereviews.googleplex.com/473257014/
In light of the discussion that happened during office hours, this CL needs to be changed a bit: we should add the itunes link interceptor on *both* iPhones and iPads.
Other things that will need to be done:
-a finch-controlled kill switch.
-an experimental flag to force the itunes link interception, for testing.
Labels: -Pri-1 -M-54 OS-All Pri-2
Downgrading from P1 as this has no associated milestone. 
Issue 227902 has been merged into this issue.
Labels: Hotlist-Needs-New-Component
Components: Mobile>Intents
Labels: -Hotlist-Needs-New-Component
Is this still a problem?
Chrome for iOS just loads a blank page now in M60.

Firefox opens itunes.
Safari asks if the user wants to open itunes and does if you confirm. If you select cancel, it does nothing and shows a blank page. So the cancel path in Safari seems to line up with current Chrome behavior.
Looks like it's still a problem then. Can this be fixed on the iOS' side? 
Pink: Could you reach out to Mario again about this please?
It is already on the spreadsheet with a status of "ask again in 2mo". I've poked mario to push again a little sooner. 
Apple asked that we file a brand new radar on this so they can fix it for realz. Their last fix was apparently accidental (their words). 

Can someone please file an up-to-date radar (ie, make sure info is current, don't just copy/paste previous one) and put the number here? We will escalate promptly once that is done.
Cc: pkl@chromium.org

Comment 49 by pkl@chromium.org, Jun 22 2017

I did another round of testing.

Safari behavior (tested on iPads (mini and pro) running 10.3.3 and 11): An alert prompting user for permission to "Open this page in App Store?" If user responds with "Open", App Store is opened to the requested product. If user responds with "Cancel", a blank page is displayed.

Chrome behavior (same hardware): No prompt. Looking at the HTTP response, it is "400 Bad Request" from itunes.apple.com. A blank page is displayed.

I've tried with WebView test app and WKWebView behaves just like Chrome. SFSafariViewController behaves like Safari.

Comment 50 by pkl@chromium.org, Jun 22 2017

Filed rdar://32922536

Comment 51 by jif@chromium.org, Jun 23 2017

Apple responded that the URL we are using is wrong.

If we use the following URL:
https://itunes.apple.com/us/app/google-street-view/id904418768?mt=8
instead of:
https://itunes.apple.com/en/app/google-street-view/id904418768?mt=8
then the itunes store is correctly opened.

Two remarks:
-The URL mapping to the store changed, so the web must be filled with broken links :-)
-That doesn't explain why the URL with "en" works in Safari in iOS11.
The web is full of these broken links, they need to handle these links correctly and redirect them to the correct, working pages. 

Comment 53 by pkl@chromium.org, Jul 11 2017

Tested with WebView app. Looks like UIWebView and SFSafariVC magically handle incorrect "en" as if it is "us" in the URL. WKWebView through WebView app just displays a blank page.

How do we proceed? It would feel right if we put in ad hoc logic to handle bad links.
Seems they're already doing all sorts of crazy magic on the server side, and they just need to stop. 

Comment 55 by pkl@chromium.org, Jul 18 2017

In comment 53, I meant to say "It *wouldn't* feel right if we put..."


Comment 56 by pkl@chromium.org, Jul 25 2017

Status: ExternalDependency (was: Assigned)
Apple Developer Relationship asked:
How are these URLs being generated?
Our URL format uses two character country code, for US it is “us”.

Our response:
These urls are found on the web at large, they are not coming from anything Chrome is generating. While they may be historical in origin, they exist and still need to be handled correctly by Apple's servers.

Then our radar is duped to rdar://26071266 which is still open.

Comment 57 by img...@gmail.com, Nov 15 2017

More info: It seems the issue happens when you open the link using a desktop browser, then the link breaks on iOS. If you wait for some time, the link starts working again...

I wrote a test case that clearly shows the issue from Apple's servers:

#/bin/bash
url='https://itunes.apple.com/app/id535886823?mt=8&ct='"$RANDOM"

echo "Calling $url with iPhone User-Agent"
curl -i "$url" -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_1 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Version/11.0 Mobile/15B150 Safari/604.1' 2>/dev/null | grep '^HTTP\|^Location'

echo
echo "Calling $url with desktop User-Agent"
curl -i "$url" -H 'User-Agent: Mozilla/5.0' 2>/dev/null | grep '^HTTP\|^Location'

echo
echo "Calling $url with iPhone User-Agent again"
curl -i "$url" -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_1 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Version/11.0 Mobile/15B150 Safari/604.1' 2>/dev/null | grep '^HTTP\|^Location'


==== Output ====
$ ./appstore-bug.bash
Calling https://itunes.apple.com/app/id535886823?mt=8&ct=1232 with iPhone User-Agent
HTTP/1.1 301 Moved Permanently
Location: itms-appss://itunes.apple.com/app/id535886823?mt=8&ct=1232

Calling https://itunes.apple.com/app/id535886823?mt=8&ct=1232 with desktop User-Agent
HTTP/1.1 200 OK

Calling https://itunes.apple.com/app/id535886823?mt=8&ct=1232 with iPhone User-Agent again
HTTP/1.1 200 OK



Comment 58 by pkl@chromium.org, Nov 30 2017

Cc: ghendel@chromium.org
Owner: ----

Comment 59 by pkl@chromium.org, Dec 1 2017

Cc: -jasonkliu@chromium.org justincohen@chromium.org
Owner: mrefaat@chromium.org
Status: Started (was: ExternalDependency)
@ comment 51 & comment 56 : it seems that the link generator for URL is actually generating the url with 'us' and this doesn't work on chrome. 
https://linkmaker.itunes.apple.com/en-us/details/904418768?country=us&mediaType=ios_apps&term=google+street+view

Comment 62 by img...@gmail.com, Dec 14 2017

mrefaat, it's really not about the country code. It's a bug in Apple's servers. Try this link and see that it does work: https://itunes.apple.com/us/app/google-street-view/id904418768?mt=8&lksadfjlsdfkfsdj=ssddlksdf . The only important thing is that the URL *was never used before on a desktop browser*.

See comment 57 for more details.

Comment 63 by pkl@chromium.org, Mar 2 2018

Labels: Hotlist-Radar-Filed
Blockedon: 809557
Project Member

Comment 65 by bugdroid1@chromium.org, Mar 21 2018

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

commit cd037bfbbadd9d81273876e10d558393db4e168e
Author: Mohammad Refaat <mrefaat@chromium.org>
Date: Wed Mar 21 21:42:24 2018

Give webstatepolicydecider priority in rejecting the navigation action.

The existing flow is not correct, where the decidePolicyForNavigationAction
uses shouldAllowLoadWithNavigationAction to check if it will reject the
request or not before the webstate policy decider, the reason is this
function in some cases return false and launches external applications
without consulting the webstate policyDecider.
the new order guarantees that if the webstate policyDecider rejected the
request, then no external application is going to launch.

Note: There is a todo to move the applaunching code out of that function

Bug:  623016 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I244a497d5c218ecbdd704989ebe5bdc201badcd5
Reviewed-on: https://chromium-review.googlesource.com/973983
Commit-Queue: Mohammad Refaat <mrefaat@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544858}
[modify] https://crrev.com/cd037bfbbadd9d81273876e10d558393db4e168e/ios/web/web_state/ui/crw_web_controller.mm

Project Member

Comment 66 by bugdroid1@chromium.org, Mar 27 2018

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

commit 75854af016bee7da2631a3e706c1a26f6ffb310a
Author: mrefaat <mrefaat@chromium.org>
Date: Tue Mar 27 20:03:24 2018

Add methods for policy decider to fake TestWebState


Bug:  623016 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I67f24017a4be006fe53e59b0f49355e70833ffeb
Reviewed-on: https://chromium-review.googlesource.com/980809
Reviewed-by: Eugene But <eugenebut@chromium.org>
Commit-Queue: Mohammad Refaat <mrefaat@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546221}
[modify] https://crrev.com/75854af016bee7da2631a3e706c1a26f6ffb310a/ios/web/public/test/fakes/test_web_state.h
[modify] https://crrev.com/75854af016bee7da2631a3e706c1a26f6ffb310a/ios/web/public/test/fakes/test_web_state.mm
[modify] https://crrev.com/75854af016bee7da2631a3e706c1a26f6ffb310a/ios/web/public/web_state/web_state_policy_decider.h

Project Member

Comment 67 by bugdroid1@chromium.org, Mar 29 2018

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

commit 9dc442e92a39f1746faf62eb53d6163dfc6acdf9
Author: Mohammad Refaat <mrefaat@chromium.org>
Date: Thu Mar 29 22:43:45 2018

Create ITunesLinksHandlerTabHelper

Creates ITunesLinksHandler which is a webstate observer, it observes
tab navigation to ITunes Appstore URLs and Use StoreKitTabHelper to open
the Product page in SKStoreProductViewController

Bug:  623016 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I9fcb3697ae73faaf58caf001d3e93cdd02212af7
Reviewed-on: https://chromium-review.googlesource.com/940453
Commit-Queue: Mohammad Refaat <mrefaat@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546996}
[modify] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/BUILD.gn
[modify] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/about_flags.mm
[modify] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/ios_chrome_flag_descriptions.cc
[modify] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/ios_chrome_flag_descriptions.h
[modify] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/itunes_links/BUILD.gn
[add] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/itunes_links/itunes_links_flag.h
[add] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/itunes_links/itunes_links_flag.mm
[add] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper.h
[add] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper.mm
[add] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper_unittest.mm
[delete] https://crrev.com/3db61e79e472202aff089b27408870d498d235ca/ios/chrome/browser/itunes_links/itunes_links_observer.h
[delete] https://crrev.com/3db61e79e472202aff089b27408870d498d235ca/ios/chrome/browser/itunes_links/itunes_links_observer.mm
[delete] https://crrev.com/3db61e79e472202aff089b27408870d498d235ca/ios/chrome/browser/itunes_links/itunes_links_observer_unittest.mm
[modify] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/tabs/BUILD.gn
[modify] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/browser/tabs/tab_helper_util.mm
[modify] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/test/fakes/BUILD.gn
[add] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/test/fakes/fake_store_kit_launcher.h
[add] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/ios/chrome/test/fakes/fake_store_kit_launcher.mm
[modify] https://crrev.com/9dc442e92a39f1746faf62eb53d6163dfc6acdf9/tools/metrics/actions/actions.xml

Project Member

Comment 68 by bugdroid1@chromium.org, Mar 29 2018

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

commit 299f88c3454d010a40a0f666b2d573e6e29dc354
Author: mrefaat <mrefaat@chromium.org>
Date: Thu Mar 29 23:42:43 2018

Enable itunes links handler For canary

Open Storekit when users visit itunes http urls.

Bug:  623016 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I054144c712631c30ca0acecbcfa97ededd7950b2
Reviewed-on: https://chromium-review.googlesource.com/987116
Reviewed-by: Eugene But <eugenebut@chromium.org>
Commit-Queue: Mohammad Refaat <mrefaat@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547023}
[modify] https://crrev.com/299f88c3454d010a40a0f666b2d573e6e29dc354/ios/chrome/browser/itunes_links/itunes_links_flag.mm

Status: Fixed (was: Started)
Blocking: 641607
Blocking: 799582
Status: Verified (was: Fixed)
Verified in 67.0.3387.0 Canary, iPad Pro iOS11

Bling redirects app links to the app store correctly.
Project Member

Comment 73 by bugdroid1@chromium.org, Apr 11 2018

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

commit a3d9503dbe5ec1af47b240e384eba130a4bf065f
Author: Mohammad Refaat <mrefaat@chromium.org>
Date: Wed Apr 11 06:04:21 2018

Add UMA metric for StoreKit loading

Log IOS.StoreKitLoadedSuccessfully with the loading result when
loadProductWithParameters finish loading StoreKit.

Bug:  623016 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I6ac1fb583a85f40cbcf5f3c86816c0e1405061a2
Reviewed-on: https://chromium-review.googlesource.com/1005979
Commit-Queue: Mohammad Refaat <mrefaat@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549790}
[modify] https://crrev.com/a3d9503dbe5ec1af47b240e384eba130a4bf065f/ios/chrome/browser/store_kit/store_kit_coordinator.mm
[modify] https://crrev.com/a3d9503dbe5ec1af47b240e384eba130a4bf065f/tools/metrics/histograms/histograms.xml

Project Member

Comment 74 by bugdroid1@chromium.org, Apr 16 2018

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

commit 3d03e058a8882f58c8c8ee5518d804f176423091
Author: mrefaat <mrefaat@chromium.org>
Date: Mon Apr 16 23:41:05 2018

Add UMA Histogram logging for ITunesLinksHandlerTabHelper

Create IOS.ITunesURLsStoreKitHandlingResult to Histogram to log the
result of itunes url handling by storekit.

Bug:  623016 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I6a9b7db91743df90cc7f2af1e1e42567691618d4
Reviewed-on: https://chromium-review.googlesource.com/1010964
Commit-Queue: Mohammad Refaat <mrefaat@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551170}
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/ios/chrome/browser/itunes_links/BUILD.gn
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper.h
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper.mm
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper_unittest.mm
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/tools/metrics/histograms/histograms.xml

Labels: Merge-Approved-67
Request merge for the last CL (to add logging to the app bundle cases)
Labels: -Merge-Approved-67 Merge-Request-67
Project Member

Comment 77 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3d03e058a8882f58c8c8ee5518d804f176423091

commit 3d03e058a8882f58c8c8ee5518d804f176423091
Author: mrefaat <mrefaat@chromium.org>
Date: Mon Apr 16 23:41:05 2018

Add UMA Histogram logging for ITunesLinksHandlerTabHelper

Create IOS.ITunesURLsStoreKitHandlingResult to Histogram to log the
result of itunes url handling by storekit.

Bug:  623016 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I6a9b7db91743df90cc7f2af1e1e42567691618d4
Reviewed-on: https://chromium-review.googlesource.com/1010964
Commit-Queue: Mohammad Refaat <mrefaat@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551170}
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/ios/chrome/browser/itunes_links/BUILD.gn
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper.h
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper.mm
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper_unittest.mm
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/3d03e058a8882f58c8c8ee5518d804f176423091/tools/metrics/histograms/histograms.xml

Project Member

Comment 78 by sheriffbot@chromium.org, Apr 18 2018

Labels: -Merge-Request-67 Merge-Approved-67 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M67. Please go ahead and merge the CL to branch 3396 manually. Please contact milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Pls merge your change to M67 branch 3396 ASAP so we can pick it up for next M67 Dev/Beta release.

If already merged to M67 and nothing is pending, pls remove "Merge=Approved-67" label. Thank you.
Project Member

Comment 80 by bugdroid1@chromium.org, Apr 18 2018

Labels: -merge-approved-67 merge-merged-3396
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d9466f8e00a638ae50568753a951f5dbf29d5b92

commit d9466f8e00a638ae50568753a951f5dbf29d5b92
Author: mrefaat <mrefaat@chromium.org>
Date: Wed Apr 18 20:07:11 2018

Add UMA Histogram logging for ITunesLinksHandlerTabHelper

Create IOS.ITunesURLsStoreKitHandlingResult to Histogram to log the
result of itunes url handling by storekit.

Bug:  623016 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I6a9b7db91743df90cc7f2af1e1e42567691618d4
Reviewed-on: https://chromium-review.googlesource.com/1010964
Commit-Queue: Mohammad Refaat <mrefaat@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#551170}(cherry picked from commit 3d03e058a8882f58c8c8ee5518d804f176423091)
Reviewed-on: https://chromium-review.googlesource.com/1017361
Cr-Commit-Position: refs/branch-heads/3396@{#96}
Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428}
[modify] https://crrev.com/d9466f8e00a638ae50568753a951f5dbf29d5b92/ios/chrome/browser/itunes_links/BUILD.gn
[modify] https://crrev.com/d9466f8e00a638ae50568753a951f5dbf29d5b92/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper.h
[modify] https://crrev.com/d9466f8e00a638ae50568753a951f5dbf29d5b92/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper.mm
[modify] https://crrev.com/d9466f8e00a638ae50568753a951f5dbf29d5b92/ios/chrome/browser/itunes_links/itunes_links_handler_tab_helper_unittest.mm
[modify] https://crrev.com/d9466f8e00a638ae50568753a951f5dbf29d5b92/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/d9466f8e00a638ae50568753a951f5dbf29d5b92/tools/metrics/histograms/histograms.xml

Verified in 68.0.3405.0 Canary in iPad Pro(iOS 11.2.6)

Chrome displays the itunes app in a window, tapping on download icon will download the app 
Verified in chrome beta version 67.0.3396.17 on iPad Pro iOS 11.2.6, iPad Air with iOS 10.3.3 following steps mentioned in comment #0.  Chrome app directs to itunes app.  Looks good. 

Sign in to add a comment