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 "components/favicon/core/favicon_handler.h" | 5 #include "components/favicon/core/favicon_handler.h" |
6 | 6 |
7 #include<set> | 7 #include<set> |
8 #include<vector> | 8 #include<vector> |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 bool update_active_favicon_; | 299 bool update_active_favicon_; |
300 | 300 |
301 DISALLOW_COPY_AND_ASSIGN(TestFaviconDriver); | 301 DISALLOW_COPY_AND_ASSIGN(TestFaviconDriver); |
302 }; | 302 }; |
303 | 303 |
304 // This class is used to catch the FaviconHandler's download and history | 304 // This class is used to catch the FaviconHandler's download and history |
305 // request, and also provide the methods to access the FaviconHandler | 305 // request, and also provide the methods to access the FaviconHandler |
306 // internals. | 306 // internals. |
307 class TestFaviconHandler : public FaviconHandler { | 307 class TestFaviconHandler : public FaviconHandler { |
308 public: | 308 public: |
309 static int GetMaximalIconSize(favicon_base::IconType icon_type) { | 309 using FaviconHandler::GetMaximalIconSize; |
310 return FaviconHandler::GetMaximalIconSize(icon_type); | |
311 } | |
312 | 310 |
313 TestFaviconHandler(const GURL& page_url, | 311 TestFaviconHandler(const GURL& page_url, |
314 TestFaviconDriver* driver, | 312 TestFaviconDriver* driver, |
315 Type type, | 313 Type type, |
316 bool download_largest_icon) | 314 bool download_largest_icon) |
317 : FaviconHandler(nullptr, driver, type, download_largest_icon), | 315 : FaviconHandler(nullptr, driver, type, download_largest_icon), |
318 download_id_(0) { | 316 download_id_(0) { |
319 driver->SetActiveURL(page_url); | 317 driver->SetActiveURL(page_url); |
320 download_handler_.reset(new DownloadHandler(this)); | 318 download_handler_.reset(new DownloadHandler(this)); |
321 } | 319 } |
(...skipping 1172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1494 handler1.history_handler()->size_); | 1492 handler1.history_handler()->size_); |
1495 // Verify NotifyFaviconAvailable(). | 1493 // Verify NotifyFaviconAvailable(). |
1496 EXPECT_FALSE(driver1.update_active_favicon()); | 1494 EXPECT_FALSE(driver1.update_active_favicon()); |
1497 EXPECT_EQ(kSourceIconURLs[i].icon_url, driver1.available_icon_url()); | 1495 EXPECT_EQ(kSourceIconURLs[i].icon_url, driver1.available_icon_url()); |
1498 EXPECT_EQ(kSourceIconURLs[i].icon_sizes[b], | 1496 EXPECT_EQ(kSourceIconURLs[i].icon_sizes[b], |
1499 driver1.available_favicon().Size()); | 1497 driver1.available_favicon().Size()); |
1500 } | 1498 } |
1501 | 1499 |
1502 TEST_F(FaviconHandlerTest, TestFaviconWasScaledAfterDownload) { | 1500 TEST_F(FaviconHandlerTest, TestFaviconWasScaledAfterDownload) { |
1503 const GURL kPageURL("http://www.google.com"); | 1501 const GURL kPageURL("http://www.google.com"); |
1504 const int kMaximalSize = | 1502 |
1505 TestFaviconHandler::GetMaximalIconSize(favicon_base::FAVICON); | 1503 TestFaviconDriver driver1; |
| 1504 TestFaviconHandler handler1(kPageURL, &driver1, FaviconHandler::FAVICON, |
| 1505 true); |
| 1506 const int kMaximalSize = handler1.GetMaximalIconSize(favicon_base::FAVICON); |
1506 | 1507 |
1507 std::vector<gfx::Size> icon1; | 1508 std::vector<gfx::Size> icon1; |
1508 icon1.push_back(gfx::Size(kMaximalSize + 1, kMaximalSize + 1)); | 1509 icon1.push_back(gfx::Size(kMaximalSize + 1, kMaximalSize + 1)); |
1509 | 1510 |
1510 std::vector<gfx::Size> icon2; | 1511 std::vector<gfx::Size> icon2; |
1511 icon2.push_back(gfx::Size(kMaximalSize + 2, kMaximalSize + 2)); | 1512 icon2.push_back(gfx::Size(kMaximalSize + 2, kMaximalSize + 2)); |
1512 | 1513 |
1513 const FaviconURL kSourceIconURLs[] = { | 1514 const FaviconURL kSourceIconURLs[] = { |
1514 FaviconURL( | 1515 FaviconURL( |
1515 GURL("http://www.google.com/b"), favicon_base::FAVICON, icon1), | 1516 GURL("http://www.google.com/b"), favicon_base::FAVICON, icon1), |
1516 FaviconURL( | 1517 FaviconURL( |
1517 GURL("http://www.google.com/c"), favicon_base::FAVICON, icon2)}; | 1518 GURL("http://www.google.com/c"), favicon_base::FAVICON, icon2)}; |
1518 | 1519 |
1519 TestFaviconDriver driver1; | |
1520 TestFaviconHandler handler1(kPageURL, &driver1, FaviconHandler::FAVICON, | |
1521 true); | |
1522 std::vector<FaviconURL> urls1(kSourceIconURLs, | 1520 std::vector<FaviconURL> urls1(kSourceIconURLs, |
1523 kSourceIconURLs + arraysize(kSourceIconURLs)); | 1521 kSourceIconURLs + arraysize(kSourceIconURLs)); |
1524 UpdateFaviconURL(&driver1, &handler1, kPageURL, urls1); | 1522 UpdateFaviconURL(&driver1, &handler1, kPageURL, urls1); |
1525 | 1523 |
1526 ASSERT_EQ(2u, handler1.urls().size()); | 1524 ASSERT_EQ(2u, handler1.urls().size()); |
1527 | 1525 |
1528 // Index of largest favicon in kSourceIconURLs. | 1526 // Index of largest favicon in kSourceIconURLs. |
1529 size_t i = 1; | 1527 size_t i = 1; |
1530 // The largest bitmap's index in Favicon . | 1528 // The largest bitmap's index in Favicon . |
1531 int b = 0; | 1529 int b = 0; |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1705 EXPECT_FALSE(driver1.update_active_favicon()); | 1703 EXPECT_FALSE(driver1.update_active_favicon()); |
1706 EXPECT_EQ(3u, driver1.num_favicon_available()); | 1704 EXPECT_EQ(3u, driver1.num_favicon_available()); |
1707 } | 1705 } |
1708 | 1706 |
1709 INSTANTIATE_TEST_CASE_P(FaviconHandlerTestActiveFaviconValidityTrueOrFalse, | 1707 INSTANTIATE_TEST_CASE_P(FaviconHandlerTestActiveFaviconValidityTrueOrFalse, |
1710 FaviconHandlerActiveFaviconValidityParamTest, | 1708 FaviconHandlerActiveFaviconValidityParamTest, |
1711 ::testing::Bool()); | 1709 ::testing::Bool()); |
1712 | 1710 |
1713 } // namespace | 1711 } // namespace |
1714 } // namespace favicon | 1712 } // namespace favicon |
OLD | NEW |