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

Side by Side Diff: chrome/browser/web_applications/web_app.h

Issue 9958006: Create Linux platform app shortcuts to run in their own process. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Moved new function into shell_integration_linux.h Created 8 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_ 5 #ifndef CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_
6 #define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_ 6 #define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 28 matching lines...) Expand all
39 // as app id for BrowserWindow, shortcut and jump list. 39 // as app id for BrowserWindow, shortcut and jump list.
40 std::string GenerateApplicationNameFromURL(const GURL& url); 40 std::string GenerateApplicationNameFromURL(const GURL& url);
41 41
42 // Compute a deterministic name based on an extension/apps's id. 42 // Compute a deterministic name based on an extension/apps's id.
43 std::string GenerateApplicationNameFromExtensionId(const std::string& id); 43 std::string GenerateApplicationNameFromExtensionId(const std::string& id);
44 44
45 // Extracts the extension id from the app name. 45 // Extracts the extension id from the app name.
46 std::string GetExtensionIdFromApplicationName(const std::string& app_name); 46 std::string GetExtensionIdFromApplicationName(const std::string& app_name);
47 47
48 // Creates a shortcut for web application based on given shortcut data. 48 // Creates a shortcut for web application based on given shortcut data.
49 // |profile_path| is used as root directory for persisted data such as icon. 49 // |profile_path| is the path of the creating profile. |shortcut_info)
50 // Directory layout is similar to what Gears has, i.e. an web application's 50 // contains information about the shortcut to create.
51 // file is stored under "#/host_name/scheme_port", where '#' is the
52 // |root_dir|. A crx based app uses a directory named _crx_<app id>.
53 void CreateShortcut( 51 void CreateShortcut(
54 const FilePath& profile_path, 52 const FilePath& profile_path,
55 const ShellIntegration::ShortcutInfo& shortcut_info); 53 const ShellIntegration::ShortcutInfo& shortcut_info);
56 54
55 // Creates a shortcut. Must be called on the file thread. This is used to
56 // implement CreateShortcut() above, and can also be used directly from the
57 // file thread. |profile_path| is the path of the creating profile.
58 // |shortcut_info| constains info about the shortcut to create.
59 bool CreateShortcutOnFileThread(
60 const FilePath& profile_path,
61 const ShellIntegration::ShortcutInfo& shortcut_info);
62
57 // Returns true if given url is a valid web app url. 63 // Returns true if given url is a valid web app url.
58 bool IsValidUrl(const GURL& url); 64 bool IsValidUrl(const GURL& url);
59 65
60 #if defined(TOOLKIT_VIEWS) 66 #if defined(TOOLKIT_VIEWS)
61 // Extracts icons info from web app data. Take only square shaped icons and 67 // Extracts icons info from web app data. Take only square shaped icons and
62 // sort them from smallest to largest. 68 // sort them from smallest to largest.
63 typedef std::vector<WebApplicationInfo::IconInfo> IconInfoList; 69 typedef std::vector<WebApplicationInfo::IconInfo> IconInfoList;
64 void GetIconsInfo(const WebApplicationInfo& app_info, 70 void GetIconsInfo(const WebApplicationInfo& app_info,
65 IconInfoList* icons); 71 IconInfoList* icons);
66 #endif 72 #endif
67 73
68 #if defined(TOOLKIT_GTK) 74 #if defined(TOOLKIT_GTK)
69 // GTK+ windows that correspond to web apps need to have a deterministic (and 75 // GTK+ windows that correspond to web apps need to have a deterministic (and
70 // different) WMClass than normal chrome windows so the window manager groups 76 // different) WMClass than normal chrome windows so the window manager groups
71 // them as a separate application. 77 // them as a separate application.
72 std::string GetWMClassFromAppName(std::string app_name); 78 std::string GetWMClassFromAppName(std::string app_name);
73 #endif 79 #endif
74 80
75 namespace internals { 81 namespace internals {
76 82
77 #if defined(OS_WIN) 83 #if defined(OS_WIN)
78 bool CheckAndSaveIcon(const FilePath& icon_file, const SkBitmap& image); 84 bool CheckAndSaveIcon(const FilePath& icon_file, const SkBitmap& image);
79 #endif 85 #endif
80 86
81 // Does the actual job of creating a shortcut (see CreateShortcut() above). 87 // Implemented for each platform, does the platform specific parts of creating
82 // This must be called on the file thread. 88 // shortcuts. Used internally by CreateShortcutOnFileThread.
83 void CreateShortcutTask(const FilePath& web_app_path, 89 // |shortcut_data_path| is where to store any resources created for the
84 const FilePath& profile_path, 90 // shortcut, and is also used as the UserDataDir for platform app shortcuts.
85 const ShellIntegration::ShortcutInfo& shortcut_info); 91 // |profile_path| is the path of the creating profile. |shortcut_info|
92 // contains info about the shortcut to create.
93 bool CreatePlatformShortcut(
94 const FilePath& shortcut_data_path,
95 const FilePath& profile_path,
96 const ShellIntegration::ShortcutInfo& shortcut_info);
86 97
87 // Sanitizes |name| and returns a version of it that is safe to use as an 98 // Sanitizes |name| and returns a version of it that is safe to use as an
88 // on-disk file name . 99 // on-disk file name .
89 FilePath GetSanitizedFileName(const string16& name); 100 FilePath GetSanitizedFileName(const string16& name);
90 101
91 } // namespace internals 102 } // namespace internals
92 103
93 } // namespace web_app 104 } // namespace web_app
94 105
95 #endif // CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_ 106 #endif // CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/create_application_shortcuts_dialog_gtk.cc ('k') | chrome/browser/web_applications/web_app.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698