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

Side by Side Diff: chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc

Issue 2104393002: Adds UMA for PrerenderingOffliner request processing result status. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 2016 The Chromium Authors. All rights reserved. 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 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 #include "chrome/browser/android/offline_pages/prerendering_offliner.h" 5 #include "chrome/browser/android/offline_pages/prerendering_offliner.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 bool CanPrerender() override { return can_prerender_; } 50 bool CanPrerender() override { return can_prerender_; }
51 bool IsIdle() override { return !mock_loading_ && !mock_loaded_; } 51 bool IsIdle() override { return !mock_loading_ && !mock_loaded_; }
52 bool IsLoaded() override { return mock_loaded_; } 52 bool IsLoaded() override { return mock_loaded_; }
53 53
54 void CompleteLoadingAsFailed() { 54 void CompleteLoadingAsFailed() {
55 DCHECK(mock_loading_); 55 DCHECK(mock_loading_);
56 mock_loading_ = false; 56 mock_loading_ = false;
57 mock_loaded_ = false; 57 mock_loaded_ = false;
58 base::ThreadTaskRunnerHandle::Get()->PostTask( 58 base::ThreadTaskRunnerHandle::Get()->PostTask(
59 FROM_HERE, 59 FROM_HERE,
60 base::Bind(load_page_callback_, Offliner::RequestStatus::FAILED, 60 base::Bind(load_page_callback_, Offliner::RequestStatus::LOAD_FAILED,
61 nullptr /* web_contents */)); 61 nullptr /* web_contents */));
62 } 62 }
63 63
64 void CompleteLoadingAsLoaded() { 64 void CompleteLoadingAsLoaded() {
65 DCHECK(mock_loading_); 65 DCHECK(mock_loading_);
66 mock_loading_ = false; 66 mock_loading_ = false;
67 mock_loaded_ = true; 67 mock_loaded_ = true;
68 base::ThreadTaskRunnerHandle::Get()->PostTask( 68 base::ThreadTaskRunnerHandle::Get()->PostTask(
69 FROM_HERE, 69 FROM_HERE,
70 base::Bind(load_page_callback_, Offliner::RequestStatus::LOADED, 70 base::Bind(load_page_callback_, Offliner::RequestStatus::LOADED,
71 content::WebContentsTester::CreateTestWebContents( 71 content::WebContentsTester::CreateTestWebContents(
72 new TestingProfile(), NULL))); 72 new TestingProfile(), NULL)));
73 } 73 }
74 74
75 void CompleteLoadingAsCanceled() { 75 void CompleteLoadingAsCanceled() {
76 DCHECK(!IsIdle()); 76 DCHECK(!IsIdle());
77 mock_loading_ = false; 77 mock_loading_ = false;
78 mock_loaded_ = false; 78 mock_loaded_ = false;
79 base::ThreadTaskRunnerHandle::Get()->PostTask( 79 base::ThreadTaskRunnerHandle::Get()->PostTask(
80 FROM_HERE, 80 FROM_HERE,
81 base::Bind(load_page_callback_, Offliner::RequestStatus::CANCELED, 81 base::Bind(load_page_callback_, Offliner::RequestStatus::LOAD_CANCELED,
82 nullptr /* web_contents */)); 82 nullptr /* web_contents */));
83 } 83 }
84 84
85 void DisablePrerendering() { can_prerender_ = false; } 85 void DisablePrerendering() { can_prerender_ = false; }
86 const LoadPageCallback& load_page_callback() { return load_page_callback_; } 86 const LoadPageCallback& load_page_callback() { return load_page_callback_; }
87 87
88 private: 88 private:
89 bool can_prerender_; 89 bool can_prerender_;
90 bool mock_loading_; 90 bool mock_loading_;
91 bool mock_loaded_; 91 bool mock_loaded_;
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 TEST_F(PrerenderingOfflinerTest, LoadAndSaveLoadStartedButFails) { 214 TEST_F(PrerenderingOfflinerTest, LoadAndSaveLoadStartedButFails) {
215 base::Time creation_time = base::Time::Now(); 215 base::Time creation_time = base::Time::Now();
216 SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time); 216 SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time);
217 EXPECT_TRUE(offliner()->LoadAndSave(request, callback())); 217 EXPECT_TRUE(offliner()->LoadAndSave(request, callback()));
218 EXPECT_FALSE(loader()->IsIdle()); 218 EXPECT_FALSE(loader()->IsIdle());
219 EXPECT_EQ(Offliner::RequestStatus::UNKNOWN, request_status()); 219 EXPECT_EQ(Offliner::RequestStatus::UNKNOWN, request_status());
220 220
221 loader()->CompleteLoadingAsFailed(); 221 loader()->CompleteLoadingAsFailed();
222 PumpLoop(); 222 PumpLoop();
223 EXPECT_TRUE(completion_callback_called()); 223 EXPECT_TRUE(completion_callback_called());
224 EXPECT_EQ(Offliner::RequestStatus::FAILED, request_status()); 224 EXPECT_EQ(Offliner::RequestStatus::LOAD_FAILED, request_status());
225 EXPECT_TRUE(loader()->IsIdle()); 225 EXPECT_TRUE(loader()->IsIdle());
226 EXPECT_FALSE(SaveInProgress()); 226 EXPECT_FALSE(SaveInProgress());
227 } 227 }
228 228
229 TEST_F(PrerenderingOfflinerTest, CancelWhenLoading) { 229 TEST_F(PrerenderingOfflinerTest, CancelWhenLoading) {
230 base::Time creation_time = base::Time::Now(); 230 base::Time creation_time = base::Time::Now();
231 SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time); 231 SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time);
232 EXPECT_TRUE(offliner()->LoadAndSave(request, callback())); 232 EXPECT_TRUE(offliner()->LoadAndSave(request, callback()));
233 EXPECT_FALSE(loader()->IsIdle()); 233 EXPECT_FALSE(loader()->IsIdle());
234 234
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 273
274 loader()->CompleteLoadingAsLoaded(); 274 loader()->CompleteLoadingAsLoaded();
275 PumpLoop(); 275 PumpLoop();
276 EXPECT_FALSE(completion_callback_called()); 276 EXPECT_FALSE(completion_callback_called());
277 EXPECT_TRUE(loader()->IsLoaded()); 277 EXPECT_TRUE(loader()->IsLoaded());
278 EXPECT_TRUE(SaveInProgress()); 278 EXPECT_TRUE(SaveInProgress());
279 279
280 model()->CompleteSavingAsArchiveCreationFailed(); 280 model()->CompleteSavingAsArchiveCreationFailed();
281 PumpLoop(); 281 PumpLoop();
282 EXPECT_TRUE(completion_callback_called()); 282 EXPECT_TRUE(completion_callback_called());
283 EXPECT_EQ(Offliner::RequestStatus::FAILED_SAVE, request_status()); 283 EXPECT_EQ(Offliner::RequestStatus::SAVE_FAILED, request_status());
284 EXPECT_FALSE(loader()->IsLoaded()); 284 EXPECT_FALSE(loader()->IsLoaded());
285 EXPECT_FALSE(SaveInProgress()); 285 EXPECT_FALSE(SaveInProgress());
286 } 286 }
287 287
288 TEST_F(PrerenderingOfflinerTest, LoadAndSaveSuccessful) { 288 TEST_F(PrerenderingOfflinerTest, LoadAndSaveSuccessful) {
289 base::Time creation_time = base::Time::Now(); 289 base::Time creation_time = base::Time::Now();
290 SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time); 290 SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time);
291 EXPECT_TRUE(offliner()->LoadAndSave(request, callback())); 291 EXPECT_TRUE(offliner()->LoadAndSave(request, callback()));
292 EXPECT_FALSE(loader()->IsIdle()); 292 EXPECT_FALSE(loader()->IsIdle());
293 EXPECT_EQ(Offliner::RequestStatus::UNKNOWN, request_status()); 293 EXPECT_EQ(Offliner::RequestStatus::UNKNOWN, request_status());
(...skipping 21 matching lines...) Expand all
315 315
316 loader()->CompleteLoadingAsLoaded(); 316 loader()->CompleteLoadingAsLoaded();
317 PumpLoop(); 317 PumpLoop();
318 EXPECT_FALSE(completion_callback_called()); 318 EXPECT_FALSE(completion_callback_called());
319 EXPECT_TRUE(loader()->IsLoaded()); 319 EXPECT_TRUE(loader()->IsLoaded());
320 EXPECT_TRUE(SaveInProgress()); 320 EXPECT_TRUE(SaveInProgress());
321 321
322 loader()->CompleteLoadingAsCanceled(); 322 loader()->CompleteLoadingAsCanceled();
323 PumpLoop(); 323 PumpLoop();
324 EXPECT_TRUE(completion_callback_called()); 324 EXPECT_TRUE(completion_callback_called());
325 EXPECT_EQ(Offliner::RequestStatus::CANCELED, request_status()); 325 EXPECT_EQ(Offliner::RequestStatus::LOAD_CANCELED, request_status());
326 EXPECT_FALSE(loader()->IsLoaded()); 326 EXPECT_FALSE(loader()->IsLoaded());
327 // Note: save still in progress since it does not support canceling. 327 // Note: save still in progress since it does not support canceling.
328 EXPECT_TRUE(SaveInProgress()); 328 EXPECT_TRUE(SaveInProgress());
329 } 329 }
330 330
331 } // namespace offline_pages 331 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698