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

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

Issue 341029: Only dispatch tab events when there is someone listening (Closed)
Patch Set: pre-review Created 11 years, 1 month 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) 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 <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 }; 64 };
65 65
66 // Icon sizes used by the extension system. 66 // Icon sizes used by the extension system.
67 static const int kIconSizes[]; 67 static const int kIconSizes[];
68 68
69 // Max size (both dimensions) for browser and page actions. 69 // Max size (both dimensions) for browser and page actions.
70 static const int kPageActionIconMaxSize; 70 static const int kPageActionIconMaxSize;
71 static const int kBrowserActionIconMaxSize; 71 static const int kBrowserActionIconMaxSize;
72 72
73 // Each permission is a module that the extension is permitted to use. 73 // Each permission is a module that the extension is permitted to use.
74 static const char* kTabPermission;
75 static const char* kBookmarkPermission;
76
74 static const char* kPermissionNames[]; 77 static const char* kPermissionNames[];
75 static const size_t kNumPermissions; 78 static const size_t kNumPermissions;
76 79
77 struct PrivacyBlacklistInfo { 80 struct PrivacyBlacklistInfo {
78 FilePath path; // Path to the plain-text blacklist. 81 FilePath path; // Path to the plain-text blacklist.
79 }; 82 };
80 83
81 // An NPAPI plugin included in the extension. 84 // An NPAPI plugin included in the extension.
82 struct PluginInfo { 85 struct PluginInfo {
83 FilePath path; // Path to the plugin. 86 FilePath path; // Path to the plugin.
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 return api_permissions_; 206 return api_permissions_;
204 } 207 }
205 const HostPermissions& host_permissions() const { 208 const HostPermissions& host_permissions() const {
206 return host_permissions_; 209 return host_permissions_;
207 } 210 }
208 211
209 // Returns true if the extension has permission to access the host for the 212 // Returns true if the extension has permission to access the host for the
210 // specified URL. 213 // specified URL.
211 bool CanAccessHost(const GURL& url) const; 214 bool CanAccessHost(const GURL& url) const;
212 215
216 // Returns true if the extension has the specified API permission.
217 bool HasApiPermission(const std::string& permission) const {
218 return std::find(api_permissions_.begin(), api_permissions_.end(),
219 permission) != api_permissions_.end();
220 }
221
213 // Returns the set of hosts that the extension effectively has access to. This 222 // Returns the set of hosts that the extension effectively has access to. This
214 // is used in the permissions UI and is a combination of the hosts accessible 223 // is used in the permissions UI and is a combination of the hosts accessible
215 // through content scripts and the hosts accessible through XHR. 224 // through content scripts and the hosts accessible through XHR.
216 const std::set<std::string> GetEffectiveHostPermissions() const; 225 const std::set<std::string> GetEffectiveHostPermissions() const;
217 226
218 // Whether the extension has access to all hosts. This is true if there is 227 // Whether the extension has access to all hosts. This is true if there is
219 // a content script that matches all hosts, or if there is a host permission 228 // a content script that matches all hosts, or if there is a host permission
220 // for all hosts. 229 // for all hosts.
221 bool HasAccessToAllHosts() const; 230 bool HasAccessToAllHosts() const;
222 231
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 392
384 // True if the background page is ready. 393 // True if the background page is ready.
385 bool background_page_ready_; 394 bool background_page_ready_;
386 395
387 FRIEND_TEST(ExtensionTest, LoadPageActionHelper); 396 FRIEND_TEST(ExtensionTest, LoadPageActionHelper);
388 397
389 DISALLOW_COPY_AND_ASSIGN(Extension); 398 DISALLOW_COPY_AND_ASSIGN(Extension);
390 }; 399 };
391 400
392 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_ 401 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698