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

Side by Side Diff: ios/chrome/browser/ui/commands/set_up_for_testing_command.mm

Issue 1124173004: [iOS] Upstream //ios/chrome/browser/ui/commands changes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compilation Created 5 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
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/ui/commands/set_up_for_testing_command.h" 5 #import "ios/chrome/browser/ui/commands/set_up_for_testing_command.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/strings/string_number_conversions.h"
8 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" 9 #include "ios/chrome/browser/ui/commands/ios_command_ids.h"
9 #import "net/base/mac/url_conversions.h" 10 #include "net/base/url_util.h"
10 #import "third_party/google_toolbox_for_mac/src/Foundation/GTMNSDictionary+URLAr guments.h"
11 #include "url/gurl.h" 11 #include "url/gurl.h"
12 12
13 namespace { 13 namespace {
14 // Clear all browsing data. 14 // Clear all browsing data.
15 NSString* const kClearBrowsingData = @"clearBrowsingData"; 15 const char kClearBrowsingData[] = "clearBrowsingData";
16 // Close existing tabs. 16 // Close existing tabs.
17 NSString* const kCloseTabs = @"closeTabs"; 17 const char kCloseTabs[] = "closeTabs";
18 // Number of new tabs. 18 // Number of new tabs.
19 NSString* const kNumberOfNewTabs = @"numberOfNewTabs"; 19 const char kNumberOfNewTabs[] = "numberOfNewTabs";
20 } // namespace 20 } // namespace
21 21
22 @implementation SetUpForTestingCommand { 22 @implementation SetUpForTestingCommand
23 // Whether the browsing data should be cleared.
24 BOOL _clearBrowsingData;
25 // Whether the existing tabs should be closed.
26 BOOL _closeTabs;
27 // The number of new tabs to create.
28 NSInteger _numberOfNewTabs;
29 }
30 23
31 @synthesize clearBrowsingData = _clearBrowsingData; 24 @synthesize clearBrowsingData = _clearBrowsingData;
32 @synthesize closeTabs = _closeTabs; 25 @synthesize closeTabs = _closeTabs;
33 @synthesize numberOfNewTabs = _numberOfNewTabs; 26 @synthesize numberOfNewTabs = _numberOfNewTabs;
34 27
28 - (instancetype)initWithTag:(NSInteger)tag {
29 NOTREACHED();
30 return nil;
31 }
32
35 - (instancetype)initWithURL:(const GURL&)url { 33 - (instancetype)initWithURL:(const GURL&)url {
36 // TODO(ios): Rewrite to use GetValueForKeyInQuery. 34 std::string value;
37 NSURL* nsurl = net::NSURLWithGURL(url); 35 int numberOfNewTabs = 0;
38 DCHECK(nsurl); 36 if (net::GetValueForKeyInQuery(url, kNumberOfNewTabs, &value)) {
39 NSDictionary* urlArguments = 37 if (!base::StringToInt(value, &numberOfNewTabs) || numberOfNewTabs < 0) {
40 [NSDictionary gtm_dictionaryWithHttpArgumentsString:nsurl.query]; 38 // Ignore incorrect value for "numberOfNewTabs".
41 BOOL clearBrowsingData = 39 numberOfNewTabs = 0;
42 [urlArguments objectForKey:kClearBrowsingData] != nil; 40 }
43 BOOL closeTabs = [urlArguments objectForKey:kCloseTabs] != nil; 41 }
44 NSInteger numberOfNewTabs = 42 std::string ignored;
45 [[urlArguments objectForKey:kNumberOfNewTabs] integerValue]; 43 bool clearBrowsingData =
46 44 net::GetValueForKeyInQuery(url, kClearBrowsingData, &ignored);
45 bool closeTabs = net::GetValueForKeyInQuery(url, kCloseTabs, &ignored);
47 return [self initWithClearBrowsingData:clearBrowsingData 46 return [self initWithClearBrowsingData:clearBrowsingData
48 closeTabs:closeTabs 47 closeTabs:closeTabs
49 numberOfNewTabs:numberOfNewTabs]; 48 numberOfNewTabs:numberOfNewTabs];
50 } 49 }
51 50
52 - (instancetype)initWithClearBrowsingData:(BOOL)clearBrowsingData 51 - (instancetype)initWithClearBrowsingData:(BOOL)clearBrowsingData
53 closeTabs:(BOOL)closeTabs 52 closeTabs:(BOOL)closeTabs
54 numberOfNewTabs:(NSInteger)numberOfNewTabs { 53 numberOfNewTabs:(NSInteger)numberOfNewTabs {
55 self = [super init]; 54 self = [super initWithTag:IDC_SETUP_FOR_TESTING];
56 if (self) { 55 if (self) {
57 _clearBrowsingData = clearBrowsingData; 56 _clearBrowsingData = clearBrowsingData;
58 _closeTabs = closeTabs; 57 _closeTabs = closeTabs;
59 _numberOfNewTabs = numberOfNewTabs; 58 _numberOfNewTabs = numberOfNewTabs;
60 } 59 }
61 return self; 60 return self;
62 } 61 }
63 62
64 - (NSInteger)tag {
65 return IDC_SETUP_FOR_TESTING;
66 }
67
68 @end 63 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698