OLD | NEW |
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_BROWSER_WORKER_HOST_WORKER_PROCESS_HOST_H_ | 5 #ifndef CHROME_BROWSER_WORKER_HOST_WORKER_PROCESS_HOST_H_ |
6 #define CHROME_BROWSER_WORKER_HOST_WORKER_PROCESS_HOST_H_ | 6 #define CHROME_BROWSER_WORKER_HOST_WORKER_PROCESS_HOST_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <list> | 9 #include <list> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
13 #include "base/callback.h" | 13 #include "base/callback.h" |
14 #include "base/file_path.h" | 14 #include "base/file_path.h" |
15 #include "base/ref_counted.h" | |
16 #include "chrome/browser/browser_child_process_host.h" | 15 #include "chrome/browser/browser_child_process_host.h" |
17 #include "chrome/browser/browser_message_filter.h" | 16 #include "chrome/browser/browser_message_filter.h" |
18 #include "chrome/browser/net/chrome_url_request_context.h" | 17 #include "chrome/browser/net/chrome_url_request_context.h" |
19 #include "chrome/browser/worker_host/worker_document_set.h" | 18 #include "chrome/browser/worker_host/worker_document_set.h" |
20 #include "googleurl/src/gurl.h" | 19 #include "googleurl/src/gurl.h" |
21 #include "ipc/ipc_channel.h" | |
22 | 20 |
23 class BlobDispatcherHost; | 21 class BlobDispatcherHost; |
24 class ChromeURLRequestContext; | 22 class ChromeURLRequestContext; |
25 class ChromeURLRequestContextGetter; | 23 class ChromeURLRequestContextGetter; |
26 class DatabaseDispatcherHost; | |
27 class FileSystemDispatcherHost; | 24 class FileSystemDispatcherHost; |
28 class FileUtilitiesDispatcherHost; | 25 class FileUtilitiesDispatcherHost; |
29 class MimeRegistryDispatcher; | 26 class MimeRegistryDispatcher; |
30 namespace webkit_database { | 27 namespace webkit_database { |
31 class DatabaseTracker; | 28 class DatabaseTracker; |
32 } // namespace webkit_database | 29 } // namespace webkit_database |
33 | 30 |
34 struct ViewHostMsg_CreateWorker_Params; | 31 struct ViewHostMsg_CreateWorker_Params; |
35 | 32 |
36 // The WorkerProcessHost is the interface that represents the browser side of | 33 // The WorkerProcessHost is the interface that represents the browser side of |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 // worker. | 204 // worker. |
208 void OnAllowDatabase(const GURL& url, | 205 void OnAllowDatabase(const GURL& url, |
209 const string16& name, | 206 const string16& name, |
210 const string16& display_name, | 207 const string16& display_name, |
211 unsigned long estimated_size, | 208 unsigned long estimated_size, |
212 IPC::Message* reply_msg); | 209 IPC::Message* reply_msg); |
213 | 210 |
214 Instances instances_; | 211 Instances instances_; |
215 | 212 |
216 scoped_refptr<ChromeURLRequestContext> request_context_; | 213 scoped_refptr<ChromeURLRequestContext> request_context_; |
217 scoped_refptr<DatabaseDispatcherHost> db_dispatcher_host_; | |
218 scoped_ptr<BlobDispatcherHost> blob_dispatcher_host_; | 214 scoped_ptr<BlobDispatcherHost> blob_dispatcher_host_; |
219 scoped_refptr<FileSystemDispatcherHost> file_system_dispatcher_host_; | 215 scoped_refptr<FileSystemDispatcherHost> file_system_dispatcher_host_; |
220 scoped_refptr<FileUtilitiesDispatcherHost> file_utilities_dispatcher_host_; | 216 scoped_refptr<FileUtilitiesDispatcherHost> file_utilities_dispatcher_host_; |
221 scoped_refptr<MimeRegistryDispatcher> mime_registry_dispatcher_; | 217 scoped_refptr<MimeRegistryDispatcher> mime_registry_dispatcher_; |
222 | 218 |
223 // Holds all the IPC message filters. Since the worker process host is on the | 219 // Holds all the IPC message filters. Since the worker process host is on the |
224 // IO thread, we don't have a IPC::ChannelProxy and so we manage filters | 220 // IO thread, we don't have a IPC::ChannelProxy and so we manage filters |
225 // manually. | 221 // manually. |
226 std::vector<scoped_refptr<BrowserMessageFilter> > filters_; | 222 std::vector<scoped_refptr<BrowserMessageFilter> > filters_; |
227 | 223 |
228 // A callback to create a routing id for the associated worker process. | 224 // A callback to create a routing id for the associated worker process. |
229 scoped_ptr<CallbackWithReturnValue<int>::Type> next_route_id_callback_; | 225 scoped_ptr<CallbackWithReturnValue<int>::Type> next_route_id_callback_; |
230 | 226 |
231 DISALLOW_COPY_AND_ASSIGN(WorkerProcessHost); | 227 DISALLOW_COPY_AND_ASSIGN(WorkerProcessHost); |
232 }; | 228 }; |
233 | 229 |
234 #endif // CHROME_BROWSER_WORKER_HOST_WORKER_PROCESS_HOST_H_ | 230 #endif // CHROME_BROWSER_WORKER_HOST_WORKER_PROCESS_HOST_H_ |
OLD | NEW |