| Index: chrome/browser/web_applications/web_app.cc
|
| diff --git a/chrome/browser/web_applications/web_app.cc b/chrome/browser/web_applications/web_app.cc
|
| index c4046c8700d83e245b3640a8eb48473d90510da2..90e407139b75b05ae9b33f83ba591081dc3fb6fb 100644
|
| --- a/chrome/browser/web_applications/web_app.cc
|
| +++ b/chrome/browser/web_applications/web_app.cc
|
| @@ -10,8 +10,10 @@
|
|
|
| #include "base/command_line.h"
|
| #include "base/file_util.h"
|
| +#include "base/i18n/file_util_icu.h"
|
| #include "base/md5.h"
|
| #include "base/path_service.h"
|
| +#include "base/string_util.h"
|
| #include "base/threading/thread.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "base/win/windows_version.h"
|
| @@ -339,14 +341,8 @@ bool CreateShortcutTask::CreateShortcut() {
|
| shortcut_info_.description.resize(MAX_PATH - 1);
|
|
|
| // Generates app id from web app url and profile path.
|
| - std::string app_name;
|
| - if (!shortcut_info_.extension_id.empty()) {
|
| - app_name = web_app::GenerateApplicationNameFromExtensionId(
|
| - shortcut_info_.extension_id);
|
| - } else {
|
| - app_name = web_app::GenerateApplicationNameFromURL(
|
| - shortcut_info_.url);
|
| - }
|
| + std::string app_name =
|
| + web_app::GenerateApplicationNameFromInfo(shortcut_info_);
|
| std::wstring app_id = ShellIntegration::GetAppId(
|
| UTF8ToWide(app_name), profile_path_);
|
|
|
| @@ -454,6 +450,17 @@ FilePath GetWebAppDataDirectory(const FilePath& root_dir,
|
|
|
| } // namespace internals
|
|
|
| +std::string GenerateApplicationNameFromInfo(
|
| + const ShellIntegration::ShortcutInfo& shortcut_info) {
|
| + if (!shortcut_info.extension_id.empty()) {
|
| + return web_app::GenerateApplicationNameFromExtensionId(
|
| + shortcut_info.extension_id);
|
| + } else {
|
| + return web_app::GenerateApplicationNameFromURL(
|
| + shortcut_info.url);
|
| + }
|
| +}
|
| +
|
| std::string GenerateApplicationNameFromURL(const GURL& url) {
|
| std::string t;
|
| t.append(url.host());
|
| @@ -514,4 +521,12 @@ void GetIconsInfo(const WebApplicationInfo& app_info,
|
| }
|
| #endif
|
|
|
| +#if defined(TOOLKIT_GTK)
|
| +std::string GetWMClassFromAppName(std::string app_name) {
|
| + file_util::ReplaceIllegalCharactersInPath(&app_name, '_');
|
| + TrimString(app_name, "_", &app_name);
|
| + return app_name;
|
| +}
|
| +#endif
|
| +
|
| } // namespace web_app
|
|
|