From 8d6a125f667e8580662f0fa5783afbee0cc74d2a Mon Sep 17 00:00:00 2001 From: Yuxi Chen Date: Tue, 23 May 2017 18:34:34 -0700 Subject: [PATCH] amp-app-banner open url directly in non-embedded chrome ios (#9509) --- .../amp-app-banner/0.1/amp-app-banner.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/extensions/amp-app-banner/0.1/amp-app-banner.js b/extensions/amp-app-banner/0.1/amp-app-banner.js index d0ea29b40ee2..ea72793acf22 100644 --- a/extensions/amp-app-banner/0.1/amp-app-banner.js +++ b/extensions/amp-app-banner/0.1/amp-app-banner.js @@ -29,6 +29,7 @@ import {parseUrl} from '../../../src/url'; import {isProxyOrigin, isProtocolValid} from '../../../src/url'; const TAG = 'amp-app-banner'; +const OPEN_LINK_TIMEOUT = 1500; /** * visible for testing. @@ -254,10 +255,17 @@ export class AmpIosAppBanner extends AbstractAppBanner { /** @override */ openButtonClicked(openInAppUrl, installAppUrl) { - timerFor(this.win).delay(() => { - this.viewer_.sendMessage('navigateTo', {url: installAppUrl}); - }, 1500); - this.viewer_.sendMessage('navigateTo', {url: openInAppUrl}); + if (!this.viewer_.isEmbedded()) { + timerFor(this.win).delay(() => { + openWindowDialog(this.win, installAppUrl, '_top'); + }, OPEN_LINK_TIMEOUT); + openWindowDialog(this.win, openInAppUrl, '_top'); + } else { + timerFor(this.win).delay(() => { + this.viewer_.sendMessage('navigateTo', {url: installAppUrl}); + }, OPEN_LINK_TIMEOUT); + this.viewer_.sendMessage('navigateTo', {url: openInAppUrl}); + } } /** @@ -380,7 +388,7 @@ export class AmpAndroidAppBanner extends AbstractAppBanner { openButtonClicked(openInAppUrl, installAppUrl) { timerFor(this.win).delay(() => { this.redirectTopLocation_(installAppUrl); - }, 1500); + }, OPEN_LINK_TIMEOUT); openWindowDialog(this.win, openInAppUrl, '_top'); }