summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsammc@chromium.org <sammc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-15 04:57:14 +0000
committersammc@chromium.org <sammc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-15 04:57:14 +0000
commitfb52ada47741872b4add857717c9d79cf23b6704 (patch)
treecb1aba815ab27a3483b8ffc085651fa9cc2cc37d
parente6337c04312f67e9229a73f55ef7da1f4c0e0d45 (diff)
downloadchromium_src-fb52ada47741872b4add857717c9d79cf23b6704.zip
chromium_src-fb52ada47741872b4add857717c9d79cf23b6704.tar.gz
chromium_src-fb52ada47741872b4add857717c9d79cf23b6704.tar.bz2
Remove support for crx-less hosted apps.
BUG=177038 Review URL: https://chromiumcodereview.appspot.com/12518019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188261 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/app/generated_resources.grd6
-rw-r--r--chrome/browser/about_flags.cc7
-rw-r--r--chrome/browser/chrome_content_browser_client.cc1
-rw-r--r--chrome/browser/extensions/convert_web_app_browsertest.cc47
-rw-r--r--chrome/browser/extensions/tab_helper.cc17
-rw-r--r--chrome/browser/extensions/tab_helper.h1
-rw-r--r--chrome/common/chrome_switches.cc3
-rw-r--r--chrome/common/chrome_switches.h1
-rw-r--r--chrome/common/extensions/api/app.json6
-rw-r--r--chrome/common/extensions/extension_messages.h4
-rw-r--r--chrome/common/extensions/permissions/permission_set.cc1
-rw-r--r--chrome/renderer/extensions/app_bindings.cc16
-rw-r--r--chrome/renderer/extensions/app_bindings.h1
-rw-r--r--chrome/renderer/extensions/extension_helper.cc143
-rw-r--r--chrome/renderer/extensions/extension_helper.h17
-rw-r--r--chrome/test/data/extensions/convert_web_app/application.html10
-rw-r--r--chrome/test/data/extensions/convert_web_app/application_definition.json12
-rw-r--r--chrome/test/data/extensions/platform_apps/restrictions/main.js1
18 files changed, 22 insertions, 272 deletions
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index 4728eb7..79fad55 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -6159,12 +6159,6 @@ Keep your key file in a safe place. You will need it to create new versions of y
Rasterise page before printing. Slower, but may help to resolve issues with some printers
</message>
</if>
- <message name="IDS_FLAGS_CRXLESS_WEB_APPS_NAME" desc="Title of the CRX-less web apps lab">
- CRX-less Web Apps
- </message>
- <message name="IDS_FLAGS_CRXLESS_WEB_APPS_DESCRIPTION" desc="Description of the CRX-less web apps lab">
- Enables support for installing Chrome apps that are deployed using a manifest file on a webpage, rather than by packaging the manifest and icons into a crx file.
- </message>
<message name="IDS_FLAGS_TOUCH_OPTIMIZED_UI_NAME" desc="Title of the touch-optimized UI flag." >
Touch Optimized UI
</message>
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index b8a68f1..422aec9 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -296,13 +296,6 @@ const Experiment kExperiments[] = {
},
#endif // OS_WIN
{
- "crxless-web-apps",
- IDS_FLAGS_CRXLESS_WEB_APPS_NAME,
- IDS_FLAGS_CRXLESS_WEB_APPS_DESCRIPTION,
- kOsDesktop,
- SINGLE_VALUE_TYPE(switches::kEnableCrxlessWebApps)
- },
- {
"ignore-gpu-blacklist",
IDS_FLAGS_IGNORE_GPU_BLACKLIST_NAME,
IDS_FLAGS_IGNORE_GPU_BLACKLIST_DESCRIPTION,
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 344cb0d..f3a3a3e 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -1156,7 +1156,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
switches::kDisableScriptedPrintThrottling,
switches::kDumpHistogramsOnExit,
switches::kEnableBenchmarking,
- switches::kEnableCrxlessWebApps,
switches::kEnableExperimentalExtensionApis,
switches::kEnableExperimentalFormFilling,
switches::kEnableIPCFuzzing,
diff --git a/chrome/browser/extensions/convert_web_app_browsertest.cc b/chrome/browser/extensions/convert_web_app_browsertest.cc
index 0a4fd97..ee5bad3 100644
--- a/chrome/browser/extensions/convert_web_app_browsertest.cc
+++ b/chrome/browser/extensions/convert_web_app_browsertest.cc
@@ -4,10 +4,10 @@
#include <string>
-#include "base/command_line.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/api/icons/icons_handler.h"
@@ -20,6 +20,8 @@
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_service.h"
+#include "content/public/browser/web_contents.h"
+#include "content/public/test/browser_test_utils.h"
namespace extensions {
@@ -33,11 +35,6 @@ class ExtensionFromWebAppTest
const Extension* installed_extension_;
private:
- // InProcessBrowserTest
- virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
- command_line->AppendSwitch(switches::kEnableCrxlessWebApps);
- }
-
// content::NotificationObserver
virtual void Observe(int type,
const content::NotificationSource& source,
@@ -53,8 +50,14 @@ class ExtensionFromWebAppTest
}
};
-IN_PROC_BROWSER_TEST_F(ExtensionFromWebAppTest, Basic) {
- ASSERT_TRUE(test_server()->Start());
+#if defined(OS_CHROMEOS)
+// The Apps tab is not included in the new tab page in Chrome OS.
+#define MAYBE_Basic DISABLED_Basic
+#else
+#define MAYBE_Basic Basic
+#endif
+
+IN_PROC_BROWSER_TEST_F(ExtensionFromWebAppTest, MAYBE_Basic) {
browser()->profile()->GetExtensionService()->set_show_extensions_prompts(
false);
@@ -62,11 +65,14 @@ IN_PROC_BROWSER_TEST_F(ExtensionFromWebAppTest, Basic) {
registrar.Add(this, chrome::NOTIFICATION_EXTENSION_INSTALLED,
content::NotificationService::AllSources());
- expected_extension_id_ = "fnpgoaochgbdfjndakichfafiocjjpmm";
+ expected_extension_id_ = "ffnmbohohhobhkjpfbefbjifapgcmpaa";
ui_test_utils::NavigateToURL(
browser(),
- test_server()->GetURL(
- "files/extensions/convert_web_app/application.html"));
+ GURL("chrome://newtab"));
+ EXPECT_TRUE(content::ExecuteScript(
+ browser()->tab_strip_model()->GetActiveWebContents(),
+ "chrome.send('generateAppForLink', "
+ "['http://www.example.com', 'Test application', 0])"));
if (!installed_extension_)
content::RunMessageLoop();
@@ -74,21 +80,12 @@ IN_PROC_BROWSER_TEST_F(ExtensionFromWebAppTest, Basic) {
EXPECT_TRUE(installed_extension_);
EXPECT_TRUE(installed_extension_->is_hosted_app());
EXPECT_EQ("Test application", installed_extension_->name());
- EXPECT_EQ("the description is", installed_extension_->description());
- EXPECT_EQ(extension_misc::LAUNCH_PANEL,
+ EXPECT_EQ("", installed_extension_->description());
+ EXPECT_EQ("http://www.example.com/", installed_extension_->launch_web_url());
+ EXPECT_EQ(extension_misc::LAUNCH_TAB,
installed_extension_->launch_container());
-
- ASSERT_EQ(2u, installed_extension_->GetActivePermissions()->apis().size());
- EXPECT_TRUE(installed_extension_->HasAPIPermission(
- APIPermission::kGeolocation));
- EXPECT_TRUE(installed_extension_->HasAPIPermission(
- APIPermission::kNotification));
-
- const ExtensionIconSet& icons = IconsInfo::GetIcons(installed_extension_);
- ASSERT_EQ(3u, icons.map().size());
- EXPECT_EQ("icons/16.png", icons.Get(16, ExtensionIconSet::MATCH_EXACTLY));
- EXPECT_EQ("icons/48.png", icons.Get(48, ExtensionIconSet::MATCH_EXACTLY));
- EXPECT_EQ("icons/128.png", icons.Get(128, ExtensionIconSet::MATCH_EXACTLY));
+ EXPECT_EQ(0u, installed_extension_->GetActivePermissions()->apis().size());
+ EXPECT_EQ(0u, IconsInfo::GetIcons(installed_extension_).map().size());
}
} // namespace extensions
diff --git a/chrome/browser/extensions/tab_helper.cc b/chrome/browser/extensions/tab_helper.cc
index 77a1c3d..7f13125 100644
--- a/chrome/browser/extensions/tab_helper.cc
+++ b/chrome/browser/extensions/tab_helper.cc
@@ -232,8 +232,6 @@ bool TabHelper::OnMessageReceived(const IPC::Message& message) {
IPC_BEGIN_MESSAGE_MAP(TabHelper, message)
IPC_MESSAGE_HANDLER(ExtensionHostMsg_DidGetApplicationInfo,
OnDidGetApplicationInfo)
- IPC_MESSAGE_HANDLER(ExtensionHostMsg_InstallApplication,
- OnInstallApplication)
IPC_MESSAGE_HANDLER(ExtensionHostMsg_InlineWebstoreInstall,
OnInlineWebstoreInstall)
IPC_MESSAGE_HANDLER(ExtensionHostMsg_GetAppInstallState,
@@ -291,21 +289,6 @@ void TabHelper::OnDidGetApplicationInfo(int32 page_id,
#endif
}
-void TabHelper::OnInstallApplication(const WebApplicationInfo& info) {
- Profile* profile =
- Profile::FromBrowserContext(web_contents()->GetBrowserContext());
- ExtensionService* extension_service = profile->GetExtensionService();
- if (!extension_service)
- return;
-
- ExtensionInstallPrompt* prompt = NULL;
- if (extension_service->show_extensions_prompts())
- prompt = new ExtensionInstallPrompt(web_contents());
- scoped_refptr<CrxInstaller> installer(
- CrxInstaller::Create(extension_service, prompt));
- installer->InstallWebApp(info);
-}
-
void TabHelper::OnInlineWebstoreInstall(
int install_id,
int return_route_id,
diff --git a/chrome/browser/extensions/tab_helper.h b/chrome/browser/extensions/tab_helper.h
index 14e46f2..b38d84a 100644
--- a/chrome/browser/extensions/tab_helper.h
+++ b/chrome/browser/extensions/tab_helper.h
@@ -179,7 +179,6 @@ class TabHelper : public content::WebContentsObserver,
// Message handlers.
void OnDidGetApplicationInfo(int32 page_id, const WebApplicationInfo& info);
- void OnInstallApplication(const WebApplicationInfo& info);
void OnInlineWebstoreInstall(int install_id,
int return_route_id,
const std::string& webstore_item_id,
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index 7fe7a04..066ace8 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -462,9 +462,6 @@ const char kEnableComponentCloudPolicy[] = "enable-component-cloud-policy";
// Chrome OS apps list.
const char kEnableContacts[] = "enable-contacts";
-// Enables web developers to create apps for Chrome without using crx packages.
-const char kEnableCrxlessWebApps[] = "enable-crxless-web-apps";
-
// Enables desktop guest mode.
const char kEnableDesktopGuestMode[] = "enable-desktop-guest-mode";
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index f04428f..156a4e74 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -137,7 +137,6 @@ extern const char kEnableBenchmarking[];
extern const char kEnableCloudPrintProxy[];
extern const char kEnableComponentCloudPolicy[];
extern const char kEnableContacts[];
-extern const char kEnableCrxlessWebApps[];
extern const char kEnableDesktopGuestMode[];
extern const char kEnableDevToolsExperiments[];
extern const char kEnableExperimentalExtensionApis[];
diff --git a/chrome/common/extensions/api/app.json b/chrome/common/extensions/api/app.json
index 0d70277..0faef3c 100644
--- a/chrome/common/extensions/api/app.json
+++ b/chrome/common/extensions/api/app.json
@@ -64,12 +64,6 @@
}
},
{
- "name": "install",
- "description": "TODO",
- "type": "function",
- "parameters": []
- },
- {
"name": "getDetails",
"description": "TODO",
"type": "function",
diff --git a/chrome/common/extensions/extension_messages.h b/chrome/common/extensions/extension_messages.h
index 6dde22a..c3eb6fd 100644
--- a/chrome/common/extensions/extension_messages.h
+++ b/chrome/common/extensions/extension_messages.h
@@ -541,10 +541,6 @@ IPC_MESSAGE_ROUTED2(ExtensionHostMsg_DidGetApplicationInfo,
int32 /* page_id */,
WebApplicationInfo)
-// Sent by the renderer to implement chrome.app.install().
-IPC_MESSAGE_ROUTED1(ExtensionHostMsg_InstallApplication,
- WebApplicationInfo)
-
// Sent by the renderer to implement chrome.webstore.install().
IPC_MESSAGE_ROUTED4(ExtensionHostMsg_InlineWebstoreInstall,
int32 /* install id */,
diff --git a/chrome/common/extensions/permissions/permission_set.cc b/chrome/common/extensions/permissions/permission_set.cc
index 6e76426..380f72a 100644
--- a/chrome/common/extensions/permissions/permission_set.cc
+++ b/chrome/common/extensions/permissions/permission_set.cc
@@ -67,7 +67,6 @@ const char* kNonPermissionFunctionNames[] = {
"app.getDetails",
"app.getDetailsForFrame",
"app.getIsInstalled",
- "app.install",
"app.installState",
"app.runningState",
"management.getPermissionWarningsByManifest",
diff --git a/chrome/renderer/extensions/app_bindings.cc b/chrome/renderer/extensions/app_bindings.cc
index 87cc04e..2932053 100644
--- a/chrome/renderer/extensions/app_bindings.cc
+++ b/chrome/renderer/extensions/app_bindings.cc
@@ -60,8 +60,6 @@ AppBindings::AppBindings(Dispatcher* dispatcher, ChromeV8Context* context)
ChromeV8ExtensionHandler(context) {
RouteFunction("GetIsInstalled",
base::Bind(&AppBindings::GetIsInstalled, base::Unretained(this)));
- RouteFunction("Install",
- base::Bind(&AppBindings::Install, base::Unretained(this)));
RouteFunction("GetDetails",
base::Bind(&AppBindings::GetDetails, base::Unretained(this)));
RouteFunction("GetDetailsForFrame",
@@ -82,20 +80,6 @@ v8::Handle<v8::Value> AppBindings::GetIsInstalled(
return v8::Boolean::New(result);
}
-v8::Handle<v8::Value> AppBindings::Install(const v8::Arguments& args) {
- content::RenderView* render_view = context_->GetRenderView();
- CHECK(render_view);
-
- string16 error;
- ExtensionHelper* helper = ExtensionHelper::Get(render_view);
- if (!helper->InstallWebApplicationUsingDefinitionFile(
- context_->web_frame(), &error)) {
- v8::ThrowException(v8::String::New(UTF16ToUTF8(error).c_str()));
- }
-
- return v8::Undefined();
-}
-
v8::Handle<v8::Value> AppBindings::GetDetails(
const v8::Arguments& args) {
CHECK(context_->web_frame());
diff --git a/chrome/renderer/extensions/app_bindings.h b/chrome/renderer/extensions/app_bindings.h
index ce00b4f..5305783 100644
--- a/chrome/renderer/extensions/app_bindings.h
+++ b/chrome/renderer/extensions/app_bindings.h
@@ -31,7 +31,6 @@ class AppBindings : public ChromeV8Extension,
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
v8::Handle<v8::Value> GetIsInstalled(const v8::Arguments& args);
- v8::Handle<v8::Value> Install(const v8::Arguments& args);
v8::Handle<v8::Value> GetDetails(const v8::Arguments& args);
v8::Handle<v8::Value> GetDetailsForFrame(const v8::Arguments& args);
v8::Handle<v8::Value> GetInstallState(const v8::Arguments& args);
diff --git a/chrome/renderer/extensions/extension_helper.cc b/chrome/renderer/extensions/extension_helper.cc
index 0e50e8a..701b7ce 100644
--- a/chrome/renderer/extensions/extension_helper.cc
+++ b/chrome/renderer/extensions/extension_helper.cc
@@ -156,53 +156,6 @@ ExtensionHelper::ExtensionHelper(content::RenderView* render_view,
ExtensionHelper::~ExtensionHelper() {
}
-bool ExtensionHelper::InstallWebApplicationUsingDefinitionFile(
- WebFrame* frame, string16* error) {
- // There is an issue of drive-by installs with the below implementation. A web
- // site could force a user to install an app by timing the dialog to come up
- // just before the user clicks.
- //
- // We do show a success UI that allows users to uninstall, but it seems that
- // we might still want to put up an infobar before showing the install dialog.
- //
- // TODO(aa): Figure out this issue before removing the kEnableCrxlessWebApps
- // switch.
- if (!CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableCrxlessWebApps)) {
- *error = ASCIIToUTF16("CRX-less web apps aren't enabled.");
- return false;
- }
-
- if (frame != frame->top()) {
- *error = ASCIIToUTF16("Applications can only be installed from the top "
- "frame.");
- return false;
- }
-
- if (pending_app_info_.get()) {
- *error = ASCIIToUTF16("An application install is already in progress.");
- return false;
- }
-
- pending_app_info_.reset(new WebApplicationInfo());
- if (!web_apps::ParseWebAppFromWebDocument(frame, pending_app_info_.get(),
- error)) {
- return false;
- }
-
- if (!pending_app_info_->manifest_url.is_valid()) {
- *error = ASCIIToUTF16("Web application definition not found or invalid.");
- return false;
- }
-
- app_definition_fetcher_.reset(new ResourceFetcher(
- pending_app_info_->manifest_url, render_view()->GetWebView()->mainFrame(),
- WebURLRequest::TargetIsSubresource,
- base::Bind(&ExtensionHelper::DidDownloadApplicationDefinition,
- base::Unretained(this))));
- return true;
-}
-
bool ExtensionHelper::OnMessageReceived(const IPC::Message& message) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(ExtensionHelper, message)
@@ -425,102 +378,6 @@ void ExtensionHelper::OnAppWindowClosed() {
chrome_v8_context->CallChromeHiddenMethod("OnAppWindowClosed", 0, NULL, NULL);
}
-void ExtensionHelper::DidDownloadApplicationDefinition(
- const WebKit::WebURLResponse& response,
- const std::string& data) {
- scoped_ptr<WebApplicationInfo> app_info(
- pending_app_info_.release());
-
- JSONStringValueSerializer serializer(data);
- int error_code = 0;
- std::string error_message;
- scoped_ptr<Value> result(serializer.Deserialize(&error_code, &error_message));
- if (!result.get()) {
- AddMessageToRootConsole(
- content::CONSOLE_MESSAGE_LEVEL_ERROR, UTF8ToUTF16(error_message));
- return;
- }
-
- string16 error_message_16;
- if (!web_apps::ParseWebAppFromDefinitionFile(result.get(), app_info.get(),
- &error_message_16)) {
- AddMessageToRootConsole(
- content::CONSOLE_MESSAGE_LEVEL_ERROR, error_message_16);
- return;
- }
-
- if (!app_info->icons.empty()) {
- pending_app_info_.reset(app_info.release());
- pending_app_icon_requests_ =
- static_cast<int>(pending_app_info_->icons.size());
- for (size_t i = 0; i < pending_app_info_->icons.size(); ++i) {
- app_icon_fetchers_.push_back(linked_ptr<ImageResourceFetcher>(
- new ImageResourceFetcher(
- pending_app_info_->icons[i].url,
- render_view()->GetWebView()->mainFrame(),
- static_cast<int>(i),
- pending_app_info_->icons[i].width,
- WebURLRequest::TargetIsFavicon,
- base::Bind(
- &ExtensionHelper::DidDownloadApplicationIcon,
- base::Unretained(this)))));
- }
- } else {
- Send(new ExtensionHostMsg_InstallApplication(routing_id(), *app_info));
- }
-}
-
-void ExtensionHelper::DidDownloadApplicationIcon(ImageResourceFetcher* fetcher,
- const SkBitmap& image) {
- pending_app_info_->icons[fetcher->id()].data = image;
-
- // Remove the image fetcher from our pending list. We're in the callback from
- // ImageResourceFetcher, best to delay deletion.
- ImageResourceFetcherList::iterator i;
- for (i = app_icon_fetchers_.begin(); i != app_icon_fetchers_.end(); ++i) {
- if (i->get() == fetcher) {
- i->release();
- app_icon_fetchers_.erase(i);
- break;
- }
- }
-
- // We're in the callback from the ImageResourceFetcher, best to delay
- // deletion.
- MessageLoop::current()->DeleteSoon(FROM_HERE, fetcher);
-
- if (--pending_app_icon_requests_ > 0)
- return;
-
- // There is a maximum size of IPC on OS X and Linux that we have run into in
- // some situations. We're not sure what it is, but our hypothesis is in the
- // neighborhood of 1 MB.
- //
- // To be on the safe side, we give ourselves 128 KB for just the image data.
- // This should be more than enough for 128, 48, and 16 px 32-bit icons. If we
- // want to start allowing larger icons (see bug 63406), we'll have to either
- // experiment mor ewith this and find the real limit, or else come up with
- // some alternative way to transmit the icon data to the browser process.
- //
- // See also: bug 63729.
- const size_t kMaxIconSize = 1024 * 128;
- size_t actual_icon_size = 0;
- for (size_t i = 0; i < pending_app_info_->icons.size(); ++i) {
- size_t current_size = pending_app_info_->icons[i].data.getSize();
- if (current_size > kMaxIconSize - actual_icon_size) {
- AddMessageToRootConsole(
- content::CONSOLE_MESSAGE_LEVEL_ERROR,
- "Icons are too large. Maximum total size for app icons is 128 KB.");
- return;
- }
- actual_icon_size += current_size;
- }
-
- Send(new ExtensionHostMsg_InstallApplication(
- routing_id(), *pending_app_info_));
- pending_app_info_.reset(NULL);
-}
-
void ExtensionHelper::AddMessageToRootConsole(ConsoleMessageLevel level,
const std::string& message) {
AddMessageToRootConsole(level, ASCIIToUTF16(message));
diff --git a/chrome/renderer/extensions/extension_helper.h b/chrome/renderer/extensions/extension_helper.h
index 4a6b0b9..a1d934c9 100644
--- a/chrome/renderer/extensions/extension_helper.h
+++ b/chrome/renderer/extensions/extension_helper.h
@@ -53,13 +53,6 @@ class ExtensionHelper
ExtensionHelper(content::RenderView* render_view, Dispatcher* dispatcher);
virtual ~ExtensionHelper();
- // Starts installation of the page in the specified frame as a web app. The
- // page must link to an external 'definition file'. This is different from
- // the 'application shortcuts' feature where we pull the application
- // definition out of optional meta tags in the page.
- bool InstallWebApplicationUsingDefinitionFile(WebKit::WebFrame* frame,
- string16* error);
-
int tab_id() const { return tab_id_; }
int browser_window_id() const { return browser_window_id_; }
chrome::ViewType view_type() const { return view_type_; }
@@ -106,16 +99,6 @@ class ExtensionHelper
const std::string& message);
void OnAppWindowClosed();
- // Callback triggered when we finish downloading the application definition
- // file.
- void DidDownloadApplicationDefinition(const WebKit::WebURLResponse& response,
- const std::string& data);
-
- // Callback triggered after each icon referenced by the application definition
- // is downloaded.
- void DidDownloadApplicationIcon(webkit_glue::ImageResourceFetcher* fetcher,
- const SkBitmap& image);
-
// Helper to add a logging message to the root frame's console.
void AddMessageToRootConsole(content::ConsoleMessageLevel level,
const string16& message);
diff --git a/chrome/test/data/extensions/convert_web_app/application.html b/chrome/test/data/extensions/convert_web_app/application.html
deleted file mode 100644
index bd4b474..0000000
--- a/chrome/test/data/extensions/convert_web_app/application.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
-<link rel="chrome-application-definition" href="application_definition.json">
-</head>
-<body>
-<script>
-chrome.app.install();
-</script>
-</body>
-</html>
diff --git a/chrome/test/data/extensions/convert_web_app/application_definition.json b/chrome/test/data/extensions/convert_web_app/application_definition.json
deleted file mode 100644
index 3bdc0c7..0000000
--- a/chrome/test/data/extensions/convert_web_app/application_definition.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "name": "Test application",
- "description": "the description is",
- "launch_url": "launch.html",
- "launch_container": "panel",
- "icons": {
- "16": "16.png",
- "48": "48.png",
- "128": "128.png"
- },
- "permissions": ["geolocation", "notifications"]
-}
diff --git a/chrome/test/data/extensions/platform_apps/restrictions/main.js b/chrome/test/data/extensions/platform_apps/restrictions/main.js
index 659399f..6146880 100644
--- a/chrome/test/data/extensions/platform_apps/restrictions/main.js
+++ b/chrome/test/data/extensions/platform_apps/restrictions/main.js
@@ -159,7 +159,6 @@ chrome.test.runTests([
function testLegacyApis() {
if (chrome.app) {
assertEq('undefined', typeof(chrome.app.getIsInstalled));
- assertEq('undefined', typeof(chrome.app.install));
assertEq('undefined', typeof(chrome.app.isInstalled));
assertEq('undefined', typeof(chrome.app.getDetails));
assertEq('undefined', typeof(chrome.app.getDetailsForFrame));