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

Side by Side Diff: chrome/common/extensions/extension.h

Issue 164039: Add module-level permissions to extensions. (Closed)
Patch Set: final nits Created 11 years, 4 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
« no previous file with comments | « chrome/common/common_resources.grd ('k') | chrome/common/extensions/extension.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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_COMMON_EXTENSIONS_EXTENSION_H_ 5 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_H_
6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_H_ 6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 enum Icons { 51 enum Icons {
52 EXTENSION_ICON_LARGE = 128, 52 EXTENSION_ICON_LARGE = 128,
53 EXTENSION_ICON_MEDIUM = 48, 53 EXTENSION_ICON_MEDIUM = 48,
54 EXTENSION_ICON_SMALL = 32, 54 EXTENSION_ICON_SMALL = 32,
55 EXTENSION_ICON_BITTY = 16, 55 EXTENSION_ICON_BITTY = 16,
56 }; 56 };
57 57
58 // Icon sizes used by the extension system. 58 // Icon sizes used by the extension system.
59 static const int kIconSizes[]; 59 static const int kIconSizes[];
60 60
61 // Each permission is a module that the extension is permitted to use.
62 static const char* kPermissionNames[];
63 static const size_t kNumPermissions;
64
61 // An NPAPI plugin included in the extension. 65 // An NPAPI plugin included in the extension.
62 struct PluginInfo { 66 struct PluginInfo {
63 FilePath path; // Path to the plugin. 67 FilePath path; // Path to the plugin.
64 bool is_public; // False if only this extension can load this plugin. 68 bool is_public; // False if only this extension can load this plugin.
65 }; 69 };
66 70
67 // A toolstrip and its associated mole. 71 // A toolstrip and its associated mole.
68 struct ToolstripInfo { 72 struct ToolstripInfo {
69 ToolstripInfo() : mole_height(0) {} 73 ToolstripInfo() : mole_height(0) {}
70 74
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 // String representation of the version number. 169 // String representation of the version number.
166 const std::string VersionString() const; 170 const std::string VersionString() const;
167 const std::string& name() const { return name_; } 171 const std::string& name() const { return name_; }
168 const std::string& public_key() const { return public_key_; } 172 const std::string& public_key() const { return public_key_; }
169 const std::string& description() const { return description_; } 173 const std::string& description() const { return description_; }
170 const UserScriptList& content_scripts() const { return content_scripts_; } 174 const UserScriptList& content_scripts() const { return content_scripts_; }
171 const PageActionMap& page_actions() const { return page_actions_; } 175 const PageActionMap& page_actions() const { return page_actions_; }
172 const std::vector<PluginInfo>& plugins() const { return plugins_; } 176 const std::vector<PluginInfo>& plugins() const { return plugins_; }
173 const GURL& background_url() const { return background_url_; } 177 const GURL& background_url() const { return background_url_; }
174 const std::vector<ToolstripInfo>& toolstrips() const { return toolstrips_; } 178 const std::vector<ToolstripInfo>& toolstrips() const { return toolstrips_; }
175 const std::vector<URLPattern>& permissions() const { return permissions_; } 179 const std::vector<URLPattern>& host_permissions() const {
180 return host_permissions_;
181 }
182 const std::vector<std::string>& api_permissions() const {
183 return api_permissions_;
184 }
176 const GURL& update_url() const { return update_url_; } 185 const GURL& update_url() const { return update_url_; }
177 const std::map<int, std::string>& icons() { return icons_; } 186 const std::map<int, std::string>& icons() { return icons_; }
178 187
179 // Retrieves a page action by |id|. 188 // Retrieves a page action by |id|.
180 const PageAction* GetPageAction(std::string id) const; 189 const PageAction* GetPageAction(std::string id) const;
181 190
182 // Returns the origin of this extension. This function takes a |registry_path| 191 // Returns the origin of this extension. This function takes a |registry_path|
183 // so that the registry location can be overwritten during testing. 192 // so that the registry location can be overwritten during testing.
184 Location ExternalExtensionInstallType(std::string registry_path); 193 Location ExternalExtensionInstallType(std::string registry_path);
185 194
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 295
287 // A map of color names to colors. 296 // A map of color names to colors.
288 scoped_ptr<DictionaryValue> theme_tints_; 297 scoped_ptr<DictionaryValue> theme_tints_;
289 298
290 // A map of display properties. 299 // A map of display properties.
291 scoped_ptr<DictionaryValue> theme_display_properties_; 300 scoped_ptr<DictionaryValue> theme_display_properties_;
292 301
293 // Whether the extension is a theme - if it is, certain things are disabled. 302 // Whether the extension is a theme - if it is, certain things are disabled.
294 bool is_theme_; 303 bool is_theme_;
295 304
305 // The set of module-level APIs this extension can use.
306 std::vector<std::string> api_permissions_;
307
296 // The sites this extension has permission to talk to (using XHR, etc). 308 // The sites this extension has permission to talk to (using XHR, etc).
297 std::vector<URLPattern> permissions_; 309 std::vector<URLPattern> host_permissions_;
298 310
299 // The paths to the icons the extension contains mapped by their width. 311 // The paths to the icons the extension contains mapped by their width.
300 std::map<int, std::string> icons_; 312 std::map<int, std::string> icons_;
301 313
302 // URL for fetching an update manifest 314 // URL for fetching an update manifest
303 GURL update_url_; 315 GURL update_url_;
304 316
305 317
306 // Runtime data: 318 // Runtime data:
307 319
308 // True if the background page is ready. 320 // True if the background page is ready.
309 bool background_page_ready_; 321 bool background_page_ready_;
310 322
311 FRIEND_TEST(ExtensionTest, LoadPageActionHelper); 323 FRIEND_TEST(ExtensionTest, LoadPageActionHelper);
312 324
313 DISALLOW_COPY_AND_ASSIGN(Extension); 325 DISALLOW_COPY_AND_ASSIGN(Extension);
314 }; 326 };
315 327
316 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_ 328 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_
OLDNEW
« no previous file with comments | « chrome/common/common_resources.grd ('k') | chrome/common/extensions/extension.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698