| Index: a.c
|
| diff --git a/a.c b/a.c
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d46f186f638a9cd152fa885d11965e6855434894
|
| --- /dev/null
|
| +++ b/a.c
|
| @@ -0,0 +1,40 @@
|
| +void RunAllPending(TestFaviconService* favicon_service, TestWebContents* web_contents) {
|
| + while (favicon_service->HasPending() || web_contents->HasPending()) {
|
| + favicon_service->RunAllPending();
|
| + web_contents->RunAllPending();
|
| + }
|
| +}
|
| +
|
| +void OnUpdateFaviconUrl(FaviconHandler* favicon_handler, const GURL& page_url, const GURL& icon_url) {
|
| + std::vector<FaviconURL> urls;
|
| + urls.push_back(
|
| + FaviconURL(icon_url, favicon_base::FAVICON, std::vector<gfx::Size>()));
|
| + handler->OnUpdateFaviconURL(page_url, urls);
|
| +}
|
| +
|
| +TEST_F(FaviconHandlerTest, FaviconInHistoryInvalid) {
|
| + const GURL page_url("http://www.google.com");
|
| + const GURL icon_url("http://www.google.com/favicon");
|
| +
|
| + TestFaviconService service;
|
| + service.Store(page_url, Icon(icon_url, gfx::kFaviconSize, new base::RefCountedBytes()));
|
| + TestWebContents web_contents = GetTestWebContents();
|
| + web_contents->SetImage(icon_url, CreateSolidColorBitmap(SK_ColorBLUE));
|
| +
|
| + FaviconHandler handler;
|
| + handler.FetchFavicon(page_url);
|
| + OnUpdateFaviconURL(&handler, page_url, icon_url);
|
| +
|
| + RunAllPending(favicon_service, web_contents);
|
| +
|
| + std::vector<Icon> stored_icons = handler.stored_icons();
|
| + ASSERT_EQ(1u, stored_icons.size());
|
| + EXPECT_EQ(icon_url, stored_icons[0].icon_url);
|
| + EXPECT_LT(0u, stored_icons[0].data.size());
|
| +
|
| + // Verify NavigationEntry.
|
| + EXPECT_EQ(1u, driver.num_notifications());
|
| + EXPECT_EQ(icon_url, driver.icon_url());
|
| + EXPECT_FALSE(driver.image().IsEmpty());
|
| + EXPECT_EQ(gfx::kFaviconSize, driver.image().Width());
|
| +}
|
|
|