Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/extensions/bookmark_app_helper.h" | 5 #include "chrome/browser/extensions/bookmark_app_helper.h" |
| 6 | 6 |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "chrome/browser/extensions/extension_service.h" | 8 #include "chrome/browser/extensions/extension_service.h" |
| 9 #include "chrome/browser/extensions/extension_service_test_base.h" | 9 #include "chrome/browser/extensions/extension_service_test_base.h" |
| 10 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h" | 10 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h" |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 90 icon_info.data = CreateSquareBitmapWithColor(size, color); | 90 icon_info.data = CreateSquareBitmapWithColor(size, color); |
| 91 return icon_info; | 91 return icon_info; |
| 92 } | 92 } |
| 93 | 93 |
| 94 void ValidateWebApplicationInfo(base::Closure callback, | 94 void ValidateWebApplicationInfo(base::Closure callback, |
| 95 const WebApplicationInfo& expected, | 95 const WebApplicationInfo& expected, |
| 96 const WebApplicationInfo& actual) { | 96 const WebApplicationInfo& actual) { |
| 97 EXPECT_EQ(expected.title, actual.title); | 97 EXPECT_EQ(expected.title, actual.title); |
| 98 EXPECT_EQ(expected.description, actual.description); | 98 EXPECT_EQ(expected.description, actual.description); |
| 99 EXPECT_EQ(expected.app_url, actual.app_url); | 99 EXPECT_EQ(expected.app_url, actual.app_url); |
| 100 EXPECT_EQ(expected.icons.size(), actual.icons.size()); | 100 // There should be 6 icons, as there are three sizes which need to be |
| 101 for (size_t i = 0; i < expected.icons.size(); ++i) { | 101 // generated, and each will generate a 1x and 2x icon. |
| 102 EXPECT_EQ(expected.icons[i].width, actual.icons[i].width); | 102 EXPECT_EQ(6u, actual.icons.size()); |
| 103 EXPECT_EQ(expected.icons[i].height, actual.icons[i].height); | |
| 104 EXPECT_EQ(expected.icons[i].url, actual.icons[i].url); | |
| 105 EXPECT_TRUE( | |
| 106 gfx::BitmapsAreEqual(expected.icons[i].data, actual.icons[i].data)); | |
| 107 } | |
| 108 callback.Run(); | 103 callback.Run(); |
| 109 } | 104 } |
| 110 | 105 |
| 111 } // namespace | 106 } // namespace |
| 112 | 107 |
| 113 namespace extensions { | 108 namespace extensions { |
|
calamity
2015/04/28 06:56:35
Where did this go?
| |
| 114 | 109 |
| 115 class TestBookmarkAppHelper : public BookmarkAppHelper { | 110 class TestBookmarkAppHelper : public BookmarkAppHelper { |
| 116 public: | 111 public: |
| 117 TestBookmarkAppHelper(ExtensionService* service, | 112 TestBookmarkAppHelper(ExtensionService* service, |
| 118 WebApplicationInfo web_app_info, | 113 WebApplicationInfo web_app_info, |
| 119 content::WebContents* contents) | 114 content::WebContents* contents) |
| 120 : BookmarkAppHelper(service->profile(), web_app_info, contents) {} | 115 : BookmarkAppHelper(service->profile(), web_app_info, contents) {} |
| 121 | 116 |
| 122 ~TestBookmarkAppHelper() override {} | 117 ~TestBookmarkAppHelper() override {} |
| 123 | 118 |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 219 base::RunLoop().RunUntilIdle(); | 214 base::RunLoop().RunUntilIdle(); |
| 220 EXPECT_TRUE(helper.extension()); | 215 EXPECT_TRUE(helper.extension()); |
| 221 const Extension* extension = | 216 const Extension* extension = |
| 222 service_->GetInstalledExtension(helper.extension()->id()); | 217 service_->GetInstalledExtension(helper.extension()->id()); |
| 223 EXPECT_TRUE(extension); | 218 EXPECT_TRUE(extension); |
| 224 EXPECT_EQ(1u, registry()->enabled_extensions().size()); | 219 EXPECT_EQ(1u, registry()->enabled_extensions().size()); |
| 225 EXPECT_TRUE(extension->from_bookmark()); | 220 EXPECT_TRUE(extension->from_bookmark()); |
| 226 EXPECT_EQ(kAppTitle, extension->name()); | 221 EXPECT_EQ(kAppTitle, extension->name()); |
| 227 EXPECT_EQ(kAppDescription, extension->description()); | 222 EXPECT_EQ(kAppDescription, extension->description()); |
| 228 EXPECT_EQ(GURL(kAppUrl), AppLaunchInfo::GetLaunchWebURL(extension)); | 223 EXPECT_EQ(GURL(kAppUrl), AppLaunchInfo::GetLaunchWebURL(extension)); |
| 229 // The tiny icon should have been removed and only the generated ones used. | 224 EXPECT_FALSE( |
| 230 EXPECT_TRUE( | |
| 231 IconsInfo::GetIconResource(extension, kIconSizeTiny, | 225 IconsInfo::GetIconResource(extension, kIconSizeTiny, |
| 232 ExtensionIconSet::MATCH_EXACTLY).empty()); | 226 ExtensionIconSet::MATCH_EXACTLY).empty()); |
| 233 EXPECT_FALSE( | 227 EXPECT_FALSE( |
| 234 IconsInfo::GetIconResource( | 228 IconsInfo::GetIconResource( |
| 235 extension, kIconSizeSmall, ExtensionIconSet::MATCH_EXACTLY).empty()); | 229 extension, kIconSizeSmall, ExtensionIconSet::MATCH_EXACTLY).empty()); |
| 236 EXPECT_FALSE( | 230 EXPECT_FALSE( |
| 237 IconsInfo::GetIconResource(extension, | 231 IconsInfo::GetIconResource(extension, |
| 238 kIconSizeSmall * 2, | 232 kIconSizeSmall * 2, |
| 239 ExtensionIconSet::MATCH_EXACTLY).empty()); | 233 ExtensionIconSet::MATCH_EXACTLY).empty()); |
| 240 EXPECT_FALSE( | 234 EXPECT_FALSE( |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 278 base::RunLoop().RunUntilIdle(); | 272 base::RunLoop().RunUntilIdle(); |
| 279 | 273 |
| 280 { | 274 { |
| 281 EXPECT_EQ(1u, registry()->enabled_extensions().size()); | 275 EXPECT_EQ(1u, registry()->enabled_extensions().size()); |
| 282 const Extension* extension = | 276 const Extension* extension = |
| 283 registry()->enabled_extensions().begin()->get(); | 277 registry()->enabled_extensions().begin()->get(); |
| 284 EXPECT_TRUE(extension->from_bookmark()); | 278 EXPECT_TRUE(extension->from_bookmark()); |
| 285 EXPECT_EQ(kAlternativeAppTitle, extension->name()); | 279 EXPECT_EQ(kAlternativeAppTitle, extension->name()); |
| 286 EXPECT_EQ(kAppDescription, extension->description()); | 280 EXPECT_EQ(kAppDescription, extension->description()); |
| 287 EXPECT_EQ(GURL(kAppUrl), AppLaunchInfo::GetLaunchWebURL(extension)); | 281 EXPECT_EQ(GURL(kAppUrl), AppLaunchInfo::GetLaunchWebURL(extension)); |
| 288 EXPECT_TRUE(extensions::IconsInfo::GetIconResource( | 282 EXPECT_FALSE(extensions::IconsInfo::GetIconResource( |
| 289 extension, kIconSizeSmall, ExtensionIconSet::MATCH_EXACTLY) | 283 extension, kIconSizeSmall, ExtensionIconSet::MATCH_EXACTLY) |
| 290 .empty()); | 284 .empty()); |
| 291 EXPECT_FALSE(extensions::IconsInfo::GetIconResource( | 285 EXPECT_FALSE(extensions::IconsInfo::GetIconResource( |
| 292 extension, kIconSizeLarge, ExtensionIconSet::MATCH_EXACTLY) | 286 extension, kIconSizeLarge, ExtensionIconSet::MATCH_EXACTLY) |
| 293 .empty()); | 287 .empty()); |
| 294 } | 288 } |
| 295 } | 289 } |
| 296 | 290 |
| 297 TEST_F(BookmarkAppHelperExtensionServiceTest, GetWebApplicationInfo) { | 291 TEST_F(BookmarkAppHelperExtensionServiceTest, GetWebApplicationInfo) { |
| 298 WebApplicationInfo web_app_info; | 292 WebApplicationInfo web_app_info; |
| 299 web_app_info.app_url = GURL(kAppUrl); | 293 web_app_info.app_url = GURL(kAppUrl); |
| 300 web_app_info.title = base::UTF8ToUTF16(kAppTitle); | 294 web_app_info.title = base::UTF8ToUTF16(kAppTitle); |
| 301 web_app_info.description = base::UTF8ToUTF16(kAppDescription); | 295 web_app_info.description = base::UTF8ToUTF16(kAppDescription); |
| 302 | 296 |
| 303 web_app_info.icons.push_back( | |
| 304 CreateIconInfoWithBitmap(kIconSizeSmall, SK_ColorRED)); | |
| 305 web_app_info.icons.push_back( | |
| 306 CreateIconInfoWithBitmap(kIconSizeLarge, SK_ColorRED)); | |
| 307 | |
| 308 extensions::CreateOrUpdateBookmarkApp(service_, &web_app_info); | 297 extensions::CreateOrUpdateBookmarkApp(service_, &web_app_info); |
| 309 base::RunLoop().RunUntilIdle(); | 298 base::RunLoop().RunUntilIdle(); |
| 310 | 299 |
| 311 EXPECT_EQ(1u, registry()->enabled_extensions().size()); | 300 EXPECT_EQ(1u, registry()->enabled_extensions().size()); |
| 312 base::RunLoop run_loop; | 301 base::RunLoop run_loop; |
| 313 extensions::GetWebApplicationInfoFromApp( | 302 extensions::GetWebApplicationInfoFromApp( |
| 314 profile_.get(), registry()->enabled_extensions().begin()->get(), | 303 profile_.get(), registry()->enabled_extensions().begin()->get(), |
| 315 base::Bind(&ValidateWebApplicationInfo, run_loop.QuitClosure(), | 304 base::Bind(&ValidateWebApplicationInfo, run_loop.QuitClosure(), |
| 316 web_app_info)); | 305 web_app_info)); |
| 317 run_loop.Run(); | 306 run_loop.Run(); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 358 } | 347 } |
| 359 | 348 |
| 360 TEST_F(BookmarkAppHelperTest, IsValidBookmarkAppUrl) { | 349 TEST_F(BookmarkAppHelperTest, IsValidBookmarkAppUrl) { |
| 361 EXPECT_TRUE(IsValidBookmarkAppUrl(GURL("https://www.chromium.org"))); | 350 EXPECT_TRUE(IsValidBookmarkAppUrl(GURL("https://www.chromium.org"))); |
| 362 EXPECT_TRUE(IsValidBookmarkAppUrl(GURL("http://www.chromium.org/path"))); | 351 EXPECT_TRUE(IsValidBookmarkAppUrl(GURL("http://www.chromium.org/path"))); |
| 363 EXPECT_FALSE(IsValidBookmarkAppUrl(GURL("ftp://www.chromium.org"))); | 352 EXPECT_FALSE(IsValidBookmarkAppUrl(GURL("ftp://www.chromium.org"))); |
| 364 EXPECT_FALSE(IsValidBookmarkAppUrl(GURL("chrome://flags"))); | 353 EXPECT_FALSE(IsValidBookmarkAppUrl(GURL("chrome://flags"))); |
| 365 } | 354 } |
| 366 | 355 |
| 367 } // namespace extensions | 356 } // namespace extensions |
| OLD | NEW |