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 "chrome/browser/favicon/favicon_handler.h" | 5 #include "chrome/browser/favicon/favicon_handler.h" |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "chrome/browser/favicon/chrome_favicon_client.h" | 8 #include "chrome/browser/favicon/chrome_favicon_client.h" |
9 #include "chrome/browser/favicon/chrome_favicon_client_factory.h" | 9 #include "chrome/browser/favicon/chrome_favicon_client_factory.h" |
10 #include "chrome/browser/favicon/favicon_service.h" | 10 #include "chrome/browser/favicon/favicon_service.h" |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 | 74 |
75 // This class is used to save the download request for verifying with test case. | 75 // This class is used to save the download request for verifying with test case. |
76 // It also will be used to invoke the onDidDownload callback. | 76 // It also will be used to invoke the onDidDownload callback. |
77 class DownloadHandler { | 77 class DownloadHandler { |
78 public: | 78 public: |
79 explicit DownloadHandler(TestFaviconHandler* favicon_helper) | 79 explicit DownloadHandler(TestFaviconHandler* favicon_helper) |
80 : favicon_helper_(favicon_helper), | 80 : favicon_helper_(favicon_helper), |
81 failed_(false) { | 81 failed_(false) { |
82 } | 82 } |
83 | 83 |
84 virtual ~DownloadHandler() { | 84 ~DownloadHandler() {} |
85 } | |
86 | 85 |
87 void Reset() { | 86 void Reset() { |
88 download_.reset(NULL); | 87 download_.reset(); |
89 failed_ = false; | 88 failed_ = false; |
90 } | 89 } |
91 | 90 |
92 void AddDownload( | 91 void AddDownload( |
93 int download_id, | 92 int download_id, |
94 const GURL& image_url, | 93 const GURL& image_url, |
95 const std::vector<int>& image_sizes, | 94 const std::vector<int>& image_sizes, |
96 int max_image_size) { | 95 int max_image_size) { |
97 download_.reset(new Download( | 96 download_.reset(new Download( |
98 download_id, image_url, image_sizes, max_image_size, false)); | 97 download_id, image_url, image_sizes, max_image_size, false)); |
99 } | 98 } |
100 | 99 |
101 void InvokeCallback(); | 100 void InvokeCallback(); |
102 | 101 |
103 void set_failed(bool failed) { failed_ = failed; } | 102 void set_failed(bool failed) { failed_ = failed; } |
104 | 103 |
105 bool HasDownload() const { return download_.get() != NULL; } | 104 bool HasDownload() const { return download_.get(); } |
106 const GURL& GetImageUrl() const { return download_->image_url; } | 105 const GURL& GetImageUrl() const { return download_->image_url; } |
107 void SetImageSizes(const std::vector<int>& sizes) { | 106 void SetImageSizes(const std::vector<int>& sizes) { |
108 download_->image_sizes = sizes; } | 107 download_->image_sizes = sizes; } |
109 | 108 |
110 private: | 109 private: |
111 struct Download { | 110 struct Download { |
112 Download(int id, | 111 Download(int id, |
113 GURL url, | 112 GURL url, |
114 const std::vector<int>& sizes, | 113 const std::vector<int>& sizes, |
115 int max_size, | 114 int max_size, |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 int icon_type, | 150 int icon_type, |
152 const std::vector<unsigned char>& bitmap_data, | 151 const std::vector<unsigned char>& bitmap_data, |
153 const gfx::Size& size) | 152 const gfx::Size& size) |
154 : page_url_(page_url), | 153 : page_url_(page_url), |
155 icon_url_(icon_url), | 154 icon_url_(icon_url), |
156 icon_type_(icon_type), | 155 icon_type_(icon_type), |
157 bitmap_data_(bitmap_data), | 156 bitmap_data_(bitmap_data), |
158 size_(size) { | 157 size_(size) { |
159 } | 158 } |
160 | 159 |
161 virtual ~HistoryRequestHandler() {} | 160 ~HistoryRequestHandler() {} |
162 void InvokeCallback(); | 161 void InvokeCallback(); |
163 | 162 |
164 const GURL page_url_; | 163 const GURL page_url_; |
165 const GURL icon_url_; | 164 const GURL icon_url_; |
166 const int icon_type_; | 165 const int icon_type_; |
167 const std::vector<unsigned char> bitmap_data_; | 166 const std::vector<unsigned char> bitmap_data_; |
168 const gfx::Size size_; | 167 const gfx::Size size_; |
169 std::vector<favicon_base::FaviconRawBitmapResult> history_results_; | 168 std::vector<favicon_base::FaviconRawBitmapResult> history_results_; |
170 favicon_base::FaviconResultsCallback callback_; | 169 favicon_base::FaviconResultsCallback callback_; |
171 | 170 |
172 private: | 171 private: |
173 DISALLOW_COPY_AND_ASSIGN(HistoryRequestHandler); | 172 DISALLOW_COPY_AND_ASSIGN(HistoryRequestHandler); |
174 }; | 173 }; |
175 | 174 |
176 } // namespace | 175 } // namespace |
177 | 176 |
178 class TestFaviconClient : public FaviconClient { | 177 class TestFaviconClient : public FaviconClient { |
179 public: | 178 public: |
180 ~TestFaviconClient() override{}; | 179 ~TestFaviconClient() override {} |
181 | 180 |
182 bool IsBookmarked(const GURL& url) override { return false; } | 181 bool IsBookmarked(const GURL& url) override { return false; } |
183 }; | 182 }; |
184 | 183 |
185 class TestFaviconDriver : public FaviconDriver { | 184 class TestFaviconDriver : public FaviconDriver { |
186 public: | 185 public: |
187 TestFaviconDriver() | 186 TestFaviconDriver() |
188 : favicon_validity_(false), | 187 : favicon_validity_(false), |
189 num_active_favicon_(0), | 188 num_active_favicon_(0), |
190 num_favicon_available_(0), | 189 num_favicon_available_(0), |
191 update_active_favicon_(false) {} | 190 update_active_favicon_(false) {} |
192 | 191 |
193 virtual ~TestFaviconDriver() { | 192 ~TestFaviconDriver() override {} |
194 } | |
195 | 193 |
196 bool IsOffTheRecord() override { return false; } | 194 bool IsOffTheRecord() override { return false; } |
197 | 195 |
198 const gfx::Image GetActiveFaviconImage() override { return image_; } | 196 const gfx::Image GetActiveFaviconImage() override { return image_; } |
199 | 197 |
200 const GURL GetActiveFaviconURL() override { return favicon_url_; } | 198 const GURL GetActiveFaviconURL() override { return favicon_url_; } |
201 | 199 |
202 bool GetActiveFaviconValidity() override { return favicon_validity_; } | 200 bool GetActiveFaviconValidity() override { return favicon_validity_; } |
203 | 201 |
204 const GURL GetActiveURL() override { return url_; } | 202 const GURL GetActiveURL() override { return url_; } |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
471 scale_factors.push_back(ui::SCALE_FACTOR_100P); | 469 scale_factors.push_back(ui::SCALE_FACTOR_100P); |
472 scoped_set_supported_scale_factors_.reset( | 470 scoped_set_supported_scale_factors_.reset( |
473 new ui::test::ScopedSetSupportedScaleFactors(scale_factors)); | 471 new ui::test::ScopedSetSupportedScaleFactors(scale_factors)); |
474 | 472 |
475 ChromeRenderViewHostTestHarness::SetUp(); | 473 ChromeRenderViewHostTestHarness::SetUp(); |
476 } | 474 } |
477 | 475 |
478 void TearDown() override { | 476 void TearDown() override { |
479 Profile* profile = Profile::FromBrowserContext( | 477 Profile* profile = Profile::FromBrowserContext( |
480 web_contents()->GetBrowserContext()); | 478 web_contents()->GetBrowserContext()); |
481 FaviconServiceFactory::GetInstance()->SetTestingFactory( | 479 FaviconServiceFactory::GetInstance()->SetTestingFactory(profile, nullptr); |
482 profile, NULL); | |
483 ChromeRenderViewHostTestHarness::TearDown(); | 480 ChromeRenderViewHostTestHarness::TearDown(); |
484 } | 481 } |
485 | 482 |
486 private: | 483 private: |
487 typedef scoped_ptr<ui::test::ScopedSetSupportedScaleFactors> | 484 typedef scoped_ptr<ui::test::ScopedSetSupportedScaleFactors> |
488 ScopedSetSupportedScaleFactors; | 485 ScopedSetSupportedScaleFactors; |
489 ScopedSetSupportedScaleFactors scoped_set_supported_scale_factors_; | 486 ScopedSetSupportedScaleFactors scoped_set_supported_scale_factors_; |
490 DISALLOW_COPY_AND_ASSIGN(FaviconHandlerTest); | 487 DISALLOW_COPY_AND_ASSIGN(FaviconHandlerTest); |
491 }; | 488 }; |
492 | 489 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
572 ASSERT_EQ(favicon_base::FAVICON, helper.current_candidate()->icon_type); | 569 ASSERT_EQ(favicon_base::FAVICON, helper.current_candidate()->icon_type); |
573 | 570 |
574 // Favicon should request to download icon now. | 571 // Favicon should request to download icon now. |
575 DownloadHandler* download_handler = helper.download_handler(); | 572 DownloadHandler* download_handler = helper.download_handler(); |
576 EXPECT_TRUE(helper.download_handler()->HasDownload()); | 573 EXPECT_TRUE(helper.download_handler()->HasDownload()); |
577 | 574 |
578 // Verify the download request. | 575 // Verify the download request. |
579 EXPECT_EQ(icon_url, download_handler->GetImageUrl()); | 576 EXPECT_EQ(icon_url, download_handler->GetImageUrl()); |
580 | 577 |
581 // Reset the history_handler to verify whether favicon is set. | 578 // Reset the history_handler to verify whether favicon is set. |
582 helper.set_history_handler(NULL); | 579 helper.set_history_handler(nullptr); |
583 | 580 |
584 // Smulates download done. | 581 // Smulates download done. |
585 download_handler->InvokeCallback(); | 582 download_handler->InvokeCallback(); |
586 | 583 |
587 // New icon should be saved to history backend and navigation entry. | 584 // New icon should be saved to history backend and navigation entry. |
588 history_handler = helper.history_handler(); | 585 history_handler = helper.history_handler(); |
589 ASSERT_TRUE(history_handler); | 586 ASSERT_TRUE(history_handler); |
590 EXPECT_EQ(icon_url, history_handler->icon_url_); | 587 EXPECT_EQ(icon_url, history_handler->icon_url_); |
591 EXPECT_EQ(favicon_base::FAVICON, history_handler->icon_type_); | 588 EXPECT_EQ(favicon_base::FAVICON, history_handler->icon_type_); |
592 EXPECT_LT(0U, history_handler->bitmap_data_.size()); | 589 EXPECT_LT(0U, history_handler->bitmap_data_.size()); |
(...skipping 28 matching lines...) Expand all Loading... |
621 SetFaviconRawBitmapResult(icon_url, &history_handler->history_results_); | 618 SetFaviconRawBitmapResult(icon_url, &history_handler->history_results_); |
622 | 619 |
623 // Send history response. | 620 // Send history response. |
624 history_handler->InvokeCallback(); | 621 history_handler->InvokeCallback(); |
625 // Verify FaviconHandler status. | 622 // Verify FaviconHandler status. |
626 EXPECT_TRUE(driver.GetActiveFaviconValidity()); | 623 EXPECT_TRUE(driver.GetActiveFaviconValidity()); |
627 EXPECT_EQ(icon_url, driver.GetActiveFaviconURL()); | 624 EXPECT_EQ(icon_url, driver.GetActiveFaviconURL()); |
628 | 625 |
629 // Reset the history_handler to verify whether new icon is requested from | 626 // Reset the history_handler to verify whether new icon is requested from |
630 // history. | 627 // history. |
631 helper.set_history_handler(NULL); | 628 helper.set_history_handler(nullptr); |
632 | 629 |
633 // Simulates update with the different favicon url. | 630 // Simulates update with the different favicon url. |
634 std::vector<FaviconURL> urls; | 631 std::vector<FaviconURL> urls; |
635 urls.push_back(FaviconURL( | 632 urls.push_back(FaviconURL( |
636 new_icon_url, favicon_base::FAVICON, std::vector<gfx::Size>())); | 633 new_icon_url, favicon_base::FAVICON, std::vector<gfx::Size>())); |
637 helper.OnUpdateFaviconURL(urls); | 634 helper.OnUpdateFaviconURL(urls); |
638 | 635 |
639 // Verify FaviconHandler status. | 636 // Verify FaviconHandler status. |
640 EXPECT_EQ(1U, helper.urls().size()); | 637 EXPECT_EQ(1U, helper.urls().size()); |
641 ASSERT_TRUE(helper.current_candidate()); | 638 ASSERT_TRUE(helper.current_candidate()); |
(...skipping 12 matching lines...) Expand all Loading... |
654 history_handler->InvokeCallback(); | 651 history_handler->InvokeCallback(); |
655 | 652 |
656 // Favicon should request to download icon now. | 653 // Favicon should request to download icon now. |
657 DownloadHandler* download_handler = helper.download_handler(); | 654 DownloadHandler* download_handler = helper.download_handler(); |
658 EXPECT_TRUE(helper.download_handler()->HasDownload()); | 655 EXPECT_TRUE(helper.download_handler()->HasDownload()); |
659 | 656 |
660 // Verify the download request. | 657 // Verify the download request. |
661 EXPECT_EQ(new_icon_url, download_handler->GetImageUrl()); | 658 EXPECT_EQ(new_icon_url, download_handler->GetImageUrl()); |
662 | 659 |
663 // Reset the history_handler to verify whether favicon is set. | 660 // Reset the history_handler to verify whether favicon is set. |
664 helper.set_history_handler(NULL); | 661 helper.set_history_handler(nullptr); |
665 | 662 |
666 // Smulates download done. | 663 // Smulates download done. |
667 download_handler->InvokeCallback(); | 664 download_handler->InvokeCallback(); |
668 | 665 |
669 // New icon should be saved to history backend and navigation entry. | 666 // New icon should be saved to history backend and navigation entry. |
670 history_handler = helper.history_handler(); | 667 history_handler = helper.history_handler(); |
671 ASSERT_TRUE(history_handler); | 668 ASSERT_TRUE(history_handler); |
672 EXPECT_EQ(new_icon_url, history_handler->icon_url_); | 669 EXPECT_EQ(new_icon_url, history_handler->icon_url_); |
673 EXPECT_EQ(favicon_base::FAVICON, history_handler->icon_type_); | 670 EXPECT_EQ(favicon_base::FAVICON, history_handler->icon_type_); |
674 EXPECT_LT(0U, history_handler->bitmap_data_.size()); | 671 EXPECT_LT(0U, history_handler->bitmap_data_.size()); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
710 history_handler->history_results_.push_back(bitmap_result); | 707 history_handler->history_results_.push_back(bitmap_result); |
711 | 708 |
712 // Send history response. | 709 // Send history response. |
713 history_handler->InvokeCallback(); | 710 history_handler->InvokeCallback(); |
714 // The NavigationEntry should not be set yet as the history data is invalid. | 711 // The NavigationEntry should not be set yet as the history data is invalid. |
715 EXPECT_FALSE(driver.GetActiveFaviconValidity()); | 712 EXPECT_FALSE(driver.GetActiveFaviconValidity()); |
716 EXPECT_EQ(GURL(), driver.GetActiveFaviconURL()); | 713 EXPECT_EQ(GURL(), driver.GetActiveFaviconURL()); |
717 | 714 |
718 // Reset the history_handler to verify whether new icon is requested from | 715 // Reset the history_handler to verify whether new icon is requested from |
719 // history. | 716 // history. |
720 helper.set_history_handler(NULL); | 717 helper.set_history_handler(nullptr); |
721 | 718 |
722 // Simulates update with matching favicon URL. | 719 // Simulates update with matching favicon URL. |
723 std::vector<FaviconURL> urls; | 720 std::vector<FaviconURL> urls; |
724 urls.push_back( | 721 urls.push_back( |
725 FaviconURL(icon_url, favicon_base::FAVICON, std::vector<gfx::Size>())); | 722 FaviconURL(icon_url, favicon_base::FAVICON, std::vector<gfx::Size>())); |
726 helper.OnUpdateFaviconURL(urls); | 723 helper.OnUpdateFaviconURL(urls); |
727 | 724 |
728 // A download for the favicon should be requested, and we should not do | 725 // A download for the favicon should be requested, and we should not do |
729 // another history request. | 726 // another history request. |
730 DownloadHandler* download_handler = helper.download_handler(); | 727 DownloadHandler* download_handler = helper.download_handler(); |
731 EXPECT_TRUE(helper.download_handler()->HasDownload()); | 728 EXPECT_TRUE(helper.download_handler()->HasDownload()); |
732 EXPECT_EQ(NULL, helper.history_handler()); | 729 EXPECT_EQ(nullptr, helper.history_handler()); |
733 | 730 |
734 // Verify the download request. | 731 // Verify the download request. |
735 EXPECT_EQ(icon_url, download_handler->GetImageUrl()); | 732 EXPECT_EQ(icon_url, download_handler->GetImageUrl()); |
736 | 733 |
737 // Simulates download done. | 734 // Simulates download done. |
738 download_handler->InvokeCallback(); | 735 download_handler->InvokeCallback(); |
739 | 736 |
740 // New icon should be saved to history backend and navigation entry. | 737 // New icon should be saved to history backend and navigation entry. |
741 history_handler = helper.history_handler(); | 738 history_handler = helper.history_handler(); |
742 ASSERT_TRUE(history_handler); | 739 ASSERT_TRUE(history_handler); |
(...skipping 30 matching lines...) Expand all Loading... |
773 SetFaviconRawBitmapResult(icon_url, &history_handler->history_results_); | 770 SetFaviconRawBitmapResult(icon_url, &history_handler->history_results_); |
774 | 771 |
775 // Send history response. | 772 // Send history response. |
776 history_handler->InvokeCallback(); | 773 history_handler->InvokeCallback(); |
777 // Verify FaviconHandler status. | 774 // Verify FaviconHandler status. |
778 EXPECT_TRUE(driver.GetActiveFaviconValidity()); | 775 EXPECT_TRUE(driver.GetActiveFaviconValidity()); |
779 EXPECT_EQ(icon_url, driver.GetActiveFaviconURL()); | 776 EXPECT_EQ(icon_url, driver.GetActiveFaviconURL()); |
780 | 777 |
781 // Reset the history_handler to verify whether new icon is requested from | 778 // Reset the history_handler to verify whether new icon is requested from |
782 // history. | 779 // history. |
783 helper.set_history_handler(NULL); | 780 helper.set_history_handler(nullptr); |
784 | 781 |
785 // Simulates update with the different favicon url. | 782 // Simulates update with the different favicon url. |
786 std::vector<FaviconURL> urls; | 783 std::vector<FaviconURL> urls; |
787 urls.push_back(FaviconURL( | 784 urls.push_back(FaviconURL( |
788 new_icon_url, favicon_base::FAVICON, std::vector<gfx::Size>())); | 785 new_icon_url, favicon_base::FAVICON, std::vector<gfx::Size>())); |
789 helper.OnUpdateFaviconURL(urls); | 786 helper.OnUpdateFaviconURL(urls); |
790 | 787 |
791 // Verify FaviconHandler status. | 788 // Verify FaviconHandler status. |
792 EXPECT_EQ(1U, helper.urls().size()); | 789 EXPECT_EQ(1U, helper.urls().size()); |
793 ASSERT_TRUE(helper.current_candidate()); | 790 ASSERT_TRUE(helper.current_candidate()); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
836 // Icon not found. | 833 // Icon not found. |
837 history_handler->history_results_.clear(); | 834 history_handler->history_results_.clear(); |
838 // Send history response. | 835 // Send history response. |
839 history_handler->InvokeCallback(); | 836 history_handler->InvokeCallback(); |
840 // Verify FaviconHandler status. | 837 // Verify FaviconHandler status. |
841 EXPECT_FALSE(driver.GetActiveFaviconValidity()); | 838 EXPECT_FALSE(driver.GetActiveFaviconValidity()); |
842 EXPECT_EQ(GURL(), driver.GetActiveFaviconURL()); | 839 EXPECT_EQ(GURL(), driver.GetActiveFaviconURL()); |
843 | 840 |
844 // Reset the history_handler to verify whether new icon is requested from | 841 // Reset the history_handler to verify whether new icon is requested from |
845 // history. | 842 // history. |
846 helper.set_history_handler(NULL); | 843 helper.set_history_handler(nullptr); |
847 | 844 |
848 // Simulates update with the different favicon url. | 845 // Simulates update with the different favicon url. |
849 std::vector<FaviconURL> urls; | 846 std::vector<FaviconURL> urls; |
850 urls.push_back(FaviconURL(icon_url, | 847 urls.push_back(FaviconURL(icon_url, |
851 favicon_base::TOUCH_PRECOMPOSED_ICON, | 848 favicon_base::TOUCH_PRECOMPOSED_ICON, |
852 std::vector<gfx::Size>())); | 849 std::vector<gfx::Size>())); |
853 urls.push_back(FaviconURL( | 850 urls.push_back(FaviconURL( |
854 new_icon_url, favicon_base::TOUCH_ICON, std::vector<gfx::Size>())); | 851 new_icon_url, favicon_base::TOUCH_ICON, std::vector<gfx::Size>())); |
855 urls.push_back(FaviconURL( | 852 urls.push_back(FaviconURL( |
856 new_icon_url, favicon_base::FAVICON, std::vector<gfx::Size>())); | 853 new_icon_url, favicon_base::FAVICON, std::vector<gfx::Size>())); |
(...skipping 19 matching lines...) Expand all Loading... |
876 | 873 |
877 // Should request download favicon. | 874 // Should request download favicon. |
878 DownloadHandler* download_handler = helper.download_handler(); | 875 DownloadHandler* download_handler = helper.download_handler(); |
879 EXPECT_TRUE(helper.download_handler()->HasDownload()); | 876 EXPECT_TRUE(helper.download_handler()->HasDownload()); |
880 | 877 |
881 // Verify the download request. | 878 // Verify the download request. |
882 EXPECT_EQ(icon_url, download_handler->GetImageUrl()); | 879 EXPECT_EQ(icon_url, download_handler->GetImageUrl()); |
883 | 880 |
884 // Reset the history_handler to verify whether favicon is request from | 881 // Reset the history_handler to verify whether favicon is request from |
885 // history. | 882 // history. |
886 helper.set_history_handler(NULL); | 883 helper.set_history_handler(nullptr); |
887 // Smulates download failed. | 884 // Smulates download failed. |
888 download_handler->set_failed(true); | 885 download_handler->set_failed(true); |
889 download_handler->InvokeCallback(); | 886 download_handler->InvokeCallback(); |
890 | 887 |
891 // Left 1 url. | 888 // Left 1 url. |
892 EXPECT_EQ(1U, helper.urls().size()); | 889 EXPECT_EQ(1U, helper.urls().size()); |
893 ASSERT_TRUE(helper.current_candidate()); | 890 ASSERT_TRUE(helper.current_candidate()); |
894 EXPECT_EQ(new_icon_url, helper.current_candidate()->icon_url); | 891 EXPECT_EQ(new_icon_url, helper.current_candidate()->icon_url); |
895 EXPECT_EQ(favicon_base::TOUCH_ICON, helper.current_candidate()->icon_type); | 892 EXPECT_EQ(favicon_base::TOUCH_ICON, helper.current_candidate()->icon_type); |
896 | 893 |
(...skipping 11 matching lines...) Expand all Loading... |
908 SetFaviconRawBitmapResult(new_icon_url, | 905 SetFaviconRawBitmapResult(new_icon_url, |
909 favicon_base::TOUCH_ICON, | 906 favicon_base::TOUCH_ICON, |
910 true /* expired */, | 907 true /* expired */, |
911 &history_handler->history_results_); | 908 &history_handler->history_results_); |
912 history_handler->InvokeCallback(); | 909 history_handler->InvokeCallback(); |
913 | 910 |
914 // Verify the download request. | 911 // Verify the download request. |
915 EXPECT_TRUE(helper.download_handler()->HasDownload()); | 912 EXPECT_TRUE(helper.download_handler()->HasDownload()); |
916 EXPECT_EQ(new_icon_url, download_handler->GetImageUrl()); | 913 EXPECT_EQ(new_icon_url, download_handler->GetImageUrl()); |
917 | 914 |
918 helper.set_history_handler(NULL); | 915 helper.set_history_handler(nullptr); |
919 | 916 |
920 // Simulates icon being downloaded. | 917 // Simulates icon being downloaded. |
921 download_handler->InvokeCallback(); | 918 download_handler->InvokeCallback(); |
922 | 919 |
923 // New icon should be saved to history backend. | 920 // New icon should be saved to history backend. |
924 history_handler = helper.history_handler(); | 921 history_handler = helper.history_handler(); |
925 ASSERT_TRUE(history_handler); | 922 ASSERT_TRUE(history_handler); |
926 EXPECT_EQ(new_icon_url, history_handler->icon_url_); | 923 EXPECT_EQ(new_icon_url, history_handler->icon_url_); |
927 EXPECT_EQ(favicon_base::TOUCH_ICON, history_handler->icon_type_); | 924 EXPECT_EQ(favicon_base::TOUCH_ICON, history_handler->icon_type_); |
928 EXPECT_LT(0U, history_handler->bitmap_data_.size()); | 925 EXPECT_LT(0U, history_handler->bitmap_data_.size()); |
(...skipping 22 matching lines...) Expand all Loading... |
951 // Icon not found. | 948 // Icon not found. |
952 history_handler->history_results_.clear(); | 949 history_handler->history_results_.clear(); |
953 // Send history response. | 950 // Send history response. |
954 history_handler->InvokeCallback(); | 951 history_handler->InvokeCallback(); |
955 // Verify FaviconHandler status. | 952 // Verify FaviconHandler status. |
956 EXPECT_FALSE(driver.GetActiveFaviconValidity()); | 953 EXPECT_FALSE(driver.GetActiveFaviconValidity()); |
957 EXPECT_EQ(GURL(), driver.GetActiveFaviconURL()); | 954 EXPECT_EQ(GURL(), driver.GetActiveFaviconURL()); |
958 | 955 |
959 // Reset the history_handler to verify whether new icon is requested from | 956 // Reset the history_handler to verify whether new icon is requested from |
960 // history. | 957 // history. |
961 helper.set_history_handler(NULL); | 958 helper.set_history_handler(nullptr); |
962 | 959 |
963 // Simulates update with the different favicon url. | 960 // Simulates update with the different favicon url. |
964 std::vector<FaviconURL> urls; | 961 std::vector<FaviconURL> urls; |
965 urls.push_back(FaviconURL(icon_url, | 962 urls.push_back(FaviconURL(icon_url, |
966 favicon_base::TOUCH_PRECOMPOSED_ICON, | 963 favicon_base::TOUCH_PRECOMPOSED_ICON, |
967 std::vector<gfx::Size>())); | 964 std::vector<gfx::Size>())); |
968 urls.push_back(FaviconURL( | 965 urls.push_back(FaviconURL( |
969 new_icon_url, favicon_base::TOUCH_ICON, std::vector<gfx::Size>())); | 966 new_icon_url, favicon_base::TOUCH_ICON, std::vector<gfx::Size>())); |
970 urls.push_back(FaviconURL( | 967 urls.push_back(FaviconURL( |
971 new_icon_url, favicon_base::FAVICON, std::vector<gfx::Size>())); | 968 new_icon_url, favicon_base::FAVICON, std::vector<gfx::Size>())); |
(...skipping 19 matching lines...) Expand all Loading... |
991 | 988 |
992 // Should request download favicon. | 989 // Should request download favicon. |
993 DownloadHandler* download_handler = helper.download_handler(); | 990 DownloadHandler* download_handler = helper.download_handler(); |
994 EXPECT_TRUE(helper.download_handler()->HasDownload()); | 991 EXPECT_TRUE(helper.download_handler()->HasDownload()); |
995 | 992 |
996 // Verify the download request. | 993 // Verify the download request. |
997 EXPECT_EQ(icon_url, download_handler->GetImageUrl()); | 994 EXPECT_EQ(icon_url, download_handler->GetImageUrl()); |
998 | 995 |
999 // Reset the history_handler to verify whether favicon is request from | 996 // Reset the history_handler to verify whether favicon is request from |
1000 // history. | 997 // history. |
1001 helper.set_history_handler(NULL); | 998 helper.set_history_handler(nullptr); |
1002 const GURL latest_icon_url("http://www.google.com/latest_favicon"); | 999 const GURL latest_icon_url("http://www.google.com/latest_favicon"); |
1003 std::vector<FaviconURL> latest_urls; | 1000 std::vector<FaviconURL> latest_urls; |
1004 latest_urls.push_back(FaviconURL( | 1001 latest_urls.push_back(FaviconURL( |
1005 latest_icon_url, favicon_base::TOUCH_ICON, std::vector<gfx::Size>())); | 1002 latest_icon_url, favicon_base::TOUCH_ICON, std::vector<gfx::Size>())); |
1006 helper.OnUpdateFaviconURL(latest_urls); | 1003 helper.OnUpdateFaviconURL(latest_urls); |
1007 | 1004 |
1008 EXPECT_EQ(1U, helper.urls().size()); | 1005 EXPECT_EQ(1U, helper.urls().size()); |
1009 EXPECT_EQ(latest_icon_url, helper.current_candidate()->icon_url); | 1006 EXPECT_EQ(latest_icon_url, helper.current_candidate()->icon_url); |
1010 EXPECT_EQ(favicon_base::TOUCH_ICON, helper.current_candidate()->icon_type); | 1007 EXPECT_EQ(favicon_base::TOUCH_ICON, helper.current_candidate()->icon_type); |
1011 | 1008 |
1012 // Whether new icon is requested from history | 1009 // Whether new icon is requested from history |
1013 history_handler = helper.history_handler(); | 1010 history_handler = helper.history_handler(); |
1014 ASSERT_TRUE(history_handler); | 1011 ASSERT_TRUE(history_handler); |
1015 EXPECT_EQ(latest_icon_url, history_handler->icon_url_); | 1012 EXPECT_EQ(latest_icon_url, history_handler->icon_url_); |
1016 EXPECT_EQ(favicon_base::TOUCH_ICON, history_handler->icon_type_); | 1013 EXPECT_EQ(favicon_base::TOUCH_ICON, history_handler->icon_type_); |
1017 EXPECT_EQ(page_url, history_handler->page_url_); | 1014 EXPECT_EQ(page_url, history_handler->page_url_); |
1018 | 1015 |
1019 // Reset the history_handler to verify whether favicon is request from | 1016 // Reset the history_handler to verify whether favicon is request from |
1020 // history. | 1017 // history. |
1021 // Save the callback for late use. | 1018 // Save the callback for late use. |
1022 favicon_base::FaviconResultsCallback callback = history_handler->callback_; | 1019 favicon_base::FaviconResultsCallback callback = history_handler->callback_; |
1023 helper.set_history_handler(NULL); | 1020 helper.set_history_handler(nullptr); |
1024 | 1021 |
1025 // Simulates download succeed. | 1022 // Simulates download succeed. |
1026 download_handler->InvokeCallback(); | 1023 download_handler->InvokeCallback(); |
1027 // The downloaded icon should be thrown away as there is favicon update. | 1024 // The downloaded icon should be thrown away as there is favicon update. |
1028 EXPECT_FALSE(helper.history_handler()); | 1025 EXPECT_FALSE(helper.history_handler()); |
1029 | 1026 |
1030 download_handler->Reset(); | 1027 download_handler->Reset(); |
1031 | 1028 |
1032 // Simulates getting the icon from history. | 1029 // Simulates getting the icon from history. |
1033 scoped_ptr<HistoryRequestHandler> handler; | 1030 scoped_ptr<HistoryRequestHandler> handler; |
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1647 EXPECT_EQ(new_favicon_url, driver1.available_icon_url()); | 1644 EXPECT_EQ(new_favicon_url, driver1.available_icon_url()); |
1648 EXPECT_FALSE(driver1.update_active_favicon()); | 1645 EXPECT_FALSE(driver1.update_active_favicon()); |
1649 EXPECT_EQ(3u, driver1.num_favicon_available()); | 1646 EXPECT_EQ(3u, driver1.num_favicon_available()); |
1650 } | 1647 } |
1651 | 1648 |
1652 INSTANTIATE_TEST_CASE_P(FaviconHandlerTestActiveFaviconValidityTrueOrFalse, | 1649 INSTANTIATE_TEST_CASE_P(FaviconHandlerTestActiveFaviconValidityTrueOrFalse, |
1653 FaviconHandlerActiveFaviconValidityParamTest, | 1650 FaviconHandlerActiveFaviconValidityParamTest, |
1654 ::testing::Bool()); | 1651 ::testing::Bool()); |
1655 | 1652 |
1656 } // namespace. | 1653 } // namespace. |
OLD | NEW |