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

Side by Side Diff: chrome/browser/net/chrome_url_request_context.h

Issue 3116011: Revert 56059 - Merge 55103 - Refactored extension privilege enumeration and i... (Closed) Base URL: svn://svn.chromium.org/chrome/branches/472/src/
Patch Set: Created 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_NET_CHROME_URL_REQUEST_CONTEXT_H_ 5 #ifndef CHROME_BROWSER_NET_CHROME_URL_REQUEST_CONTEXT_H_
6 #define CHROME_BROWSER_NET_CHROME_URL_REQUEST_CONTEXT_H_ 6 #define CHROME_BROWSER_NET_CHROME_URL_REQUEST_CONTEXT_H_
7 7
8 #include <map>
9 #include <string> 8 #include <string>
10 #include <vector> 9 #include <vector>
11 10
12 #include "base/file_path.h" 11 #include "base/file_path.h"
13 #include "base/linked_ptr.h" 12 #include "base/linked_ptr.h"
14 #include "net/base/cookie_monster.h" 13 #include "net/base/cookie_monster.h"
15 #include "net/base/cookie_policy.h" 14 #include "net/base/cookie_policy.h"
16 #include "chrome/browser/appcache/chrome_appcache_service.h" 15 #include "chrome/browser/appcache/chrome_appcache_service.h"
17 #include "chrome/browser/host_content_settings_map.h" 16 #include "chrome/browser/host_content_settings_map.h"
18 #include "chrome/browser/host_zoom_map.h" 17 #include "chrome/browser/host_zoom_map.h"
(...skipping 26 matching lines...) Expand all
45 class ChromeURLRequestContext : public URLRequestContext { 44 class ChromeURLRequestContext : public URLRequestContext {
46 public: 45 public:
47 // Maintains some extension-related state we need on the IO thread. 46 // Maintains some extension-related state we need on the IO thread.
48 // TODO(aa): It would be cool if the Extension objects in ExtensionsService 47 // TODO(aa): It would be cool if the Extension objects in ExtensionsService
49 // could be immutable and ref-counted so that we could use them directly from 48 // could be immutable and ref-counted so that we could use them directly from
50 // both threads. There is only a small amount of mutable state in Extension. 49 // both threads. There is only a small amount of mutable state in Extension.
51 struct ExtensionInfo { 50 struct ExtensionInfo {
52 ExtensionInfo(const std::string& name, const FilePath& path, 51 ExtensionInfo(const std::string& name, const FilePath& path,
53 const std::string& default_locale, 52 const std::string& default_locale,
54 const ExtensionExtent& extent, 53 const ExtensionExtent& extent,
55 const ExtensionExtent& effective_host_permissions,
56 const std::vector<std::string>& api_permissions) 54 const std::vector<std::string>& api_permissions)
57 : name(name), path(path), default_locale(default_locale), 55 : name(name), path(path), default_locale(default_locale),
58 extent(extent), 56 extent(extent), api_permissions(api_permissions) {
59 effective_host_permissions(effective_host_permissions),
60 api_permissions(api_permissions) {
61 } 57 }
62 const std::string name; 58 const std::string name;
63 const FilePath path; 59 FilePath path;
64 const std::string default_locale; 60 std::string default_locale;
65 const ExtensionExtent extent; 61 ExtensionExtent extent;
66 const ExtensionExtent effective_host_permissions;
67 std::vector<std::string> api_permissions; 62 std::vector<std::string> api_permissions;
68 }; 63 };
69 64
70 // Map of extension info by extension id. 65 // Map of extension info by extension id.
71 typedef std::map<std::string, linked_ptr<ExtensionInfo> > ExtensionInfoMap; 66 typedef std::map<std::string, linked_ptr<ExtensionInfo> > ExtensionInfoMap;
72 67
73 ChromeURLRequestContext(); 68 ChromeURLRequestContext();
74 69
75 // Gets the name for the specified extension. 70 // Gets the name for the specified extension.
76 std::string GetNameForExtension(const std::string& id); 71 std::string GetNameForExtension(const std::string& id);
77 72
78 // Gets the path to the directory for the specified extension. 73 // Gets the path to the directory for the specified extension.
79 FilePath GetPathForExtension(const std::string& id); 74 FilePath GetPathForExtension(const std::string& id);
80 75
81 // Returns an empty string if the extension with |id| doesn't have a default 76 // Returns an empty string if the extension with |id| doesn't have a default
82 // locale. 77 // locale.
83 std::string GetDefaultLocaleForExtension(const std::string& id); 78 std::string GetDefaultLocaleForExtension(const std::string& id);
84 79
85 // Gets the effective host permissions for the extension with |id|.
86 ExtensionExtent
87 GetEffectiveHostPermissionsForExtension(const std::string& id);
88
89 // Determine whether a URL has access to the specified extension permission. 80 // Determine whether a URL has access to the specified extension permission.
90 bool CheckURLAccessToExtensionPermission(const GURL& url, 81 bool CheckURLAccessToExtensionPermission(const GURL& url,
91 const char* permission_name); 82 const char* permission_name);
92 83
93 // Gets the path to the directory user scripts are stored in. 84 // Gets the path to the directory user scripts are stored in.
94 FilePath user_script_dir_path() const { 85 FilePath user_script_dir_path() const {
95 return user_script_dir_path_; 86 return user_script_dir_path_;
96 } 87 }
97 88
98 // Gets the appcache service to be used for requests in this context. 89 // Gets the appcache service to be used for requests in this context.
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 396
406 DISALLOW_COPY_AND_ASSIGN(ChromeURLRequestContextFactory); 397 DISALLOW_COPY_AND_ASSIGN(ChromeURLRequestContextFactory);
407 }; 398 };
408 399
409 // Creates a proxy configuration from proxy-related preferences fetched 400 // Creates a proxy configuration from proxy-related preferences fetched
410 // from |pref_service|. The relevant preferences in |pref_service| are 401 // from |pref_service|. The relevant preferences in |pref_service| are
411 // initialized from the process' command line or by applicable proxy policies. 402 // initialized from the process' command line or by applicable proxy policies.
412 net::ProxyConfig* CreateProxyConfig(const PrefService* pref_service); 403 net::ProxyConfig* CreateProxyConfig(const PrefService* pref_service);
413 404
414 #endif // CHROME_BROWSER_NET_CHROME_URL_REQUEST_CONTEXT_H_ 405 #endif // CHROME_BROWSER_NET_CHROME_URL_REQUEST_CONTEXT_H_
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_protocols.cc ('k') | chrome/browser/net/chrome_url_request_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698