OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "components/error_page/renderer/net_error_helper_core.h" | 5 #include "components/error_page/renderer/net_error_helper_core.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <map> | 9 #include <map> |
| 10 #include <memory> |
10 #include <string> | 11 #include <string> |
11 #include <vector> | 12 #include <vector> |
12 | 13 |
13 #include "base/json/json_reader.h" | 14 #include "base/json/json_reader.h" |
14 #include "base/json/json_writer.h" | 15 #include "base/json/json_writer.h" |
15 #include "base/logging.h" | 16 #include "base/logging.h" |
16 #include "base/macros.h" | 17 #include "base/macros.h" |
17 #include "base/metrics/statistics_recorder.h" | 18 #include "base/metrics/statistics_recorder.h" |
18 #include "base/strings/stringprintf.h" | 19 #include "base/strings/stringprintf.h" |
19 #include "base/test/histogram_tester.h" | 20 #include "base/test/histogram_tester.h" |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 void SetUpCore(bool auto_reload_enabled, | 184 void SetUpCore(bool auto_reload_enabled, |
184 bool auto_reload_visible_only, | 185 bool auto_reload_visible_only, |
185 bool visible) { | 186 bool visible) { |
186 // The old value of timer_, if any, will be freed by the old core_ being | 187 // The old value of timer_, if any, will be freed by the old core_ being |
187 // destructed, since core_ takes ownership of the timer. | 188 // destructed, since core_ takes ownership of the timer. |
188 timer_ = new base::MockTimer(false, false); | 189 timer_ = new base::MockTimer(false, false); |
189 core_.reset(new NetErrorHelperCore(this, | 190 core_.reset(new NetErrorHelperCore(this, |
190 auto_reload_enabled, | 191 auto_reload_enabled, |
191 auto_reload_visible_only, | 192 auto_reload_visible_only, |
192 visible)); | 193 visible)); |
193 core_->set_timer_for_testing(scoped_ptr<base::Timer>(timer_)); | 194 core_->set_timer_for_testing(std::unique_ptr<base::Timer>(timer_)); |
194 } | 195 } |
195 | 196 |
196 NetErrorHelperCore* core() { return core_.get(); } | 197 NetErrorHelperCore* core() { return core_.get(); } |
197 | 198 |
198 const GURL& url_being_fetched() const { return url_being_fetched_; } | 199 const GURL& url_being_fetched() const { return url_being_fetched_; } |
199 bool is_url_being_fetched() const { return !url_being_fetched_.is_empty(); } | 200 bool is_url_being_fetched() const { return !url_being_fetched_.is_empty(); } |
200 | 201 |
201 int reload_count() const { | 202 int reload_count() const { |
202 return reload_count_; | 203 return reload_count_; |
203 } | 204 } |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
349 core()->OnSetNavigationCorrectionInfo(navigation_correction_url, | 350 core()->OnSetNavigationCorrectionInfo(navigation_correction_url, |
350 kLanguage, kCountry, kApiKey, | 351 kLanguage, kCountry, kApiKey, |
351 GURL(kSearchUrl)); | 352 GURL(kSearchUrl)); |
352 } | 353 } |
353 | 354 |
354 // NetErrorHelperCore::Delegate implementation: | 355 // NetErrorHelperCore::Delegate implementation: |
355 void GenerateLocalizedErrorPage(const WebURLError& error, | 356 void GenerateLocalizedErrorPage(const WebURLError& error, |
356 bool is_failed_post, | 357 bool is_failed_post, |
357 bool can_show_network_diagnostics_dialog, | 358 bool can_show_network_diagnostics_dialog, |
358 bool has_offline_pages, | 359 bool has_offline_pages, |
359 scoped_ptr<ErrorPageParams> params, | 360 std::unique_ptr<ErrorPageParams> params, |
360 bool* reload_button_shown, | 361 bool* reload_button_shown, |
361 bool* show_saved_copy_button_shown, | 362 bool* show_saved_copy_button_shown, |
362 bool* show_cached_copy_button_shown, | 363 bool* show_cached_copy_button_shown, |
363 bool* show_offline_pages_button_shown, | 364 bool* show_offline_pages_button_shown, |
364 std::string* html) const override { | 365 std::string* html) const override { |
365 last_can_show_network_diagnostics_dialog_ = | 366 last_can_show_network_diagnostics_dialog_ = |
366 can_show_network_diagnostics_dialog; | 367 can_show_network_diagnostics_dialog; |
367 last_has_offline_pages_ = has_offline_pages; | 368 last_has_offline_pages_ = has_offline_pages; |
368 last_error_page_params_.reset(params.release()); | 369 last_error_page_params_.reset(params.release()); |
369 *reload_button_shown = false; | 370 *reload_button_shown = false; |
(...skipping 30 matching lines...) Expand all Loading... |
400 EXPECT_TRUE(url_being_fetched_.is_empty()); | 401 EXPECT_TRUE(url_being_fetched_.is_empty()); |
401 EXPECT_TRUE(request_body_.empty()); | 402 EXPECT_TRUE(request_body_.empty()); |
402 EXPECT_EQ(GURL(kNavigationCorrectionUrl), navigation_correction_url); | 403 EXPECT_EQ(GURL(kNavigationCorrectionUrl), navigation_correction_url); |
403 | 404 |
404 url_being_fetched_ = navigation_correction_url; | 405 url_being_fetched_ = navigation_correction_url; |
405 request_body_ = navigation_correction_request_body; | 406 request_body_ = navigation_correction_request_body; |
406 | 407 |
407 // Check the body of the request. | 408 // Check the body of the request. |
408 | 409 |
409 base::JSONReader reader; | 410 base::JSONReader reader; |
410 scoped_ptr<base::Value> parsed_body(reader.Read( | 411 std::unique_ptr<base::Value> parsed_body( |
411 navigation_correction_request_body)); | 412 reader.Read(navigation_correction_request_body)); |
412 ASSERT_TRUE(parsed_body); | 413 ASSERT_TRUE(parsed_body); |
413 base::DictionaryValue* dict = NULL; | 414 base::DictionaryValue* dict = NULL; |
414 ASSERT_TRUE(parsed_body->GetAsDictionary(&dict)); | 415 ASSERT_TRUE(parsed_body->GetAsDictionary(&dict)); |
415 | 416 |
416 EXPECT_TRUE(StringValueEquals(*dict, "params.urlQuery", kFailedUrl)); | 417 EXPECT_TRUE(StringValueEquals(*dict, "params.urlQuery", kFailedUrl)); |
417 EXPECT_TRUE(StringValueEquals(*dict, "params.language", kLanguage)); | 418 EXPECT_TRUE(StringValueEquals(*dict, "params.language", kLanguage)); |
418 EXPECT_TRUE(StringValueEquals(*dict, "params.originCountry", kCountry)); | 419 EXPECT_TRUE(StringValueEquals(*dict, "params.originCountry", kCountry)); |
419 EXPECT_TRUE(StringValueEquals(*dict, "params.key", kApiKey)); | 420 EXPECT_TRUE(StringValueEquals(*dict, "params.key", kApiKey)); |
420 } | 421 } |
421 | 422 |
(...skipping 22 matching lines...) Expand all Loading... |
444 | 445 |
445 void SendTrackingRequest(const GURL& tracking_url, | 446 void SendTrackingRequest(const GURL& tracking_url, |
446 const std::string& tracking_request_body) override { | 447 const std::string& tracking_request_body) override { |
447 last_tracking_url_ = tracking_url; | 448 last_tracking_url_ = tracking_url; |
448 last_tracking_request_body_ = tracking_request_body; | 449 last_tracking_request_body_ = tracking_request_body; |
449 tracking_request_count_++; | 450 tracking_request_count_++; |
450 | 451 |
451 // Check the body of the request. | 452 // Check the body of the request. |
452 | 453 |
453 base::JSONReader reader; | 454 base::JSONReader reader; |
454 scoped_ptr<base::Value> parsed_body(reader.Read(tracking_request_body)); | 455 std::unique_ptr<base::Value> parsed_body( |
| 456 reader.Read(tracking_request_body)); |
455 ASSERT_TRUE(parsed_body); | 457 ASSERT_TRUE(parsed_body); |
456 base::DictionaryValue* dict = NULL; | 458 base::DictionaryValue* dict = NULL; |
457 ASSERT_TRUE(parsed_body->GetAsDictionary(&dict)); | 459 ASSERT_TRUE(parsed_body->GetAsDictionary(&dict)); |
458 | 460 |
459 EXPECT_TRUE(StringValueEquals(*dict, "params.originalUrlQuery", | 461 EXPECT_TRUE(StringValueEquals(*dict, "params.originalUrlQuery", |
460 kFailedUrl)); | 462 kFailedUrl)); |
461 EXPECT_TRUE(StringValueEquals(*dict, "params.language", kLanguage)); | 463 EXPECT_TRUE(StringValueEquals(*dict, "params.language", kLanguage)); |
462 EXPECT_TRUE(StringValueEquals(*dict, "params.originCountry", kCountry)); | 464 EXPECT_TRUE(StringValueEquals(*dict, "params.originCountry", kCountry)); |
463 EXPECT_TRUE(StringValueEquals(*dict, "params.key", kApiKey)); | 465 EXPECT_TRUE(StringValueEquals(*dict, "params.key", kApiKey)); |
464 } | 466 } |
465 | 467 |
466 base::MockTimer* timer_; | 468 base::MockTimer* timer_; |
467 | 469 |
468 scoped_ptr<NetErrorHelperCore> core_; | 470 std::unique_ptr<NetErrorHelperCore> core_; |
469 | 471 |
470 GURL url_being_fetched_; | 472 GURL url_being_fetched_; |
471 std::string request_body_; | 473 std::string request_body_; |
472 | 474 |
473 // Contains the information passed to the last call to UpdateErrorPage, as a | 475 // Contains the information passed to the last call to UpdateErrorPage, as a |
474 // string. | 476 // string. |
475 std::string last_update_string_; | 477 std::string last_update_string_; |
476 // Number of times |last_update_string_| has been changed. | 478 // Number of times |last_update_string_| has been changed. |
477 int update_count_; | 479 int update_count_; |
478 | 480 |
479 // Contains the HTML set by the last call to LoadErrorPageInMainFrame. | 481 // Contains the HTML set by the last call to LoadErrorPageInMainFrame. |
480 std::string last_error_html_; | 482 std::string last_error_html_; |
481 // Number of times |last_error_html_| has been changed. | 483 // Number of times |last_error_html_| has been changed. |
482 int error_html_update_count_; | 484 int error_html_update_count_; |
483 | 485 |
484 // Values passed in to the last call of GenerateLocalizedErrorPage or | 486 // Values passed in to the last call of GenerateLocalizedErrorPage or |
485 // UpdateErrorPage. Mutable because GenerateLocalizedErrorPage is const. | 487 // UpdateErrorPage. Mutable because GenerateLocalizedErrorPage is const. |
486 mutable bool last_can_show_network_diagnostics_dialog_; | 488 mutable bool last_can_show_network_diagnostics_dialog_; |
487 mutable bool last_has_offline_pages_; | 489 mutable bool last_has_offline_pages_; |
488 mutable scoped_ptr<ErrorPageParams> last_error_page_params_; | 490 mutable std::unique_ptr<ErrorPageParams> last_error_page_params_; |
489 | 491 |
490 int reload_count_; | 492 int reload_count_; |
491 int reload_bypassing_cache_count_; | 493 int reload_bypassing_cache_count_; |
492 int show_saved_copy_count_; | 494 int show_saved_copy_count_; |
493 GURL show_saved_copy_url_; | 495 GURL show_saved_copy_url_; |
494 int diagnose_error_count_; | 496 int diagnose_error_count_; |
495 GURL diagnose_error_url_; | 497 GURL diagnose_error_url_; |
496 int show_offline_pages_count_; | 498 int show_offline_pages_count_; |
497 | 499 |
498 int enable_page_helper_functions_count_; | 500 int enable_page_helper_functions_count_; |
(...skipping 2082 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2581 DoErrorLoad(net::ERR_INTERNET_DISCONNECTED); | 2583 DoErrorLoad(net::ERR_INTERNET_DISCONNECTED); |
2582 EXPECT_TRUE(last_has_offline_pages()); | 2584 EXPECT_TRUE(last_has_offline_pages()); |
2583 EXPECT_EQ(0, show_offline_pages_count()); | 2585 EXPECT_EQ(0, show_offline_pages_count()); |
2584 core()->ExecuteButtonPress(NetErrorHelperCore::SHOW_OFFLINE_PAGES_BUTTON); | 2586 core()->ExecuteButtonPress(NetErrorHelperCore::SHOW_OFFLINE_PAGES_BUTTON); |
2585 EXPECT_EQ(1, show_offline_pages_count()); | 2587 EXPECT_EQ(1, show_offline_pages_count()); |
2586 } | 2588 } |
2587 #endif // defined(OS_ANDROID) | 2589 #endif // defined(OS_ANDROID) |
2588 | 2590 |
2589 } // namespace | 2591 } // namespace |
2590 } // namespace error_page | 2592 } // namespace error_page |
OLD | NEW |