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

Side by Side Diff: ios/chrome/app/chrome_app_startup_parameters.mm

Issue 2923013005: Removed XCallbackParameters and related code. (Closed)
Patch Set: rebase Created 3 years, 5 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/app/chrome_app_startup_parameters.h" 5 #import "ios/chrome/app/chrome_app_startup_parameters.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/mac/foundation_util.h" 8 #include "base/mac/foundation_util.h"
9 #include "base/metrics/histogram_macros.h" 9 #include "base/metrics/histogram_macros.h"
10 #include "base/metrics/user_metrics_action.h" 10 #include "base/metrics/user_metrics_action.h"
11 #include "base/strings/sys_string_conversions.h" 11 #include "base/strings/sys_string_conversions.h"
12 #include "ios/chrome/browser/chrome_url_constants.h" 12 #include "ios/chrome/browser/chrome_url_constants.h"
13 #include "ios/chrome/browser/xcallback_parameters.h"
14 #include "ios/chrome/common/app_group/app_group_constants.h" 13 #include "ios/chrome/common/app_group/app_group_constants.h"
15 #include "ios/chrome/common/x_callback_url.h" 14 #include "ios/chrome/common/x_callback_url.h"
16 #import "net/base/mac/url_conversions.h" 15 #import "net/base/mac/url_conversions.h"
17 #include "url/gurl.h" 16 #include "url/gurl.h"
18 17
19 #if !defined(__has_feature) || !__has_feature(objc_arc) 18 #if !defined(__has_feature) || !__has_feature(objc_arc)
20 #error "This file requires ARC support." 19 #error "This file requires ARC support."
21 #endif 20 #endif
22 21
23 namespace { 22 namespace {
(...skipping 25 matching lines...) Expand all
49 48
50 } // namespace 49 } // namespace
51 50
52 @implementation ChromeAppStartupParameters { 51 @implementation ChromeAppStartupParameters {
53 NSString* _secureSourceApp; 52 NSString* _secureSourceApp;
54 NSString* _declaredSourceApp; 53 NSString* _declaredSourceApp;
55 NSURL* _completeURL; 54 NSURL* _completeURL;
56 } 55 }
57 56
58 - (instancetype)initWithExternalURL:(const GURL&)externalURL 57 - (instancetype)initWithExternalURL:(const GURL&)externalURL
59 xCallbackParameters:(XCallbackParameters*)xCallbackParameters {
60 NOTREACHED();
61 return nil;
62 }
63
64 - (instancetype)initWithExternalURL:(const GURL&)externalURL
65 xCallbackParameters:(XCallbackParameters*)xCallbackParameters
66 declaredSourceApp:(NSString*)declaredSourceApp 58 declaredSourceApp:(NSString*)declaredSourceApp
67 secureSourceApp:(NSString*)secureSourceApp 59 secureSourceApp:(NSString*)secureSourceApp
68 completeURL:(NSURL*)completeURL { 60 completeURL:(NSURL*)completeURL {
69 self = [super initWithExternalURL:externalURL 61 self = [super initWithExternalURL:externalURL];
70 xCallbackParameters:xCallbackParameters];
71 if (self) { 62 if (self) {
72 _declaredSourceApp = [declaredSourceApp copy]; 63 _declaredSourceApp = [declaredSourceApp copy];
73 _secureSourceApp = [secureSourceApp copy]; 64 _secureSourceApp = [secureSourceApp copy];
74 _completeURL = completeURL; 65 _completeURL = completeURL;
75 } 66 }
76 return self; 67 return self;
77 } 68 }
78 69
79 + (instancetype)newChromeAppStartupParametersWithURL:(NSURL*)completeURL 70 + (instancetype)newChromeAppStartupParametersWithURL:(NSURL*)completeURL
80 fromSourceApplication:(NSString*)appId { 71 fromSourceApplication:(NSString*)appId {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 MOBILE_SESSION_START_ACTION_COUNT); 104 MOBILE_SESSION_START_ACTION_COUNT);
114 105
115 std::map<std::string, std::string> parameters = 106 std::map<std::string, std::string> parameters =
116 ExtractQueryParametersFromXCallbackURL(gurl); 107 ExtractQueryParametersFromXCallbackURL(gurl);
117 GURL url = GURL(parameters["url"]); 108 GURL url = GURL(parameters["url"]);
118 if (!url.is_valid() || 109 if (!url.is_valid() ||
119 (!url.SchemeIs(url::kHttpScheme) && !url.SchemeIs(url::kHttpsScheme))) { 110 (!url.SchemeIs(url::kHttpScheme) && !url.SchemeIs(url::kHttpsScheme))) {
120 return nil; 111 return nil;
121 } 112 }
122 113
123 XCallbackParameters* xcallbackParameters =
124 [[XCallbackParameters alloc] initWithSourceAppId:appId];
125
126 return [[ChromeAppStartupParameters alloc] 114 return [[ChromeAppStartupParameters alloc]
127 initWithExternalURL:url 115 initWithExternalURL:url
128 xCallbackParameters:xcallbackParameters
129 declaredSourceApp:appId 116 declaredSourceApp:appId
130 secureSourceApp:nil 117 secureSourceApp:nil
131 completeURL:completeURL]; 118 completeURL:completeURL];
132 119
133 } else if (gurl.SchemeIsFile()) { 120 } else if (gurl.SchemeIsFile()) {
134 UMA_HISTOGRAM_ENUMERATION(kUMAMobileSessionStartActionHistogram, 121 UMA_HISTOGRAM_ENUMERATION(kUMAMobileSessionStartActionHistogram,
135 START_ACTION_OPEN_FILE, 122 START_ACTION_OPEN_FILE,
136 MOBILE_SESSION_START_ACTION_COUNT); 123 MOBILE_SESSION_START_ACTION_COUNT);
137 // |url| is the path to a file received from another application. 124 // |url| is the path to a file received from another application.
138 GURL::Replacements replacements; 125 GURL::Replacements replacements;
139 const std::string host(kChromeUIExternalFileHost); 126 const std::string host(kChromeUIExternalFileHost);
140 std::string filename = gurl.ExtractFileName(); 127 std::string filename = gurl.ExtractFileName();
141 replacements.SetPathStr(filename); 128 replacements.SetPathStr(filename);
142 replacements.SetSchemeStr(kChromeUIScheme); 129 replacements.SetSchemeStr(kChromeUIScheme);
143 replacements.SetHostStr(host); 130 replacements.SetHostStr(host);
144 GURL externalURL = gurl.ReplaceComponents(replacements); 131 GURL externalURL = gurl.ReplaceComponents(replacements);
145 if (!externalURL.is_valid()) 132 if (!externalURL.is_valid())
146 return nil; 133 return nil;
147 return [[ChromeAppStartupParameters alloc] initWithExternalURL:externalURL 134 return [[ChromeAppStartupParameters alloc] initWithExternalURL:externalURL
148 xCallbackParameters:nil
149 declaredSourceApp:appId 135 declaredSourceApp:appId
150 secureSourceApp:nil 136 secureSourceApp:nil
151 completeURL:completeURL]; 137 completeURL:completeURL];
152 } else { 138 } else {
153 // Replace the scheme with https or http depending on whether the input 139 // Replace the scheme with https or http depending on whether the input
154 // |url| scheme ends with an 's'. 140 // |url| scheme ends with an 's'.
155 BOOL useHttps = gurl.scheme()[gurl.scheme().length() - 1] == 's'; 141 BOOL useHttps = gurl.scheme()[gurl.scheme().length() - 1] == 's';
156 MobileSessionStartAction action = 142 MobileSessionStartAction action =
157 useHttps ? START_ACTION_OPEN_HTTPS : START_ACTION_OPEN_HTTP; 143 useHttps ? START_ACTION_OPEN_HTTPS : START_ACTION_OPEN_HTTP;
158 UMA_HISTOGRAM_ENUMERATION(kUMAMobileSessionStartActionHistogram, action, 144 UMA_HISTOGRAM_ENUMERATION(kUMAMobileSessionStartActionHistogram, action,
159 MOBILE_SESSION_START_ACTION_COUNT); 145 MOBILE_SESSION_START_ACTION_COUNT);
160 GURL::Replacements replace_scheme; 146 GURL::Replacements replace_scheme;
161 if (useHttps) 147 if (useHttps)
162 replace_scheme.SetSchemeStr(url::kHttpsScheme); 148 replace_scheme.SetSchemeStr(url::kHttpsScheme);
163 else 149 else
164 replace_scheme.SetSchemeStr(url::kHttpScheme); 150 replace_scheme.SetSchemeStr(url::kHttpScheme);
165 GURL externalURL = gurl.ReplaceComponents(replace_scheme); 151 GURL externalURL = gurl.ReplaceComponents(replace_scheme);
166 if (!externalURL.is_valid()) 152 if (!externalURL.is_valid())
167 return nil; 153 return nil;
168 return [[ChromeAppStartupParameters alloc] initWithExternalURL:externalURL 154 return [[ChromeAppStartupParameters alloc] initWithExternalURL:externalURL
169 xCallbackParameters:nil
170 declaredSourceApp:appId 155 declaredSourceApp:appId
171 secureSourceApp:nil 156 secureSourceApp:nil
172 completeURL:completeURL]; 157 completeURL:completeURL];
173 } 158 }
174 } 159 }
175 160
176 + (instancetype)newExtensionCommandAppStartupParametersFromWithURL:(NSURL*)url 161 + (instancetype)newExtensionCommandAppStartupParametersFromWithURL:(NSURL*)url
177 fromSourceApplication: 162 fromSourceApplication:
178 (NSString*)appId { 163 (NSString*)appId {
179 NSString* appGroup = app_group::ApplicationGroup(); 164 NSString* appGroup = app_group::ApplicationGroup();
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 + (instancetype)newAppStartupParametersForCommand:(NSString*)command 221 + (instancetype)newAppStartupParametersForCommand:(NSString*)command
237 withParameter:(id)parameter 222 withParameter:(id)parameter
238 withURL:(NSURL*)url 223 withURL:(NSURL*)url
239 fromSourceApplication:(NSString*)appId 224 fromSourceApplication:(NSString*)appId
240 fromSecureSourceApplication:(NSString*)secureSourceApp { 225 fromSecureSourceApplication:(NSString*)secureSourceApp {
241 if ([command 226 if ([command
242 isEqualToString:base::SysUTF8ToNSString( 227 isEqualToString:base::SysUTF8ToNSString(
243 app_group::kChromeAppGroupVoiceSearchCommand)]) { 228 app_group::kChromeAppGroupVoiceSearchCommand)]) {
244 ChromeAppStartupParameters* params = [[ChromeAppStartupParameters alloc] 229 ChromeAppStartupParameters* params = [[ChromeAppStartupParameters alloc]
245 initWithExternalURL:GURL(kChromeUINewTabURL) 230 initWithExternalURL:GURL(kChromeUINewTabURL)
246 xCallbackParameters:nil
247 declaredSourceApp:appId 231 declaredSourceApp:appId
248 secureSourceApp:secureSourceApp 232 secureSourceApp:secureSourceApp
249 completeURL:url]; 233 completeURL:url];
250 [params setLaunchVoiceSearch:YES]; 234 [params setLaunchVoiceSearch:YES];
251 return params; 235 return params;
252 } 236 }
253 237
254 if ([command isEqualToString:base::SysUTF8ToNSString( 238 if ([command isEqualToString:base::SysUTF8ToNSString(
255 app_group::kChromeAppGroupNewTabCommand)]) { 239 app_group::kChromeAppGroupNewTabCommand)]) {
256 return [[ChromeAppStartupParameters alloc] 240 return [[ChromeAppStartupParameters alloc]
257 initWithExternalURL:GURL(kChromeUINewTabURL) 241 initWithExternalURL:GURL(kChromeUINewTabURL)
258 xCallbackParameters:nil
259 declaredSourceApp:appId 242 declaredSourceApp:appId
260 secureSourceApp:secureSourceApp 243 secureSourceApp:secureSourceApp
261 completeURL:url]; 244 completeURL:url];
262 } 245 }
263 246
264 if ([command 247 if ([command
265 isEqualToString:base::SysUTF8ToNSString( 248 isEqualToString:base::SysUTF8ToNSString(
266 app_group::kChromeAppGroupFocusOmniboxCommand)]) { 249 app_group::kChromeAppGroupFocusOmniboxCommand)]) {
267 ChromeAppStartupParameters* params = [[ChromeAppStartupParameters alloc] 250 ChromeAppStartupParameters* params = [[ChromeAppStartupParameters alloc]
268 initWithExternalURL:GURL(kChromeUINewTabURL) 251 initWithExternalURL:GURL(kChromeUINewTabURL)
269 xCallbackParameters:nil
270 declaredSourceApp:appId 252 declaredSourceApp:appId
271 secureSourceApp:secureSourceApp 253 secureSourceApp:secureSourceApp
272 completeURL:url]; 254 completeURL:url];
273 [params setLaunchFocusOmnibox:YES]; 255 [params setLaunchFocusOmnibox:YES];
274 return params; 256 return params;
275 } 257 }
276 258
277 if ([command isEqualToString:base::SysUTF8ToNSString( 259 if ([command isEqualToString:base::SysUTF8ToNSString(
278 app_group::kChromeAppGroupOpenURLCommand)]) { 260 app_group::kChromeAppGroupOpenURLCommand)]) {
279 if (!parameter || ![parameter isKindOfClass:[NSString class]]) 261 if (!parameter || ![parameter isKindOfClass:[NSString class]])
280 return nil; 262 return nil;
281 GURL externalURL(base::SysNSStringToUTF8(parameter)); 263 GURL externalURL(base::SysNSStringToUTF8(parameter));
282 if (!externalURL.is_valid() || !externalURL.SchemeIsHTTPOrHTTPS()) 264 if (!externalURL.is_valid() || !externalURL.SchemeIsHTTPOrHTTPS())
283 return nil; 265 return nil;
284 return 266 return
285 [[ChromeAppStartupParameters alloc] initWithExternalURL:externalURL 267 [[ChromeAppStartupParameters alloc] initWithExternalURL:externalURL
286 xCallbackParameters:nil
287 declaredSourceApp:appId 268 declaredSourceApp:appId
288 secureSourceApp:secureSourceApp 269 secureSourceApp:secureSourceApp
289 completeURL:url]; 270 completeURL:url];
290 } 271 }
291 272
292 if ([command 273 if ([command
293 isEqualToString:base::SysUTF8ToNSString( 274 isEqualToString:base::SysUTF8ToNSString(
294 app_group::kChromeAppGroupQRScannerCommand)]) { 275 app_group::kChromeAppGroupQRScannerCommand)]) {
295 ChromeAppStartupParameters* params = [[ChromeAppStartupParameters alloc] 276 ChromeAppStartupParameters* params = [[ChromeAppStartupParameters alloc]
296 initWithExternalURL:GURL(kChromeUINewTabURL) 277 initWithExternalURL:GURL(kChromeUINewTabURL)
297 xCallbackParameters:nil
298 declaredSourceApp:appId 278 declaredSourceApp:appId
299 secureSourceApp:secureSourceApp 279 secureSourceApp:secureSourceApp
300 completeURL:url]; 280 completeURL:url];
301 [params setLaunchQRScanner:YES]; 281 [params setLaunchQRScanner:YES];
302 return params; 282 return params;
303 } 283 }
304 284
305 if ([command isEqualToString: 285 if ([command isEqualToString:
306 base::SysUTF8ToNSString( 286 base::SysUTF8ToNSString(
307 app_group::kChromeAppGroupIncognitoSearchCommand)]) { 287 app_group::kChromeAppGroupIncognitoSearchCommand)]) {
308 ChromeAppStartupParameters* params = [[ChromeAppStartupParameters alloc] 288 ChromeAppStartupParameters* params = [[ChromeAppStartupParameters alloc]
309 initWithExternalURL:GURL(kChromeUINewTabURL) 289 initWithExternalURL:GURL(kChromeUINewTabURL)
310 xCallbackParameters:nil
311 declaredSourceApp:appId 290 declaredSourceApp:appId
312 secureSourceApp:secureSourceApp 291 secureSourceApp:secureSourceApp
313 completeURL:url]; 292 completeURL:url];
314 [params setLaunchInIncognito:YES]; 293 [params setLaunchInIncognito:YES];
315 [params setLaunchFocusOmnibox:YES]; 294 [params setLaunchFocusOmnibox:YES];
316 return params; 295 return params;
317 } 296 }
318 297
319 return nil; 298 return nil;
320 } 299 }
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 } 353 }
375 if (found.location > 0) { 354 if (found.location > 0) {
376 unichar charBefore = [query characterAtIndex:(found.location - 1)]; 355 unichar charBefore = [query characterAtIndex:(found.location - 1)];
377 if (charBefore != '&') 356 if (charBefore != '&')
378 return first_run::LAUNCH_BY_MOBILESAFARI; 357 return first_run::LAUNCH_BY_MOBILESAFARI;
379 } 358 }
380 return first_run::LAUNCH_BY_SMARTAPPBANNER; 359 return first_run::LAUNCH_BY_SMARTAPPBANNER;
381 } 360 }
382 361
383 @end 362 @end
OLDNEW
« no previous file with comments | « ios/chrome/app/chrome_app_startup_parameters.h ('k') | ios/chrome/app/chrome_app_startup_parameters_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698