diff options
author | yoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-05 07:53:34 +0000 |
---|---|---|
committer | yoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-05 07:53:34 +0000 |
commit | 6b414c236a472dcae02bf9535d2bc71eb4f43ea4 (patch) | |
tree | 39df96147053297ae822773a049e5c147e2013e6 /chrome/browser/extensions | |
parent | 8e4e567b488d22ec0aad82905df86b17845a0dc9 (diff) | |
download | chromium_src-6b414c236a472dcae02bf9535d2bc71eb4f43ea4.zip chromium_src-6b414c236a472dcae02bf9535d2bc71eb4f43ea4.tar.gz chromium_src-6b414c236a472dcae02bf9535d2bc71eb4f43ea4.tar.bz2 |
Move parsing of app.launch keys out of Extension.
Based on patch from Joe Thomas <MHX348@motorola.com>, https://chromiumcodereview.appspot.com/14241002/ .
BUG=159265
Review URL: https://chromiumcodereview.appspot.com/15806015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204198 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
8 files changed, 34 insertions, 19 deletions
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.cc b/chrome/browser/extensions/api/developer_private/developer_private_api.cc index dc3ac18..67ae7f6 100644 --- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc +++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc @@ -35,6 +35,7 @@ #include "chrome/common/extensions/background_info.h" #include "chrome/common/extensions/extension_icon_set.h" #include "chrome/common/extensions/incognito_handler.h" +#include "chrome/common/extensions/manifest_handlers/app_launch_info.h" #include "chrome/common/extensions/manifest_handlers/icons_handler.h" #include "chrome/common/extensions/manifest_handlers/offline_enabled_info.h" #include "chrome/common/extensions/manifest_url_handler.h" @@ -234,7 +235,7 @@ scoped_ptr<developer::ItemInfo> if (item.is_app()) { info->app_launch_url.reset(new std::string( - item.GetFullLaunchURL().spec())); + extensions::AppLaunchInfo::GetFullLaunchURL(&item).spec())); } info->may_disable = system->management_policy()-> diff --git a/chrome/browser/extensions/api/management/management_api.cc b/chrome/browser/extensions/api/management/management_api.cc index 6c15861..acf6b52 100644 --- a/chrome/browser/extensions/api/management/management_api.cc +++ b/chrome/browser/extensions/api/management/management_api.cc @@ -34,6 +34,7 @@ #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_constants.h" #include "chrome/common/extensions/extension_icon_set.h" +#include "chrome/common/extensions/manifest_handlers/app_launch_info.h" #include "chrome/common/extensions/manifest_handlers/icons_handler.h" #include "chrome/common/extensions/manifest_handlers/offline_enabled_info.h" #include "chrome/common/extensions/manifest_url_handler.h" @@ -138,7 +139,7 @@ scoped_ptr<management::ExtensionInfo> CreateExtensionInfo( if (extension.is_app()) { info->app_launch_url.reset(new std::string( - extension.GetFullLaunchURL().spec())); + AppLaunchInfo::GetFullLaunchURL(&extension).spec())); } const ExtensionIconSet::IconMap& icons = diff --git a/chrome/browser/extensions/convert_web_app_browsertest.cc b/chrome/browser/extensions/convert_web_app_browsertest.cc index 95e1415..bf1f816 100644 --- a/chrome/browser/extensions/convert_web_app_browsertest.cc +++ b/chrome/browser/extensions/convert_web_app_browsertest.cc @@ -12,6 +12,7 @@ #include "chrome/common/chrome_switches.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_icon_set.h" +#include "chrome/common/extensions/manifest_handlers/app_launch_info.h" #include "chrome/common/extensions/manifest_handlers/icons_handler.h" #include "chrome/common/extensions/permissions/permission_set.h" #include "chrome/test/base/in_process_browser_test.h" @@ -81,9 +82,10 @@ IN_PROC_BROWSER_TEST_F(ExtensionFromWebAppTest, MAYBE_Basic) { EXPECT_TRUE(installed_extension_->is_hosted_app()); EXPECT_EQ("Test application", installed_extension_->name()); EXPECT_EQ("", installed_extension_->description()); - EXPECT_EQ("http://www.example.com/", installed_extension_->launch_web_url()); + EXPECT_EQ(GURL("http://www.example.com/"), + AppLaunchInfo::GetLaunchWebURL(installed_extension_)); EXPECT_EQ(extension_misc::LAUNCH_TAB, - installed_extension_->launch_container()); + AppLaunchInfo::GetLaunchContainer(installed_extension_)); EXPECT_EQ(0u, installed_extension_->GetActivePermissions()->apis().size()); EXPECT_EQ(0u, IconsInfo::GetIcons(installed_extension_).map().size()); } diff --git a/chrome/browser/extensions/convert_web_app_unittest.cc b/chrome/browser/extensions/convert_web_app_unittest.cc index dba15f8..5468b68 100644 --- a/chrome/browser/extensions/convert_web_app_unittest.cc +++ b/chrome/browser/extensions/convert_web_app_unittest.cc @@ -18,6 +18,7 @@ #include "chrome/common/chrome_paths.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_icon_set.h" +#include "chrome/common/extensions/manifest_handlers/app_launch_info.h" #include "chrome/common/extensions/manifest_handlers/icons_handler.h" #include "chrome/common/extensions/permissions/permission_set.h" #include "chrome/common/web_application_info.h" @@ -130,7 +131,7 @@ TEST(ExtensionFromWebApp, Basic) { EXPECT_EQ("1978.12.11.0", extension->version()->GetString()); EXPECT_EQ(UTF16ToUTF8(web_app.title), extension->name()); EXPECT_EQ(UTF16ToUTF8(web_app.description), extension->description()); - EXPECT_EQ(web_app.app_url, extension->GetFullLaunchURL()); + EXPECT_EQ(web_app.app_url, AppLaunchInfo::GetFullLaunchURL(extension)); EXPECT_EQ(2u, extension->GetActivePermissions()->apis().size()); EXPECT_TRUE(extension->HasAPIPermission("geolocation")); EXPECT_TRUE(extension->HasAPIPermission("notifications")); @@ -180,7 +181,7 @@ TEST(ExtensionFromWebApp, Minimal) { EXPECT_EQ("1978.12.11.0", extension->version()->GetString()); EXPECT_EQ(UTF16ToUTF8(web_app.title), extension->name()); EXPECT_EQ("", extension->description()); - EXPECT_EQ(web_app.app_url, extension->GetFullLaunchURL()); + EXPECT_EQ(web_app.app_url, AppLaunchInfo::GetFullLaunchURL(extension)); EXPECT_EQ(0u, IconsInfo::GetIcons(extension.get()).map().size()); EXPECT_EQ(0u, extension->GetActivePermissions()->apis().size()); ASSERT_EQ(1u, extension->web_extent().patterns().size()); diff --git a/chrome/browser/extensions/extension_prefs.cc b/chrome/browser/extensions/extension_prefs.cc index c8ecea0..79ff1b4 100644 --- a/chrome/browser/extensions/extension_prefs.cc +++ b/chrome/browser/extensions/extension_prefs.cc @@ -21,6 +21,7 @@ #include "chrome/common/chrome_switches.h" #include "chrome/common/extensions/feature_switch.h" #include "chrome/common/extensions/manifest.h" +#include "chrome/common/extensions/manifest_handlers/app_launch_info.h" #include "chrome/common/extensions/permissions/permission_set.h" #include "chrome/common/extensions/permissions/permissions_info.h" #include "chrome/common/pref_names.h" @@ -1128,7 +1129,7 @@ extension_misc::LaunchContainer ExtensionPrefs::GetLaunchContainer( const Extension* extension, ExtensionPrefs::LaunchType default_pref_value) { extension_misc::LaunchContainer manifest_launch_container = - extension->launch_container(); + AppLaunchInfo::GetLaunchContainer(extension); const extension_misc::LaunchContainer kInvalidLaunchContainer = static_cast<extension_misc::LaunchContainer>(-1); diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc index 93c9492..3a5c832 100644 --- a/chrome/browser/extensions/extension_service.cc +++ b/chrome/browser/extensions/extension_service.cc @@ -84,6 +84,7 @@ #include "chrome/common/extensions/incognito_handler.h" #include "chrome/common/extensions/manifest.h" #include "chrome/common/extensions/manifest_handlers/app_isolation_info.h" +#include "chrome/common/extensions/manifest_handlers/app_launch_info.h" #include "chrome/common/extensions/manifest_url_handler.h" #include "chrome/common/extensions/permissions/permissions_data.h" #include "chrome/common/pref_names.h" @@ -797,8 +798,8 @@ bool ExtensionService::UninstallExtension( NOTREACHED(); } - GURL launch_web_url_origin(extension->launch_web_url()); - launch_web_url_origin = launch_web_url_origin.GetOrigin(); + GURL launch_web_url_origin( + extensions::AppLaunchInfo::GetLaunchWebURL(extension).GetOrigin()); bool is_storage_isolated = extensions::AppIsolationInfo::HasIsolatedStorage(extension.get()); diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc index 534a50798..e8ef59d 100644 --- a/chrome/browser/extensions/extension_service_unittest.cc +++ b/chrome/browser/extensions/extension_service_unittest.cc @@ -67,6 +67,7 @@ #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_l10n_util.h" #include "chrome/common/extensions/extension_manifest_constants.h" +#include "chrome/common/extensions/manifest_handlers/app_launch_info.h" #include "chrome/common/extensions/manifest_handlers/content_scripts_handler.h" #include "chrome/common/extensions/manifest_url_handler.h" #include "chrome/common/extensions/permissions/permission_set.h" @@ -2414,8 +2415,9 @@ TEST_F(ExtensionServiceTest, InstallAppsWithUnlimitedStorage) { EXPECT_TRUE(extension->HasAPIPermission( APIPermission::kUnlimitedStorage)); EXPECT_TRUE(extension->web_extent().MatchesURL( - extension->GetFullLaunchURL())); - const GURL origin1(extension->GetFullLaunchURL().GetOrigin()); + extensions::AppLaunchInfo::GetFullLaunchURL(extension))); + const GURL origin1( + extensions::AppLaunchInfo::GetFullLaunchURL(extension).GetOrigin()); EXPECT_TRUE(profile_->GetExtensionSpecialStoragePolicy()-> IsStorageUnlimited(origin1)); @@ -2427,8 +2429,9 @@ TEST_F(ExtensionServiceTest, InstallAppsWithUnlimitedStorage) { EXPECT_TRUE(extension->HasAPIPermission( APIPermission::kUnlimitedStorage)); EXPECT_TRUE(extension->web_extent().MatchesURL( - extension->GetFullLaunchURL())); - const GURL origin2(extension->GetFullLaunchURL().GetOrigin()); + extensions::AppLaunchInfo::GetFullLaunchURL(extension))); + const GURL origin2( + extensions::AppLaunchInfo::GetFullLaunchURL(extension).GetOrigin()); EXPECT_EQ(origin1, origin2); EXPECT_TRUE(profile_->GetExtensionSpecialStoragePolicy()-> IsStorageUnlimited(origin2)); @@ -2461,7 +2464,8 @@ TEST_F(ExtensionServiceTest, InstallAppsAndCheckStorageProtection) { ASSERT_EQ(1u, service_->extensions()->size()); EXPECT_TRUE(extension->is_app()); const std::string id1 = extension->id(); - const GURL origin1(extension->GetFullLaunchURL().GetOrigin()); + const GURL origin1( + extensions::AppLaunchInfo::GetFullLaunchURL(extension).GetOrigin()); EXPECT_TRUE(profile_->GetExtensionSpecialStoragePolicy()-> IsStorageProtected(origin1)); @@ -2470,7 +2474,8 @@ TEST_F(ExtensionServiceTest, InstallAppsAndCheckStorageProtection) { ValidatePrefKeyCount(++pref_count); ASSERT_EQ(2u, service_->extensions()->size()); const std::string id2 = extension->id(); - const GURL origin2(extension->GetFullLaunchURL().GetOrigin()); + const GURL origin2( + extensions::AppLaunchInfo::GetFullLaunchURL(extension).GetOrigin()); ASSERT_NE(origin1, origin2); EXPECT_TRUE(profile_->GetExtensionSpecialStoragePolicy()-> IsStorageProtected(origin2)); @@ -3975,7 +3980,8 @@ TEST_F(ExtensionServiceTest, ClearAppData) { const std::string id1 = extension->id(); EXPECT_TRUE(extension->HasAPIPermission( APIPermission::kUnlimitedStorage)); - const GURL origin1(extension->GetFullLaunchURL().GetOrigin()); + const GURL origin1( + extensions::AppLaunchInfo::GetFullLaunchURL(extension).GetOrigin()); EXPECT_TRUE(profile_->GetExtensionSpecialStoragePolicy()-> IsStorageUnlimited(origin1)); base::string16 origin_id = webkit_base::GetOriginIdentifierFromURL(origin1); @@ -3988,8 +3994,9 @@ TEST_F(ExtensionServiceTest, ClearAppData) { EXPECT_TRUE(extension->HasAPIPermission( APIPermission::kUnlimitedStorage)); EXPECT_TRUE(extension->web_extent().MatchesURL( - extension->GetFullLaunchURL())); - const GURL origin2(extension->GetFullLaunchURL().GetOrigin()); + extensions::AppLaunchInfo::GetFullLaunchURL(extension))); + const GURL origin2( + extensions::AppLaunchInfo::GetFullLaunchURL(extension).GetOrigin()); EXPECT_EQ(origin1, origin2); EXPECT_TRUE(profile_->GetExtensionSpecialStoragePolicy()-> IsStorageUnlimited(origin2)); diff --git a/chrome/browser/extensions/tab_helper.cc b/chrome/browser/extensions/tab_helper.cc index 1bd1011..25a9b2c 100644 --- a/chrome/browser/extensions/tab_helper.cc +++ b/chrome/browser/extensions/tab_helper.cc @@ -31,6 +31,7 @@ #include "chrome/common/extensions/extension_icon_set.h" #include "chrome/common/extensions/extension_messages.h" #include "chrome/common/extensions/feature_switch.h" +#include "chrome/common/extensions/manifest_handlers/app_launch_info.h" #include "chrome/common/extensions/manifest_handlers/icons_handler.h" #include "content/public/browser/invalidate_type.h" #include "content/public/browser/navigation_controller.h" @@ -156,7 +157,7 @@ bool TabHelper::CanCreateApplicationShortcuts() const { } void TabHelper::SetExtensionApp(const Extension* extension) { - DCHECK(!extension || extension->GetFullLaunchURL().is_valid()); + DCHECK(!extension || AppLaunchInfo::GetFullLaunchURL(extension).is_valid()); extension_app_ = extension; UpdateExtensionAppIcon(extension_app_); |