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

Side by Side Diff: ios/chrome/test/app/history_test_util.mm

Issue 2580333003: Upstream Chrome on iOS source code [10/11]. (Closed)
Patch Set: Created 4 years 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/test/app/history_test_util.h ('k') | ios/chrome/test/app/navigation_test_util.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ios/chrome/test/app/history_test_util.h"
6
7 #include "base/mac/bind_objc_block.h"
8 #include "base/test/ios/wait_util.h"
9 #include "components/browsing_data/core/browsing_data_utils.h"
10 #import "ios/chrome/app/main_controller.h"
11 #import "ios/chrome/app/main_controller_private.h"
12 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
13 #include "ios/chrome/browser/browsing_data/ios_chrome_browsing_data_remover.h"
14 #include "ios/chrome/browser/callback_counter.h"
15 #import "ios/chrome/test/app/chrome_test_util.h"
16
17 namespace chrome_test_util {
18
19 void ClearBrowsingHistory() {
20 MainController* main_controller = GetMainController();
21 ios::ChromeBrowserState* active_state = GetOriginalBrowserState();
22 scoped_refptr<CallbackCounter> callback_counter(
23 new CallbackCounter(base::BindBlock(^{
24 })));
25 callback_counter->IncrementCount();
26 __block bool did_complete = false;
27 [main_controller
28 removeBrowsingDataFromBrowserState:active_state
29 mask:IOSChromeBrowsingDataRemover::
30 REMOVE_HISTORY
31 timePeriod:browsing_data::ALL_TIME
32 completionHandler:^{
33 callback_counter->DecrementCount();
34 did_complete = true;
35 }];
36 // TODO(crbug.com/631795): This is a workaround that will be removed soon.
37 // This code waits for success or timeout, then returns. This needs to be
38 // fixed so that failure is correctly marked here, or the caller handles
39 // waiting for the operation to complete.
40 // Wait for history to be cleared.
41 NSDate* deadline = [NSDate dateWithTimeIntervalSinceNow:4.0];
42 while (!did_complete &&
43 [[NSDate date] compare:deadline] != NSOrderedDescending) {
44 base::test::ios::SpinRunLoopWithMaxDelay(
45 base::TimeDelta::FromSecondsD(0.1));
46 }
47 }
48
49 } // namespace chrome_test_util
OLDNEW
« no previous file with comments | « ios/chrome/test/app/history_test_util.h ('k') | ios/chrome/test/app/navigation_test_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698