OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/large_icon_service.h" | 5 #include "components/favicon/core/large_icon_service.h" |
6 | 6 |
7 #include <deque> | 7 #include <deque> |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 16, 0); | 392 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 16, 0); |
393 EXPECT_EQ(gfx::Size(24, 24), *returned_bitmap_size_); | 393 EXPECT_EQ(gfx::Size(24, 24), *returned_bitmap_size_); |
394 EXPECT_EQ(nullptr, returned_fallback_style_); | 394 EXPECT_EQ(nullptr, returned_fallback_style_); |
395 } | 395 } |
396 | 396 |
397 TEST_P(LargeIconServiceGetterTest, FallbackSinceIconTooSmall) { | 397 TEST_P(LargeIconServiceGetterTest, FallbackSinceIconTooSmall) { |
398 InjectMockResult(GURL(kDummyUrl), CreateTestBitmapResult(16, 16, kTestColor)); | 398 InjectMockResult(GURL(kDummyUrl), CreateTestBitmapResult(16, 16, kTestColor)); |
399 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 24, 24); | 399 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 24, 24); |
400 EXPECT_EQ(nullptr, returned_bitmap_size_); | 400 EXPECT_EQ(nullptr, returned_bitmap_size_); |
401 EXPECT_TRUE(HasBackgroundColor(*returned_fallback_style_, kTestColor)); | 401 EXPECT_TRUE(HasBackgroundColor(*returned_fallback_style_, kTestColor)); |
| 402 histogram_tester_.ExpectUniqueSample("Favicons.LargeIconService.FallbackSize", |
| 403 16, /*expected_count=*/1); |
402 } | 404 } |
403 | 405 |
404 TEST_P(LargeIconServiceGetterTest, FallbackSinceIconNotSquare) { | 406 TEST_P(LargeIconServiceGetterTest, FallbackSinceIconNotSquare) { |
405 InjectMockResult(GURL(kDummyUrl), CreateTestBitmapResult(24, 32, kTestColor)); | 407 InjectMockResult(GURL(kDummyUrl), CreateTestBitmapResult(24, 32, kTestColor)); |
406 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 24, 24); | 408 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 24, 24); |
407 EXPECT_EQ(nullptr, returned_bitmap_size_); | 409 EXPECT_EQ(nullptr, returned_bitmap_size_); |
408 EXPECT_TRUE(HasBackgroundColor(*returned_fallback_style_, kTestColor)); | 410 EXPECT_TRUE(HasBackgroundColor(*returned_fallback_style_, kTestColor)); |
| 411 histogram_tester_.ExpectUniqueSample("Favicons.LargeIconService.FallbackSize", |
| 412 24, /*expected_count=*/1); |
409 } | 413 } |
410 | 414 |
411 TEST_P(LargeIconServiceGetterTest, FallbackSinceIconMissing) { | 415 TEST_P(LargeIconServiceGetterTest, FallbackSinceIconMissing) { |
412 InjectMockResult(GURL(kDummyUrl), favicon_base::FaviconRawBitmapResult()); | 416 InjectMockResult(GURL(kDummyUrl), favicon_base::FaviconRawBitmapResult()); |
413 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 24, 24); | 417 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 24, 24); |
414 EXPECT_EQ(nullptr, returned_bitmap_size_); | 418 EXPECT_EQ(nullptr, returned_bitmap_size_); |
415 EXPECT_TRUE(returned_fallback_style_->is_default_background_color); | 419 EXPECT_TRUE(returned_fallback_style_->is_default_background_color); |
| 420 histogram_tester_.ExpectUniqueSample("Favicons.LargeIconService.FallbackSize", |
| 421 0, /*expected_count=*/1); |
416 } | 422 } |
417 | 423 |
418 TEST_P(LargeIconServiceGetterTest, FallbackSinceIconMissingNoScale) { | 424 TEST_P(LargeIconServiceGetterTest, FallbackSinceIconMissingNoScale) { |
419 InjectMockResult(GURL(kDummyUrl), favicon_base::FaviconRawBitmapResult()); | 425 InjectMockResult(GURL(kDummyUrl), favicon_base::FaviconRawBitmapResult()); |
420 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 24, 0); | 426 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 24, 0); |
421 EXPECT_EQ(nullptr, returned_bitmap_size_); | 427 EXPECT_EQ(nullptr, returned_bitmap_size_); |
422 EXPECT_TRUE(returned_fallback_style_->is_default_background_color); | 428 EXPECT_TRUE(returned_fallback_style_->is_default_background_color); |
| 429 histogram_tester_.ExpectUniqueSample("Favicons.LargeIconService.FallbackSize", |
| 430 0, /*expected_count=*/1); |
423 } | 431 } |
424 | 432 |
425 // Oddball case where we demand a high resolution icon to scale down. Generates | 433 // Oddball case where we demand a high resolution icon to scale down. Generates |
426 // fallback even though an icon with the final size is available. | 434 // fallback even though an icon with the final size is available. |
427 TEST_P(LargeIconServiceGetterTest, FallbackSinceTooPicky) { | 435 TEST_P(LargeIconServiceGetterTest, FallbackSinceTooPicky) { |
428 InjectMockResult(GURL(kDummyUrl), CreateTestBitmapResult(24, 24, kTestColor)); | 436 InjectMockResult(GURL(kDummyUrl), CreateTestBitmapResult(24, 24, kTestColor)); |
429 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 32, 24); | 437 GetLargeIconOrFallbackStyleAndWaitForCallback(GURL(kDummyUrl), 32, 24); |
430 EXPECT_EQ(nullptr, returned_bitmap_size_); | 438 EXPECT_EQ(nullptr, returned_bitmap_size_); |
431 EXPECT_TRUE(HasBackgroundColor(*returned_fallback_style_, kTestColor)); | 439 EXPECT_TRUE(HasBackgroundColor(*returned_fallback_style_, kTestColor)); |
| 440 histogram_tester_.ExpectUniqueSample("Favicons.LargeIconService.FallbackSize", |
| 441 24, /*expected_count=*/1); |
432 } | 442 } |
433 | 443 |
434 // Every test will appear with suffix /0 (param false) and /1 (param true), e.g. | 444 // Every test will appear with suffix /0 (param false) and /1 (param true), e.g. |
435 // LargeIconServiceGetterTest.FallbackSinceTooPicky/0: get image. | 445 // LargeIconServiceGetterTest.FallbackSinceTooPicky/0: get image. |
436 // LargeIconServiceGetterTest.FallbackSinceTooPicky/1: get raw bitmap. | 446 // LargeIconServiceGetterTest.FallbackSinceTooPicky/1: get raw bitmap. |
437 INSTANTIATE_TEST_CASE_P(, // Empty instatiation name. | 447 INSTANTIATE_TEST_CASE_P(, // Empty instatiation name. |
438 LargeIconServiceGetterTest, | 448 LargeIconServiceGetterTest, |
439 ::testing::Values(false, true)); | 449 ::testing::Values(false, true)); |
440 | 450 |
441 } // namespace | 451 } // namespace |
442 } // namespace favicon | 452 } // namespace favicon |
OLD | NEW |