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

Side by Side Diff: content/common/appcache_interfaces.h

Issue 344493002: Move all remaining appcache-related code to content namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: build file fiddling Created 6 years, 6 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) 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 WEBKIT_COMMON_APPCACHE_APPCACHE_INTERFACES_H_ 5 #ifndef CONTENT_COMMON_APPCACHE_APPCACHE_INTERFACES_H_
6 #define WEBKIT_COMMON_APPCACHE_APPCACHE_INTERFACES_H_ 6 #define CONTENT_COMMON_APPCACHE_APPCACHE_INTERFACES_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector>
10 9
11 #include "base/basictypes.h" 10 #include "base/basictypes.h"
12 #include "base/files/file_path.h" 11 #include "base/files/file_path.h"
13 #include "base/time/time.h" 12 #include "content/public/common/appcache_info.h"
14 #include "url/gurl.h"
15 #include "webkit/common/webkit_storage_common_export.h"
16 13
17 namespace net { 14 namespace net {
18 class URLRequest; 15 class URLRequest;
19 } 16 }
20 17
21 namespace appcache { 18 namespace content {
22
23 // Defines constants, types, and abstract classes used in the main
24 // process and in child processes.
michaeln 2014/06/20 22:21:11 please retain this comment in this .h file
25
26 static const int kAppCacheNoHostId = 0;
27 static const int64 kAppCacheNoCacheId = 0;
28 static const int64 kAppCacheNoResponseId = 0;
29 static const int64 kAppCacheUnknownCacheId = -1;
30
31 enum AppCacheStatus {
32 APPCACHE_STATUS_UNCACHED,
33 APPCACHE_STATUS_IDLE,
34 APPCACHE_STATUS_CHECKING,
35 APPCACHE_STATUS_DOWNLOADING,
36 APPCACHE_STATUS_UPDATE_READY,
37 APPCACHE_STATUS_OBSOLETE,
38 APPCACHE_STATUS_LAST = APPCACHE_STATUS_OBSOLETE
39 };
40 19
41 enum AppCacheEventID { 20 enum AppCacheEventID {
42 APPCACHE_CHECKING_EVENT, 21 APPCACHE_CHECKING_EVENT,
43 APPCACHE_ERROR_EVENT, 22 APPCACHE_ERROR_EVENT,
44 APPCACHE_NO_UPDATE_EVENT, 23 APPCACHE_NO_UPDATE_EVENT,
45 APPCACHE_DOWNLOADING_EVENT, 24 APPCACHE_DOWNLOADING_EVENT,
46 APPCACHE_PROGRESS_EVENT, 25 APPCACHE_PROGRESS_EVENT,
47 APPCACHE_UPDATE_READY_EVENT, 26 APPCACHE_UPDATE_READY_EVENT,
48 APPCACHE_CACHED_EVENT, 27 APPCACHE_CACHED_EVENT,
49 APPCACHE_OBSOLETE_EVENT, 28 APPCACHE_OBSOLETE_EVENT,
(...skipping 19 matching lines...) Expand all
69 APPCACHE_SIGNATURE_ERROR, 48 APPCACHE_SIGNATURE_ERROR,
70 APPCACHE_RESOURCE_ERROR, 49 APPCACHE_RESOURCE_ERROR,
71 APPCACHE_CHANGED_ERROR, 50 APPCACHE_CHANGED_ERROR,
72 APPCACHE_ABORT_ERROR, 51 APPCACHE_ABORT_ERROR,
73 APPCACHE_QUOTA_ERROR, 52 APPCACHE_QUOTA_ERROR,
74 APPCACHE_POLICY_ERROR, 53 APPCACHE_POLICY_ERROR,
75 APPCACHE_UNKNOWN_ERROR, 54 APPCACHE_UNKNOWN_ERROR,
76 APPCACHE_ERROR_REASON_LAST = APPCACHE_UNKNOWN_ERROR 55 APPCACHE_ERROR_REASON_LAST = APPCACHE_UNKNOWN_ERROR
77 }; 56 };
78 57
79 struct WEBKIT_STORAGE_COMMON_EXPORT AppCacheInfo {
80 AppCacheInfo();
81 ~AppCacheInfo();
82
83 GURL manifest_url;
84 base::Time creation_time;
85 base::Time last_update_time;
86 base::Time last_access_time;
87 int64 cache_id;
88 int64 group_id;
89 AppCacheStatus status;
90 int64 size;
91 bool is_complete;
92 };
93
94 typedef std::vector<AppCacheInfo> AppCacheInfoVector;
95
96 // Type to hold information about a single appcache resource. 58 // Type to hold information about a single appcache resource.
97 struct WEBKIT_STORAGE_COMMON_EXPORT AppCacheResourceInfo { 59 struct CONTENT_EXPORT AppCacheResourceInfo {
98 AppCacheResourceInfo(); 60 AppCacheResourceInfo();
99 ~AppCacheResourceInfo(); 61 ~AppCacheResourceInfo();
100 62
101 GURL url; 63 GURL url;
102 int64 size; 64 int64 size;
103 bool is_master; 65 bool is_master;
104 bool is_manifest; 66 bool is_manifest;
105 bool is_intercept; 67 bool is_intercept;
106 bool is_fallback; 68 bool is_fallback;
107 bool is_foreign; 69 bool is_foreign;
108 bool is_explicit; 70 bool is_explicit;
109 int64 response_id; 71 int64 response_id;
110 }; 72 };
111 73
112 struct WEBKIT_STORAGE_COMMON_EXPORT AppCacheErrorDetails { 74 struct CONTENT_EXPORT AppCacheErrorDetails {
113 AppCacheErrorDetails(); 75 AppCacheErrorDetails();
114 AppCacheErrorDetails(std::string message, 76 AppCacheErrorDetails(std::string message,
115 AppCacheErrorReason reason, 77 AppCacheErrorReason reason,
116 GURL url, 78 GURL url,
117 int status, 79 int status,
118 bool is_cross_origin); 80 bool is_cross_origin);
119 ~AppCacheErrorDetails(); 81 ~AppCacheErrorDetails();
120 82
121 std::string message; 83 std::string message;
122 AppCacheErrorReason reason; 84 AppCacheErrorReason reason;
123 GURL url; 85 GURL url;
124 int status; 86 int status;
125 bool is_cross_origin; 87 bool is_cross_origin;
126 }; 88 };
127 89
128 typedef std::vector<AppCacheResourceInfo> AppCacheResourceInfoVector; 90 typedef std::vector<AppCacheResourceInfo> AppCacheResourceInfoVector;
129 91
130 struct WEBKIT_STORAGE_COMMON_EXPORT Namespace { 92 struct CONTENT_EXPORT AppCacheNamespace {
131 Namespace(); // Type is set to APPCACHE_FALLBACK_NAMESPACE by default. 93 AppCacheNamespace(); // Type is APPCACHE_FALLBACK_NAMESPACE by default.
132 Namespace(AppCacheNamespaceType type, const GURL& url, const GURL& target, 94 AppCacheNamespace(AppCacheNamespaceType type, const GURL& url,
133 bool is_pattern); 95 const GURL& target, bool is_pattern);
134 Namespace(AppCacheNamespaceType type, const GURL& url, const GURL& target, 96 AppCacheNamespace(AppCacheNamespaceType type, const GURL& url,
135 bool is_pattern, bool is_executable); 97 const GURL& target, bool is_pattern, bool is_executable);
136 ~Namespace(); 98 ~AppCacheNamespace();
137 99
138 bool IsMatch(const GURL& url) const; 100 bool IsMatch(const GURL& url) const;
139 101
140 AppCacheNamespaceType type; 102 AppCacheNamespaceType type;
141 GURL namespace_url; 103 GURL namespace_url;
142 GURL target_url; 104 GURL target_url;
143 bool is_pattern; 105 bool is_pattern;
144 bool is_executable; 106 bool is_executable;
145 }; 107 };
146 108
147 typedef std::vector<Namespace> NamespaceVector; 109 typedef std::vector<AppCacheNamespace> AppCacheNamespaceVector;
148 110
149 // Interface used by backend (browser-process) to talk to frontend (renderer). 111 // Interface used by backend (browser-process) to talk to frontend (renderer).
150 class WEBKIT_STORAGE_COMMON_EXPORT AppCacheFrontend { 112 class CONTENT_EXPORT AppCacheFrontend {
151 public: 113 public:
152 virtual void OnCacheSelected( 114 virtual void OnCacheSelected(
153 int host_id, const appcache::AppCacheInfo& info) = 0; 115 int host_id, const AppCacheInfo& info) = 0;
154 virtual void OnStatusChanged(const std::vector<int>& host_ids, 116 virtual void OnStatusChanged(const std::vector<int>& host_ids,
155 AppCacheStatus status) = 0; 117 AppCacheStatus status) = 0;
156 virtual void OnEventRaised(const std::vector<int>& host_ids, 118 virtual void OnEventRaised(const std::vector<int>& host_ids,
157 AppCacheEventID event_id) = 0; 119 AppCacheEventID event_id) = 0;
158 virtual void OnProgressEventRaised(const std::vector<int>& host_ids, 120 virtual void OnProgressEventRaised(const std::vector<int>& host_ids,
159 const GURL& url, 121 const GURL& url,
160 int num_total, int num_complete) = 0; 122 int num_total, int num_complete) = 0;
161 virtual void OnErrorEventRaised( 123 virtual void OnErrorEventRaised(
162 const std::vector<int>& host_ids, 124 const std::vector<int>& host_ids,
163 const appcache::AppCacheErrorDetails& details) = 0; 125 const AppCacheErrorDetails& details) = 0;
164 virtual void OnContentBlocked(int host_id, 126 virtual void OnContentBlocked(int host_id,
165 const GURL& manifest_url) = 0; 127 const GURL& manifest_url) = 0;
166 virtual void OnLogMessage(int host_id, AppCacheLogLevel log_level, 128 virtual void OnLogMessage(int host_id, AppCacheLogLevel log_level,
167 const std::string& message) = 0; 129 const std::string& message) = 0;
168 virtual ~AppCacheFrontend() {} 130 virtual ~AppCacheFrontend() {}
169 }; 131 };
170 132
171 // Interface used by frontend (renderer) to talk to backend (browser-process). 133 // Interface used by frontend (renderer) to talk to backend (browser-process).
172 class WEBKIT_STORAGE_COMMON_EXPORT AppCacheBackend { 134 class CONTENT_EXPORT AppCacheBackend {
173 public: 135 public:
174 virtual void RegisterHost(int host_id) = 0; 136 virtual void RegisterHost(int host_id) = 0;
175 virtual void UnregisterHost(int host_id) = 0; 137 virtual void UnregisterHost(int host_id) = 0;
176 virtual void SetSpawningHostId(int host_id, int spawning_host_id) = 0; 138 virtual void SetSpawningHostId(int host_id, int spawning_host_id) = 0;
177 virtual void SelectCache(int host_id, 139 virtual void SelectCache(int host_id,
178 const GURL& document_url, 140 const GURL& document_url,
179 const int64 cache_document_was_loaded_from, 141 const int64 cache_document_was_loaded_from,
180 const GURL& manifest_url) = 0; 142 const GURL& manifest_url) = 0;
181 virtual void SelectCacheForWorker( 143 virtual void SelectCacheForWorker(
182 int host_id, 144 int host_id,
183 int parent_process_id, 145 int parent_process_id,
184 int parent_host_id) = 0; 146 int parent_host_id) = 0;
185 virtual void SelectCacheForSharedWorker( 147 virtual void SelectCacheForSharedWorker(
186 int host_id, 148 int host_id,
187 int64 appcache_id) = 0; 149 int64 appcache_id) = 0;
188 virtual void MarkAsForeignEntry(int host_id, const GURL& document_url, 150 virtual void MarkAsForeignEntry(int host_id, const GURL& document_url,
189 int64 cache_document_was_loaded_from) = 0; 151 int64 cache_document_was_loaded_from) = 0;
190 virtual AppCacheStatus GetStatus(int host_id) = 0; 152 virtual AppCacheStatus GetStatus(int host_id) = 0;
191 virtual bool StartUpdate(int host_id) = 0; 153 virtual bool StartUpdate(int host_id) = 0;
192 virtual bool SwapCache(int host_id) = 0; 154 virtual bool SwapCache(int host_id) = 0;
193 virtual void GetResourceList( 155 virtual void GetResourceList(
194 int host_id, std::vector<AppCacheResourceInfo>* resource_infos) = 0; 156 int host_id, std::vector<AppCacheResourceInfo>* resource_infos) = 0;
195 157
196 protected: 158 protected:
197 virtual ~AppCacheBackend() {} 159 virtual ~AppCacheBackend() {}
198 }; 160 };
199 161
200 // Useful string constants. 162 // Useful string constants.
201 // Note: These are also defined elsewhere in the chrome code base in 163 // Note: These are also defined elsewhere in the chrome code base in
202 // url_contants.h .cc, however the appcache library doesn't not have 164 // url_contants.h .cc, however the content library can not have
203 // any dependencies on the chrome library, so we can't use them in here. 165 // any dependencies on the chrome library, so we can't use them in here.
204 WEBKIT_STORAGE_COMMON_EXPORT extern const char kHttpScheme[]; 166 CONTENT_EXPORT extern const char kHttpScheme[];
205 WEBKIT_STORAGE_COMMON_EXPORT extern const char kHttpsScheme[]; 167 CONTENT_EXPORT extern const char kHttpsScheme[];
206 WEBKIT_STORAGE_COMMON_EXPORT extern const char kHttpGETMethod[]; 168 CONTENT_EXPORT extern const char kHttpGETMethod[];
207 WEBKIT_STORAGE_COMMON_EXPORT extern const char kHttpHEADMethod[]; 169 CONTENT_EXPORT extern const char kHttpHEADMethod[];
208 170
209 // CommandLine flag to turn this experimental feature on. 171 // CommandLine flag to turn this experimental feature on.
210 WEBKIT_STORAGE_COMMON_EXPORT extern const char kEnableExecutableHandlers[]; 172 CONTENT_EXPORT extern const char kEnableExecutableHandlers[];
211 173
212 WEBKIT_STORAGE_COMMON_EXPORT bool IsSchemeSupported(const GURL& url); 174 CONTENT_EXPORT bool IsSchemeSupportedForAppCache(const GURL& url);
213 WEBKIT_STORAGE_COMMON_EXPORT bool IsMethodSupported(const std::string& method); 175 CONTENT_EXPORT bool IsMethodSupportedForAppCache(
214 WEBKIT_STORAGE_COMMON_EXPORT bool IsSchemeAndMethodSupported( 176 const std::string& method);
177 CONTENT_EXPORT bool IsSchemeAndMethodSupportedForAppCache(
215 const net::URLRequest* request); 178 const net::URLRequest* request);
216 179
217 WEBKIT_STORAGE_COMMON_EXPORT extern const base::FilePath::CharType 180 CONTENT_EXPORT extern const base::FilePath::CharType
218 kAppCacheDatabaseName[]; 181 kAppCacheDatabaseName[];
219 182
220 } // namespace 183 } // namespace
221 184
222 #endif // WEBKIT_COMMON_APPCACHE_APPCACHE_INTERFACES_H_ 185 #endif // CONTENT_COMMON_APPCACHE_APPCACHE_INTERFACES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698