| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 #include <iostream> | 5 #include <iostream> |
| 6 #include "base/memory/ref_counted.h" | 6 #include "base/memory/ref_counted.h" |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
| 10 #include "base/time.h" | 10 #include "base/time.h" |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 InitializeSampleData(); | 188 InitializeSampleData(); |
| 189 | 189 |
| 190 profile_->CreateHistoryService(true, false); | 190 profile_->CreateHistoryService(true, false); |
| 191 profile_->BlockUntilHistoryProcessesPendingRequests(); | 191 profile_->BlockUntilHistoryProcessesPendingRequests(); |
| 192 EXPECT_TRUE(HistoryServiceFactory::GetForProfile(profile_.get(), | 192 EXPECT_TRUE(HistoryServiceFactory::GetForProfile(profile_.get(), |
| 193 Profile::EXPLICIT_ACCESS)); | 193 Profile::EXPLICIT_ACCESS)); |
| 194 // Initialize the predictor with empty data. | 194 // Initialize the predictor with empty data. |
| 195 ResetPredictor(); | 195 ResetPredictor(); |
| 196 EXPECT_EQ(predictor_->initialization_state_, | 196 EXPECT_EQ(predictor_->initialization_state_, |
| 197 ResourcePrefetchPredictor::NOT_INITIALIZED); | 197 ResourcePrefetchPredictor::NOT_INITIALIZED); |
| 198 EXPECT_CALL(*mock_tables_, | 198 EXPECT_CALL(*mock_tables_.get(), |
| 199 GetAllData(Pointee(ContainerEq(PrefetchDataMap())), | 199 GetAllData(Pointee(ContainerEq(PrefetchDataMap())), |
| 200 Pointee(ContainerEq(PrefetchDataMap())))); | 200 Pointee(ContainerEq(PrefetchDataMap())))); |
| 201 InitializePredictor(); | 201 InitializePredictor(); |
| 202 EXPECT_TRUE(predictor_->inflight_navigations_.empty()); | 202 EXPECT_TRUE(predictor_->inflight_navigations_.empty()); |
| 203 EXPECT_EQ(predictor_->initialization_state_, | 203 EXPECT_EQ(predictor_->initialization_state_, |
| 204 ResourcePrefetchPredictor::INITIALIZED); | 204 ResourcePrefetchPredictor::INITIALIZED); |
| 205 } | 205 } |
| 206 | 206 |
| 207 void ResourcePrefetchPredictorTest::TearDown() { | 207 void ResourcePrefetchPredictorTest::TearDown() { |
| 208 predictor_.reset(NULL); | 208 predictor_.reset(NULL); |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 347 // Tests that the predictor initializes correctly without any data. | 347 // Tests that the predictor initializes correctly without any data. |
| 348 EXPECT_TRUE(predictor_->url_table_cache_->empty()); | 348 EXPECT_TRUE(predictor_->url_table_cache_->empty()); |
| 349 EXPECT_TRUE(predictor_->host_table_cache_->empty()); | 349 EXPECT_TRUE(predictor_->host_table_cache_->empty()); |
| 350 } | 350 } |
| 351 | 351 |
| 352 TEST_F(ResourcePrefetchPredictorTest, LazilyInitializeWithData) { | 352 TEST_F(ResourcePrefetchPredictorTest, LazilyInitializeWithData) { |
| 353 // Tests that the history and the db tables data are loaded correctly. | 353 // Tests that the history and the db tables data are loaded correctly. |
| 354 AddUrlToHistory("http://www.google.com/", 4); | 354 AddUrlToHistory("http://www.google.com/", 4); |
| 355 AddUrlToHistory("http://www.yahoo.com/", 2); | 355 AddUrlToHistory("http://www.yahoo.com/", 2); |
| 356 | 356 |
| 357 EXPECT_CALL(*mock_tables_, | 357 EXPECT_CALL(*mock_tables_.get(), |
| 358 GetAllData(Pointee(ContainerEq(PrefetchDataMap())), | 358 GetAllData(Pointee(ContainerEq(PrefetchDataMap())), |
| 359 Pointee(ContainerEq(PrefetchDataMap())))) | 359 Pointee(ContainerEq(PrefetchDataMap())))) |
| 360 .WillOnce(DoAll(SetArgPointee<0>(test_url_data_), | 360 .WillOnce(DoAll(SetArgPointee<0>(test_url_data_), |
| 361 SetArgPointee<1>(test_host_data_))); | 361 SetArgPointee<1>(test_host_data_))); |
| 362 | 362 |
| 363 ResetPredictor(); | 363 ResetPredictor(); |
| 364 InitializePredictor(); | 364 InitializePredictor(); |
| 365 | 365 |
| 366 // Test that the internal variables correctly initialized. | 366 // Test that the internal variables correctly initialized. |
| 367 EXPECT_EQ(predictor_->initialization_state_, | 367 EXPECT_EQ(predictor_->initialization_state_, |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 0, | 416 0, |
| 417 0, | 417 0, |
| 418 2.0)); | 418 2.0)); |
| 419 host_data.resources.push_back(ResourceRow(std::string(), | 419 host_data.resources.push_back(ResourceRow(std::string(), |
| 420 "http://google.com/script2.js", | 420 "http://google.com/script2.js", |
| 421 ResourceType::SCRIPT, | 421 ResourceType::SCRIPT, |
| 422 1, | 422 1, |
| 423 0, | 423 0, |
| 424 0, | 424 0, |
| 425 3.0)); | 425 3.0)); |
| 426 EXPECT_CALL(*mock_tables_, UpdateData(empty_url_data_, host_data)); | 426 EXPECT_CALL(*mock_tables_.get(), UpdateData(empty_url_data_, host_data)); |
| 427 | 427 |
| 428 predictor_->OnNavigationComplete(main_frame.navigation_id); | 428 predictor_->OnNavigationComplete(main_frame.navigation_id); |
| 429 profile_->BlockUntilHistoryProcessesPendingRequests(); | 429 profile_->BlockUntilHistoryProcessesPendingRequests(); |
| 430 } | 430 } |
| 431 | 431 |
| 432 TEST_F(ResourcePrefetchPredictorTest, NavigationUrlNotInDB) { | 432 TEST_F(ResourcePrefetchPredictorTest, NavigationUrlNotInDB) { |
| 433 // Single navigation that will be recorded. Will check for duplicate | 433 // Single navigation that will be recorded. Will check for duplicate |
| 434 // resources and also for number of resources saved. | 434 // resources and also for number of resources saved. |
| 435 AddUrlToHistory("http://www.google.com", 4); | 435 AddUrlToHistory("http://www.google.com", 4); |
| 436 | 436 |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 500 0, | 500 0, |
| 501 0, | 501 0, |
| 502 3.0)); | 502 3.0)); |
| 503 url_data.resources.push_back(ResourceRow(std::string(), | 503 url_data.resources.push_back(ResourceRow(std::string(), |
| 504 "http://google.com/style2.css", | 504 "http://google.com/style2.css", |
| 505 ResourceType::STYLESHEET, | 505 ResourceType::STYLESHEET, |
| 506 1, | 506 1, |
| 507 0, | 507 0, |
| 508 0, | 508 0, |
| 509 7.0)); | 509 7.0)); |
| 510 EXPECT_CALL(*mock_tables_, UpdateData(url_data, empty_host_data_)); | 510 EXPECT_CALL(*mock_tables_.get(), UpdateData(url_data, empty_host_data_)); |
| 511 | 511 |
| 512 PrefetchData host_data(PREFETCH_KEY_TYPE_HOST, "www.google.com"); | 512 PrefetchData host_data(PREFETCH_KEY_TYPE_HOST, "www.google.com"); |
| 513 host_data.resources = url_data.resources; | 513 host_data.resources = url_data.resources; |
| 514 EXPECT_CALL(*mock_tables_, UpdateData(empty_url_data_, host_data)); | 514 EXPECT_CALL(*mock_tables_.get(), UpdateData(empty_url_data_, host_data)); |
| 515 | 515 |
| 516 predictor_->OnNavigationComplete(main_frame.navigation_id); | 516 predictor_->OnNavigationComplete(main_frame.navigation_id); |
| 517 profile_->BlockUntilHistoryProcessesPendingRequests(); | 517 profile_->BlockUntilHistoryProcessesPendingRequests(); |
| 518 } | 518 } |
| 519 | 519 |
| 520 TEST_F(ResourcePrefetchPredictorTest, NavigationUrlInDB) { | 520 TEST_F(ResourcePrefetchPredictorTest, NavigationUrlInDB) { |
| 521 // Tests that navigation is recorded correctly for URL already present in | 521 // Tests that navigation is recorded correctly for URL already present in |
| 522 // the database cache. | 522 // the database cache. |
| 523 AddUrlToHistory("http://www.google.com", 4); | 523 AddUrlToHistory("http://www.google.com", 4); |
| 524 | 524 |
| 525 EXPECT_CALL(*mock_tables_, | 525 EXPECT_CALL(*mock_tables_.get(), |
| 526 GetAllData(Pointee(ContainerEq(PrefetchDataMap())), | 526 GetAllData(Pointee(ContainerEq(PrefetchDataMap())), |
| 527 Pointee(ContainerEq(PrefetchDataMap())))) | 527 Pointee(ContainerEq(PrefetchDataMap())))) |
| 528 .WillOnce(DoAll(SetArgPointee<0>(test_url_data_), | 528 .WillOnce(DoAll(SetArgPointee<0>(test_url_data_), |
| 529 SetArgPointee<1>(test_host_data_))); | 529 SetArgPointee<1>(test_host_data_))); |
| 530 ResetPredictor(); | 530 ResetPredictor(); |
| 531 InitializePredictor(); | 531 InitializePredictor(); |
| 532 EXPECT_EQ(3, static_cast<int>(predictor_->url_table_cache_->size())); | 532 EXPECT_EQ(3, static_cast<int>(predictor_->url_table_cache_->size())); |
| 533 EXPECT_EQ(2, static_cast<int>(predictor_->host_table_cache_->size())); | 533 EXPECT_EQ(2, static_cast<int>(predictor_->host_table_cache_->size())); |
| 534 | 534 |
| 535 URLRequestSummary main_frame = | 535 URLRequestSummary main_frame = |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 598 1, | 598 1, |
| 599 1, | 599 1, |
| 600 2.1)); | 600 2.1)); |
| 601 url_data.resources.push_back(ResourceRow(std::string(), | 601 url_data.resources.push_back(ResourceRow(std::string(), |
| 602 "http://google.com/script2.js", | 602 "http://google.com/script2.js", |
| 603 ResourceType::SCRIPT, | 603 ResourceType::SCRIPT, |
| 604 1, | 604 1, |
| 605 0, | 605 0, |
| 606 0, | 606 0, |
| 607 3.0)); | 607 3.0)); |
| 608 EXPECT_CALL(*mock_tables_, UpdateData(url_data, empty_host_data_)); | 608 EXPECT_CALL(*mock_tables_.get(), UpdateData(url_data, empty_host_data_)); |
| 609 | 609 |
| 610 EXPECT_CALL(*mock_tables_, | 610 EXPECT_CALL( |
| 611 DeleteSingleDataPoint("www.facebook.com", | 611 *mock_tables_.get(), |
| 612 PREFETCH_KEY_TYPE_HOST)); | 612 DeleteSingleDataPoint("www.facebook.com", PREFETCH_KEY_TYPE_HOST)); |
| 613 | 613 |
| 614 PrefetchData host_data(PREFETCH_KEY_TYPE_HOST, "www.google.com"); | 614 PrefetchData host_data(PREFETCH_KEY_TYPE_HOST, "www.google.com"); |
| 615 host_data.resources.push_back(ResourceRow(std::string(), | 615 host_data.resources.push_back(ResourceRow(std::string(), |
| 616 "http://google.com/style1.css", | 616 "http://google.com/style1.css", |
| 617 ResourceType::STYLESHEET, | 617 ResourceType::STYLESHEET, |
| 618 1, | 618 1, |
| 619 0, | 619 0, |
| 620 0, | 620 0, |
| 621 1.0)); | 621 1.0)); |
| 622 host_data.resources.push_back(ResourceRow(std::string(), | 622 host_data.resources.push_back(ResourceRow(std::string(), |
| (...skipping 10 matching lines...) Expand all Loading... |
| 633 0, | 633 0, |
| 634 0, | 634 0, |
| 635 3.0)); | 635 3.0)); |
| 636 host_data.resources.push_back(ResourceRow(std::string(), | 636 host_data.resources.push_back(ResourceRow(std::string(), |
| 637 "http://google.com/style2.css", | 637 "http://google.com/style2.css", |
| 638 ResourceType::STYLESHEET, | 638 ResourceType::STYLESHEET, |
| 639 1, | 639 1, |
| 640 0, | 640 0, |
| 641 0, | 641 0, |
| 642 7.0)); | 642 7.0)); |
| 643 EXPECT_CALL(*mock_tables_, UpdateData(empty_url_data_, host_data)); | 643 EXPECT_CALL(*mock_tables_.get(), UpdateData(empty_url_data_, host_data)); |
| 644 | 644 |
| 645 predictor_->OnNavigationComplete(main_frame.navigation_id); | 645 predictor_->OnNavigationComplete(main_frame.navigation_id); |
| 646 profile_->BlockUntilHistoryProcessesPendingRequests(); | 646 profile_->BlockUntilHistoryProcessesPendingRequests(); |
| 647 } | 647 } |
| 648 | 648 |
| 649 TEST_F(ResourcePrefetchPredictorTest, NavigationUrlNotInDBAndDBFull) { | 649 TEST_F(ResourcePrefetchPredictorTest, NavigationUrlNotInDBAndDBFull) { |
| 650 // Tests that a URL is deleted before another is added if the cache is full. | 650 // Tests that a URL is deleted before another is added if the cache is full. |
| 651 AddUrlToHistory("http://www.nike.com/", 4); | 651 AddUrlToHistory("http://www.nike.com/", 4); |
| 652 | 652 |
| 653 EXPECT_CALL(*mock_tables_, | 653 EXPECT_CALL(*mock_tables_.get(), |
| 654 GetAllData(Pointee(ContainerEq(PrefetchDataMap())), | 654 GetAllData(Pointee(ContainerEq(PrefetchDataMap())), |
| 655 Pointee(ContainerEq(PrefetchDataMap())))) | 655 Pointee(ContainerEq(PrefetchDataMap())))) |
| 656 .WillOnce(DoAll(SetArgPointee<0>(test_url_data_), | 656 .WillOnce(DoAll(SetArgPointee<0>(test_url_data_), |
| 657 SetArgPointee<1>(test_host_data_))); | 657 SetArgPointee<1>(test_host_data_))); |
| 658 ResetPredictor(); | 658 ResetPredictor(); |
| 659 InitializePredictor(); | 659 InitializePredictor(); |
| 660 EXPECT_EQ(3, static_cast<int>(predictor_->url_table_cache_->size())); | 660 EXPECT_EQ(3, static_cast<int>(predictor_->url_table_cache_->size())); |
| 661 EXPECT_EQ(2, static_cast<int>(predictor_->host_table_cache_->size())); | 661 EXPECT_EQ(2, static_cast<int>(predictor_->host_table_cache_->size())); |
| 662 | 662 |
| 663 URLRequestSummary main_frame = | 663 URLRequestSummary main_frame = |
| 664 CreateURLRequestSummary(1, | 664 CreateURLRequestSummary(1, |
| 665 1, | 665 1, |
| 666 "http://www.nike.com", | 666 "http://www.nike.com", |
| 667 "http://www.nike.com", | 667 "http://www.nike.com", |
| 668 ResourceType::MAIN_FRAME, | 668 ResourceType::MAIN_FRAME, |
| 669 std::string(), | 669 std::string(), |
| 670 false); | 670 false); |
| 671 predictor_->RecordURLRequest(main_frame); | 671 predictor_->RecordURLRequest(main_frame); |
| 672 EXPECT_EQ(1, static_cast<int>(predictor_->inflight_navigations_.size())); | 672 EXPECT_EQ(1, static_cast<int>(predictor_->inflight_navigations_.size())); |
| 673 | 673 |
| 674 URLRequestSummary resource1 = CreateURLRequestSummary( | 674 URLRequestSummary resource1 = CreateURLRequestSummary( |
| 675 1, 1, "http://www.nike.com", "http://nike.com/style1.css", | 675 1, 1, "http://www.nike.com", "http://nike.com/style1.css", |
| 676 ResourceType::STYLESHEET, "text/css", false); | 676 ResourceType::STYLESHEET, "text/css", false); |
| 677 predictor_->RecordUrlResponse(resource1); | 677 predictor_->RecordUrlResponse(resource1); |
| 678 URLRequestSummary resource2 = CreateURLRequestSummary( | 678 URLRequestSummary resource2 = CreateURLRequestSummary( |
| 679 1, 1, "http://www.nike.com", "http://nike.com/image2.png", | 679 1, 1, "http://www.nike.com", "http://nike.com/image2.png", |
| 680 ResourceType::IMAGE, "image/png", false); | 680 ResourceType::IMAGE, "image/png", false); |
| 681 predictor_->RecordUrlResponse(resource2); | 681 predictor_->RecordUrlResponse(resource2); |
| 682 | 682 |
| 683 EXPECT_CALL(*mock_tables_, | 683 EXPECT_CALL( |
| 684 DeleteSingleDataPoint("http://www.google.com/", | 684 *mock_tables_.get(), |
| 685 PREFETCH_KEY_TYPE_URL)); | 685 DeleteSingleDataPoint("http://www.google.com/", PREFETCH_KEY_TYPE_URL)); |
| 686 EXPECT_CALL(*mock_tables_, | 686 EXPECT_CALL( |
| 687 DeleteSingleDataPoint("www.facebook.com", | 687 *mock_tables_.get(), |
| 688 PREFETCH_KEY_TYPE_HOST)); | 688 DeleteSingleDataPoint("www.facebook.com", PREFETCH_KEY_TYPE_HOST)); |
| 689 | 689 |
| 690 PrefetchData url_data(PREFETCH_KEY_TYPE_URL, "http://www.nike.com/"); | 690 PrefetchData url_data(PREFETCH_KEY_TYPE_URL, "http://www.nike.com/"); |
| 691 url_data.resources.push_back(ResourceRow(std::string(), | 691 url_data.resources.push_back(ResourceRow(std::string(), |
| 692 "http://nike.com/style1.css", | 692 "http://nike.com/style1.css", |
| 693 ResourceType::STYLESHEET, | 693 ResourceType::STYLESHEET, |
| 694 1, | 694 1, |
| 695 0, | 695 0, |
| 696 0, | 696 0, |
| 697 1.0)); | 697 1.0)); |
| 698 url_data.resources.push_back(ResourceRow(std::string(), | 698 url_data.resources.push_back(ResourceRow(std::string(), |
| 699 "http://nike.com/image2.png", | 699 "http://nike.com/image2.png", |
| 700 ResourceType::IMAGE, | 700 ResourceType::IMAGE, |
| 701 1, | 701 1, |
| 702 0, | 702 0, |
| 703 0, | 703 0, |
| 704 2.0)); | 704 2.0)); |
| 705 EXPECT_CALL(*mock_tables_, UpdateData(url_data, empty_host_data_)); | 705 EXPECT_CALL(*mock_tables_.get(), UpdateData(url_data, empty_host_data_)); |
| 706 | 706 |
| 707 PrefetchData host_data(PREFETCH_KEY_TYPE_HOST, "www.nike.com"); | 707 PrefetchData host_data(PREFETCH_KEY_TYPE_HOST, "www.nike.com"); |
| 708 host_data.resources = url_data.resources; | 708 host_data.resources = url_data.resources; |
| 709 EXPECT_CALL(*mock_tables_, UpdateData(empty_url_data_, host_data)); | 709 EXPECT_CALL(*mock_tables_.get(), UpdateData(empty_url_data_, host_data)); |
| 710 | 710 |
| 711 predictor_->OnNavigationComplete(main_frame.navigation_id); | 711 predictor_->OnNavigationComplete(main_frame.navigation_id); |
| 712 profile_->BlockUntilHistoryProcessesPendingRequests(); | 712 profile_->BlockUntilHistoryProcessesPendingRequests(); |
| 713 } | 713 } |
| 714 | 714 |
| 715 TEST_F(ResourcePrefetchPredictorTest, DeleteUrls) { | 715 TEST_F(ResourcePrefetchPredictorTest, DeleteUrls) { |
| 716 // Add some dummy entries to cache. | 716 // Add some dummy entries to cache. |
| 717 predictor_->url_table_cache_->insert(std::make_pair( | 717 predictor_->url_table_cache_->insert(std::make_pair( |
| 718 "http://www.google.com/page1.html", | 718 "http://www.google.com/page1.html", |
| 719 PrefetchData(PREFETCH_KEY_TYPE_URL, "http://www.google.com/page1.html"))); | 719 PrefetchData(PREFETCH_KEY_TYPE_URL, "http://www.google.com/page1.html"))); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 745 rows.push_back(history::URLRow(GURL("http://www.apple.com"))); | 745 rows.push_back(history::URLRow(GURL("http://www.apple.com"))); |
| 746 rows.push_back(history::URLRow(GURL("http://www.nike.com"))); | 746 rows.push_back(history::URLRow(GURL("http://www.nike.com"))); |
| 747 | 747 |
| 748 std::vector<std::string> urls_to_delete, hosts_to_delete; | 748 std::vector<std::string> urls_to_delete, hosts_to_delete; |
| 749 urls_to_delete.push_back("http://www.google.com/page2.html"); | 749 urls_to_delete.push_back("http://www.google.com/page2.html"); |
| 750 urls_to_delete.push_back("http://www.apple.com/"); | 750 urls_to_delete.push_back("http://www.apple.com/"); |
| 751 urls_to_delete.push_back("http://www.nike.com/"); | 751 urls_to_delete.push_back("http://www.nike.com/"); |
| 752 hosts_to_delete.push_back("www.google.com"); | 752 hosts_to_delete.push_back("www.google.com"); |
| 753 hosts_to_delete.push_back("www.apple.com"); | 753 hosts_to_delete.push_back("www.apple.com"); |
| 754 | 754 |
| 755 EXPECT_CALL(*mock_tables_, | 755 EXPECT_CALL( |
| 756 DeleteData(ContainerEq(urls_to_delete), | 756 *mock_tables_.get(), |
| 757 ContainerEq(hosts_to_delete))); | 757 DeleteData(ContainerEq(urls_to_delete), ContainerEq(hosts_to_delete))); |
| 758 | 758 |
| 759 predictor_->DeleteUrls(rows); | 759 predictor_->DeleteUrls(rows); |
| 760 EXPECT_EQ(2, static_cast<int>(predictor_->url_table_cache_->size())); | 760 EXPECT_EQ(2, static_cast<int>(predictor_->url_table_cache_->size())); |
| 761 EXPECT_EQ(1, static_cast<int>(predictor_->host_table_cache_->size())); | 761 EXPECT_EQ(1, static_cast<int>(predictor_->host_table_cache_->size())); |
| 762 | 762 |
| 763 EXPECT_CALL(*mock_tables_, DeleteAllData()); | 763 EXPECT_CALL(*mock_tables_.get(), DeleteAllData()); |
| 764 | 764 |
| 765 predictor_->DeleteAllUrls(); | 765 predictor_->DeleteAllUrls(); |
| 766 EXPECT_TRUE(predictor_->url_table_cache_->empty()); | 766 EXPECT_TRUE(predictor_->url_table_cache_->empty()); |
| 767 EXPECT_TRUE(predictor_->host_table_cache_->empty()); | 767 EXPECT_TRUE(predictor_->host_table_cache_->empty()); |
| 768 } | 768 } |
| 769 | 769 |
| 770 TEST_F(ResourcePrefetchPredictorTest, OnMainFrameRequest) { | 770 TEST_F(ResourcePrefetchPredictorTest, OnMainFrameRequest) { |
| 771 URLRequestSummary summary1 = CreateURLRequestSummary(1, | 771 URLRequestSummary summary1 = CreateURLRequestSummary(1, |
| 772 1, | 772 1, |
| 773 "http://www.google.com", | 773 "http://www.google.com", |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 918 predictor_->inflight_navigations_[main_frame1.navigation_id]->at(0))); | 918 predictor_->inflight_navigations_[main_frame1.navigation_id]->at(0))); |
| 919 EXPECT_TRUE(URLRequestSummaryAreEqual( | 919 EXPECT_TRUE(URLRequestSummaryAreEqual( |
| 920 resource2, | 920 resource2, |
| 921 predictor_->inflight_navigations_[main_frame1.navigation_id]->at(1))); | 921 predictor_->inflight_navigations_[main_frame1.navigation_id]->at(1))); |
| 922 EXPECT_TRUE(URLRequestSummaryAreEqual( | 922 EXPECT_TRUE(URLRequestSummaryAreEqual( |
| 923 resource3, | 923 resource3, |
| 924 predictor_->inflight_navigations_[main_frame1.navigation_id]->at(2))); | 924 predictor_->inflight_navigations_[main_frame1.navigation_id]->at(2))); |
| 925 } | 925 } |
| 926 | 926 |
| 927 } // namespace predictors | 927 } // namespace predictors |
| OLD | NEW |