summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
authoryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-05 07:53:34 +0000
committeryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-05 07:53:34 +0000
commit6b414c236a472dcae02bf9535d2bc71eb4f43ea4 (patch)
tree39df96147053297ae822773a049e5c147e2013e6 /chrome/browser/extensions
parent8e4e567b488d22ec0aad82905df86b17845a0dc9 (diff)
downloadchromium_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')
-rw-r--r--chrome/browser/extensions/api/developer_private/developer_private_api.cc3
-rw-r--r--chrome/browser/extensions/api/management/management_api.cc3
-rw-r--r--chrome/browser/extensions/convert_web_app_browsertest.cc6
-rw-r--r--chrome/browser/extensions/convert_web_app_unittest.cc5
-rw-r--r--chrome/browser/extensions/extension_prefs.cc3
-rw-r--r--chrome/browser/extensions/extension_service.cc5
-rw-r--r--chrome/browser/extensions/extension_service_unittest.cc25
-rw-r--r--chrome/browser/extensions/tab_helper.cc3
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_);