Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Side by Side Diff: ios/chrome/browser/web/external_app_launcher.mm

Issue 2875153002: Remove Experimental Flag ExternalAppPromptDisabled (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ios/chrome/browser/resources/Settings.bundle/Experimental.plist ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/chrome/browser/web/external_app_launcher.h" 5 #import "ios/chrome/browser/web/external_app_launcher.h"
6 6
7 #include "base/ios/ios_util.h" 7 #include "base/ios/ios_util.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/metrics/histogram_macros.h" 9 #include "base/metrics/histogram_macros.h"
10 #include "base/strings/sys_string_conversions.h" 10 #include "base/strings/sys_string_conversions.h"
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 withObject:URL 170 withObject:URL
171 afterDelay:0.0]; 171 afterDelay:0.0];
172 return YES; 172 return YES;
173 } 173 }
174 174
175 // Don't open external application if chrome is not active. 175 // Don't open external application if chrome is not active.
176 if ([[UIApplication sharedApplication] applicationState] != 176 if ([[UIApplication sharedApplication] applicationState] !=
177 UIApplicationStateActive) 177 UIApplicationStateActive)
178 return NO; 178 return NO;
179 179
180 if (experimental_flags::IsExternalApplicationPromptEnabled()) { 180 // Prompt user to open itunes when opening it is not a result of a link
181 // Prompt user to open itunes when opening it is not a result of a link 181 // click.
182 // click. 182 if (!linkClicked && UrlHasAppStoreScheme(gURL)) {
183 if (!linkClicked && UrlHasAppStoreScheme(gURL)) { 183 [self performSelector:@selector(openExternalAppWithPromptForURL:)
184 [self performSelector:@selector(openExternalAppWithPromptForURL:) 184 withObject:URL
185 withObject:URL 185 afterDelay:0.0];
186 afterDelay:0.0]; 186 return YES;
187 return YES;
188 }
189 } 187 }
190 188
191 // Replaces |URL| with a rewritten URL if it is of mailto: scheme. 189 // Replaces |URL| with a rewritten URL if it is of mailto: scheme.
192 if (!experimental_flags::IsNativeAppLauncherEnabled() && 190 if (!experimental_flags::IsNativeAppLauncherEnabled() &&
193 gURL.SchemeIs(url::kMailToScheme)) { 191 gURL.SchemeIs(url::kMailToScheme)) {
194 MailtoURLRewriter* rewriter = 192 MailtoURLRewriter* rewriter =
195 [[MailtoURLRewriter alloc] initWithStandardHandlers]; 193 [[MailtoURLRewriter alloc] initWithStandardHandlers];
196 NSString* launchURL = [rewriter rewriteMailtoURL:gURL]; 194 NSString* launchURL = [rewriter rewriteMailtoURL:gURL];
197 if (launchURL) { 195 if (launchURL) {
198 URL = [NSURL URLWithString:launchURL]; 196 URL = [NSURL URLWithString:launchURL];
199 } 197 }
200 UMA_HISTOGRAM_BOOLEAN("IOS.MailtoURLRewritten", launchURL != nil); 198 UMA_HISTOGRAM_BOOLEAN("IOS.MailtoURLRewritten", launchURL != nil);
201 } 199 }
202 200
203 // If the following call returns YES, an external application is about to be 201 // If the following call returns YES, an external application is about to be
204 // launched and Chrome will go into the background now. 202 // launched and Chrome will go into the background now.
205 // TODO(crbug.com/622735): This call still needs to be updated. 203 // TODO(crbug.com/622735): This call still needs to be updated.
206 // It's heavily nested so some refactoring is needed. 204 // It's heavily nested so some refactoring is needed.
207 return [[UIApplication sharedApplication] openURL:URL]; 205 return [[UIApplication sharedApplication] openURL:URL];
208 } 206 }
209 207
210 @end 208 @end
OLDNEW
« no previous file with comments | « ios/chrome/browser/resources/Settings.bundle/Experimental.plist ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698