Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5841)

Unified Diff: chrome/browser/extensions/bookmark_app_helper_unittest.cc

Issue 667053007: Use manifest for streamlined hosted app creation for title and URL. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git/+/master
Patch Set: Fix memory leak in manifest_manager_host Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/bookmark_app_helper.cc ('k') | chrome/browser/extensions/tab_helper.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/bookmark_app_helper_unittest.cc
diff --git a/chrome/browser/extensions/bookmark_app_helper_unittest.cc b/chrome/browser/extensions/bookmark_app_helper_unittest.cc
index c042129d794300f1063fd23dd3a1bda67709cb0e..800f3c4374b29ce97bef084ae8ba0855f941283b 100644
--- a/chrome/browser/extensions/bookmark_app_helper_unittest.cc
+++ b/chrome/browser/extensions/bookmark_app_helper_unittest.cc
@@ -23,7 +23,9 @@
namespace {
const char kAppUrl[] = "http://www.chromium.org";
+const char kAlternativeAppUrl[] = "http://www.notchromium.org";
const char kAppTitle[] = "Test title";
+const char kAppShortName[] = "Test short name";
const char kAlternativeAppTitle[] = "Different test title";
const char kAppDescription[] = "Test description";
@@ -129,6 +131,10 @@ class TestBookmarkAppHelper : public BookmarkAppHelper {
extension_ = extension;
}
+ void CompleteGetManifest(const content::Manifest& manifest) {
+ BookmarkAppHelper::OnDidGetManifest(manifest);
+ }
+
void CompleteIconDownload(
bool success,
const std::map<GURL, std::vector<SkBitmap> >& bitmaps) {
@@ -175,6 +181,34 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, CreateBookmarkApp) {
extension, kIconSizeSmall, ExtensionIconSet::MATCH_EXACTLY).empty());
}
+TEST_F(BookmarkAppHelperExtensionServiceTest, CreateBookmarkAppWithManifest) {
+ WebApplicationInfo web_app_info;
+
+ scoped_ptr<content::WebContents> contents(
+ content::WebContentsTester::CreateTestWebContents(profile_.get(), NULL));
+ TestBookmarkAppHelper helper(service_, web_app_info, contents.get());
+ helper.Create(base::Bind(&TestBookmarkAppHelper::CreationComplete,
+ base::Unretained(&helper)));
+
+ content::Manifest manifest;
+ manifest.start_url = GURL(kAppUrl);
+ manifest.name = base::NullableString16(base::UTF8ToUTF16(kAppTitle), false);
+ helper.CompleteGetManifest(manifest);
+
+ std::map<GURL, std::vector<SkBitmap> > icon_map;
+ helper.CompleteIconDownload(true, icon_map);
+
+ base::RunLoop().RunUntilIdle();
+ EXPECT_TRUE(helper.extension());
+ const Extension* extension =
+ service_->GetInstalledExtension(helper.extension()->id());
+ EXPECT_TRUE(extension);
+ EXPECT_EQ(1u, service_->extensions()->size());
+ EXPECT_TRUE(extension->from_bookmark());
+ EXPECT_EQ(kAppTitle, extension->name());
+ EXPECT_EQ(GURL(kAppUrl), AppLaunchInfo::GetLaunchWebURL(extension));
+}
+
TEST_F(BookmarkAppHelperExtensionServiceTest, CreateBookmarkAppNoContents) {
WebApplicationInfo web_app_info;
web_app_info.app_url = GURL(kAppUrl);
@@ -286,6 +320,26 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, GetWebApplicationInfo) {
run_loop.Run();
}
+TEST_F(BookmarkAppHelperTest, UpdateWebAppInfoFromManifest) {
+ WebApplicationInfo web_app_info;
+ web_app_info.title = base::UTF8ToUTF16(kAlternativeAppTitle);
+ web_app_info.app_url = GURL(kAlternativeAppUrl);
+
+ content::Manifest manifest;
+ manifest.start_url = GURL(kAppUrl);
+ manifest.short_name = base::NullableString16(base::UTF8ToUTF16(kAppShortName),
+ false);
+
+ BookmarkAppHelper::UpdateWebAppInfoFromManifest(manifest, &web_app_info);
+ EXPECT_EQ(base::UTF8ToUTF16(kAppShortName), web_app_info.title);
+ EXPECT_EQ(GURL(kAppUrl), web_app_info.app_url);
+
+ // Test that |manifest.name| takes priority over |manifest.short_name|
+ manifest.name = base::NullableString16(base::UTF8ToUTF16(kAppTitle), false);
+ BookmarkAppHelper::UpdateWebAppInfoFromManifest(manifest, &web_app_info);
+ EXPECT_EQ(base::UTF8ToUTF16(kAppTitle), web_app_info.title);
+}
+
TEST_F(BookmarkAppHelperTest, ConstrainBitmapsToSizes) {
std::set<int> desired_sizes;
desired_sizes.insert(16);
« no previous file with comments | « chrome/browser/extensions/bookmark_app_helper.cc ('k') | chrome/browser/extensions/tab_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698