| 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/history/core/browser/history_backend.h" | 5 #include "components/history/core/browser/history_backend.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 2044 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2055 page_url2, &icon_mappings)); | 2055 page_url2, &icon_mappings)); |
| 2056 EXPECT_EQ(1u, icon_mappings.size()); | 2056 EXPECT_EQ(1u, icon_mappings.size()); |
| 2057 EXPECT_EQ(favicon_id, icon_mappings[0].icon_id); | 2057 EXPECT_EQ(favicon_id, icon_mappings[0].icon_id); |
| 2058 | 2058 |
| 2059 favicon_bitmaps.clear(); | 2059 favicon_bitmaps.clear(); |
| 2060 EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconBitmaps(favicon_id, | 2060 EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconBitmaps(favicon_id, |
| 2061 &favicon_bitmaps)); | 2061 &favicon_bitmaps)); |
| 2062 EXPECT_EQ(2u, favicon_bitmaps.size()); | 2062 EXPECT_EQ(2u, favicon_bitmaps.size()); |
| 2063 } | 2063 } |
| 2064 | 2064 |
| 2065 // Tests calling SetLastResortFavicons(). Neither |page_url| nor |icon_url| are | 2065 // Tests calling SetOnDemandFavicons(). Neither |page_url| nor |icon_url| are |
| 2066 // known to the database. | 2066 // known to the database. |
| 2067 TEST_F(HistoryBackendTest, SetLastResortFaviconsForEmptyDB) { | 2067 TEST_F(HistoryBackendTest, SetOnDemandFaviconsForEmptyDB) { |
| 2068 GURL page_url("http://www.google.com"); | 2068 GURL page_url("http://www.google.com"); |
| 2069 GURL icon_url("http:/www.google.com/favicon.ico"); | 2069 GURL icon_url("http:/www.google.com/favicon.ico"); |
| 2070 | 2070 |
| 2071 std::vector<SkBitmap> bitmaps; | 2071 std::vector<SkBitmap> bitmaps; |
| 2072 bitmaps.push_back(CreateBitmap(SK_ColorRED, kSmallEdgeSize)); | 2072 bitmaps.push_back(CreateBitmap(SK_ColorRED, kSmallEdgeSize)); |
| 2073 | 2073 |
| 2074 // Call SetLastResortFavicons() with a different icon URL and bitmap data. | 2074 // Call SetOnDemandFavicons() with a different icon URL and bitmap data. |
| 2075 EXPECT_TRUE(backend_->SetLastResortFavicons(page_url, favicon_base::FAVICON, | 2075 EXPECT_TRUE(backend_->SetOnDemandFavicons(page_url, favicon_base::FAVICON, |
| 2076 icon_url, bitmaps)); | 2076 icon_url, bitmaps)); |
| 2077 | 2077 |
| 2078 favicon_base::FaviconID favicon_id = | 2078 favicon_base::FaviconID favicon_id = |
| 2079 backend_->thumbnail_db_->GetFaviconIDForFaviconURL(icon_url, | 2079 backend_->thumbnail_db_->GetFaviconIDForFaviconURL(icon_url, |
| 2080 favicon_base::FAVICON); | 2080 favicon_base::FAVICON); |
| 2081 EXPECT_NE(0, favicon_id); | 2081 EXPECT_NE(0, favicon_id); |
| 2082 | 2082 |
| 2083 FaviconBitmap favicon_bitmap; | 2083 FaviconBitmap favicon_bitmap; |
| 2084 ASSERT_TRUE(GetOnlyFaviconBitmap(favicon_id, &favicon_bitmap)); | 2084 ASSERT_TRUE(GetOnlyFaviconBitmap(favicon_id, &favicon_bitmap)); |
| 2085 // The original bitmap should have been retrieved. | 2085 // The original bitmap should have been retrieved. |
| 2086 EXPECT_TRUE(BitmapColorEqual(SK_ColorRED, favicon_bitmap.bitmap_data)); | 2086 EXPECT_TRUE(BitmapColorEqual(SK_ColorRED, favicon_bitmap.bitmap_data)); |
| 2087 // The favicon should not be marked as expired. | 2087 // The favicon should not be marked as expired. |
| 2088 EXPECT_EQ(base::Time(), favicon_bitmap.last_updated); | 2088 EXPECT_EQ(base::Time(), favicon_bitmap.last_updated); |
| 2089 } | 2089 } |
| 2090 | 2090 |
| 2091 // Tests calling SetLastResortFavicons(). |page_url| is known to the database | 2091 // Tests calling SetOnDemandFavicons(). |page_url| is known to the database |
| 2092 // but |icon_url| is not (the second should be irrelevant though). | 2092 // but |icon_url| is not (the second should be irrelevant though). |
| 2093 TEST_F(HistoryBackendTest, SetLastResortFaviconsForPageInDB) { | 2093 TEST_F(HistoryBackendTest, SetOnDemandFaviconsForPageInDB) { |
| 2094 GURL page_url("http://www.google.com"); | 2094 GURL page_url("http://www.google.com"); |
| 2095 GURL icon_url1("http:/www.google.com/favicon1.ico"); | 2095 GURL icon_url1("http:/www.google.com/favicon1.ico"); |
| 2096 GURL icon_url2("http:/www.google.com/favicon2.ico"); | 2096 GURL icon_url2("http:/www.google.com/favicon2.ico"); |
| 2097 std::vector<SkBitmap> bitmaps; | 2097 std::vector<SkBitmap> bitmaps; |
| 2098 bitmaps.push_back(CreateBitmap(SK_ColorBLUE, kSmallEdgeSize)); | 2098 bitmaps.push_back(CreateBitmap(SK_ColorBLUE, kSmallEdgeSize)); |
| 2099 | 2099 |
| 2100 // Add bitmap to the database. | 2100 // Add bitmap to the database. |
| 2101 backend_->SetFavicons(page_url, favicon_base::FAVICON, icon_url1, bitmaps); | 2101 backend_->SetFavicons(page_url, favicon_base::FAVICON, icon_url1, bitmaps); |
| 2102 favicon_base::FaviconID original_favicon_id = | 2102 favicon_base::FaviconID original_favicon_id = |
| 2103 backend_->thumbnail_db_->GetFaviconIDForFaviconURL(icon_url1, | 2103 backend_->thumbnail_db_->GetFaviconIDForFaviconURL(icon_url1, |
| 2104 favicon_base::FAVICON); | 2104 favicon_base::FAVICON); |
| 2105 ASSERT_NE(0, original_favicon_id); | 2105 ASSERT_NE(0, original_favicon_id); |
| 2106 | 2106 |
| 2107 // Call SetLastResortFavicons() with a different icon URL and bitmap data. | 2107 // Call SetOnDemandFavicons() with a different icon URL and bitmap data. |
| 2108 bitmaps[0] = CreateBitmap(SK_ColorWHITE, kSmallEdgeSize); | 2108 bitmaps[0] = CreateBitmap(SK_ColorWHITE, kSmallEdgeSize); |
| 2109 EXPECT_FALSE(backend_->SetLastResortFavicons(page_url, favicon_base::FAVICON, | 2109 EXPECT_FALSE(backend_->SetOnDemandFavicons(page_url, favicon_base::FAVICON, |
| 2110 icon_url2, bitmaps)); | 2110 icon_url2, bitmaps)); |
| 2111 EXPECT_EQ(0, backend_->thumbnail_db_->GetFaviconIDForFaviconURL( | 2111 EXPECT_EQ(0, backend_->thumbnail_db_->GetFaviconIDForFaviconURL( |
| 2112 icon_url2, favicon_base::FAVICON)); | 2112 icon_url2, favicon_base::FAVICON)); |
| 2113 | 2113 |
| 2114 FaviconBitmap favicon_bitmap; | 2114 FaviconBitmap favicon_bitmap; |
| 2115 ASSERT_TRUE(GetOnlyFaviconBitmap(original_favicon_id, &favicon_bitmap)); | 2115 ASSERT_TRUE(GetOnlyFaviconBitmap(original_favicon_id, &favicon_bitmap)); |
| 2116 // The original bitmap should have been retrieved. | 2116 // The original bitmap should have been retrieved. |
| 2117 EXPECT_TRUE(BitmapColorEqual(SK_ColorBLUE, favicon_bitmap.bitmap_data)); | 2117 EXPECT_TRUE(BitmapColorEqual(SK_ColorBLUE, favicon_bitmap.bitmap_data)); |
| 2118 // The favicon should not be marked as expired. | 2118 // The favicon should not be marked as expired. |
| 2119 EXPECT_NE(base::Time(), favicon_bitmap.last_updated); | 2119 EXPECT_NE(base::Time(), favicon_bitmap.last_updated); |
| 2120 } | 2120 } |
| 2121 | 2121 |
| 2122 // Tests calling SetLastResortFavicons(). |page_url| is not known to the | 2122 // Tests calling SetOnDemandFavicons(). |page_url| is not known to the |
| 2123 // database but |icon_url| is. | 2123 // database but |icon_url| is. |
| 2124 TEST_F(HistoryBackendTest, SetLastResortFaviconsForIconInDB) { | 2124 TEST_F(HistoryBackendTest, SetOnDemandFaviconsForIconInDB) { |
| 2125 const GURL old_page_url("http://www.google.com/old"); | 2125 const GURL old_page_url("http://www.google.com/old"); |
| 2126 const GURL page_url("http://www.google.com/"); | 2126 const GURL page_url("http://www.google.com/"); |
| 2127 const GURL icon_url("http://www.google.com/icon"); | 2127 const GURL icon_url("http://www.google.com/icon"); |
| 2128 std::vector<SkBitmap> bitmaps; | 2128 std::vector<SkBitmap> bitmaps; |
| 2129 bitmaps.push_back(CreateBitmap(SK_ColorBLUE, kSmallEdgeSize)); | 2129 bitmaps.push_back(CreateBitmap(SK_ColorBLUE, kSmallEdgeSize)); |
| 2130 | 2130 |
| 2131 // Add bitmap to the database. | 2131 // Add bitmap to the database. |
| 2132 backend_->SetFavicons(old_page_url, favicon_base::FAVICON, icon_url, bitmaps); | 2132 backend_->SetFavicons(old_page_url, favicon_base::FAVICON, icon_url, bitmaps); |
| 2133 favicon_base::FaviconID original_favicon_id = | 2133 favicon_base::FaviconID original_favicon_id = |
| 2134 backend_->thumbnail_db_->GetFaviconIDForFaviconURL(icon_url, | 2134 backend_->thumbnail_db_->GetFaviconIDForFaviconURL(icon_url, |
| 2135 favicon_base::FAVICON); | 2135 favicon_base::FAVICON); |
| 2136 ASSERT_NE(0, original_favicon_id); | 2136 ASSERT_NE(0, original_favicon_id); |
| 2137 | 2137 |
| 2138 // Call SetLastResortFavicons() with a different bitmap. | 2138 // Call SetOnDemandFavicons() with a different bitmap. |
| 2139 bitmaps[0] = CreateBitmap(SK_ColorWHITE, kSmallEdgeSize); | 2139 bitmaps[0] = CreateBitmap(SK_ColorWHITE, kSmallEdgeSize); |
| 2140 EXPECT_FALSE(backend_->SetLastResortFavicons(page_url, favicon_base::FAVICON, | 2140 EXPECT_FALSE(backend_->SetOnDemandFavicons(page_url, favicon_base::FAVICON, |
| 2141 icon_url, bitmaps)); | 2141 icon_url, bitmaps)); |
| 2142 | 2142 |
| 2143 EXPECT_EQ(original_favicon_id, | 2143 EXPECT_EQ(original_favicon_id, |
| 2144 backend_->thumbnail_db_->GetFaviconIDForFaviconURL( | 2144 backend_->thumbnail_db_->GetFaviconIDForFaviconURL( |
| 2145 icon_url, favicon_base::FAVICON)); | 2145 icon_url, favicon_base::FAVICON)); |
| 2146 | 2146 |
| 2147 FaviconBitmap favicon_bitmap; | 2147 FaviconBitmap favicon_bitmap; |
| 2148 ASSERT_TRUE(GetOnlyFaviconBitmap(original_favicon_id, &favicon_bitmap)); | 2148 ASSERT_TRUE(GetOnlyFaviconBitmap(original_favicon_id, &favicon_bitmap)); |
| 2149 // The original bitmap should have been retrieved. | 2149 // The original bitmap should have been retrieved. |
| 2150 EXPECT_TRUE(BitmapColorEqual(SK_ColorBLUE, favicon_bitmap.bitmap_data)); | 2150 EXPECT_TRUE(BitmapColorEqual(SK_ColorBLUE, favicon_bitmap.bitmap_data)); |
| 2151 // The favicon should not be marked as expired. | 2151 // The favicon should not be marked as expired. |
| (...skipping 1729 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3881 backend_->QueryMostVisitedURLs(100, 100, &most_visited); | 3881 backend_->QueryMostVisitedURLs(100, 100, &most_visited); |
| 3882 | 3882 |
| 3883 const base::string16 kSomeTitle; // Ignored by equality operator. | 3883 const base::string16 kSomeTitle; // Ignored by equality operator. |
| 3884 EXPECT_THAT( | 3884 EXPECT_THAT( |
| 3885 most_visited, | 3885 most_visited, |
| 3886 ElementsAre(MostVisitedURL(GURL("http://example1.com"), kSomeTitle), | 3886 ElementsAre(MostVisitedURL(GURL("http://example1.com"), kSomeTitle), |
| 3887 MostVisitedURL(GURL("http://example5.com"), kSomeTitle))); | 3887 MostVisitedURL(GURL("http://example5.com"), kSomeTitle))); |
| 3888 } | 3888 } |
| 3889 | 3889 |
| 3890 } // namespace history | 3890 } // namespace history |
| OLD | NEW |