OLD | NEW |
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 #include "content/browser/worker_host/worker_process_host.h" | 5 #include "content/browser/worker_host/worker_process_host.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/base_switches.h" | 10 #include "base/base_switches.h" |
11 #include "base/bind.h" | 11 #include "base/bind.h" |
12 #include "base/bind_helpers.h" | 12 #include "base/bind_helpers.h" |
13 #include "base/callback.h" | 13 #include "base/callback.h" |
14 #include "base/command_line.h" | 14 #include "base/command_line.h" |
15 #include "base/message_loop.h" | 15 #include "base/message_loop.h" |
16 #include "base/string_util.h" | 16 #include "base/string_util.h" |
17 #include "base/utf_string_conversions.h" | 17 #include "base/utf_string_conversions.h" |
18 #include "content/browser/appcache/appcache_dispatcher_host.h" | 18 #include "content/browser/appcache/appcache_dispatcher_host.h" |
19 #include "content/browser/browser_child_process_host.h" | 19 #include "content/browser/browser_child_process_host_impl.h" |
20 #include "content/browser/child_process_security_policy.h" | 20 #include "content/browser/child_process_security_policy.h" |
21 #include "content/browser/debugger/worker_devtools_message_filter.h" | 21 #include "content/browser/debugger/worker_devtools_message_filter.h" |
22 #include "content/browser/file_system/file_system_dispatcher_host.h" | 22 #include "content/browser/file_system/file_system_dispatcher_host.h" |
23 #include "content/browser/mime_registry_message_filter.h" | 23 #include "content/browser/mime_registry_message_filter.h" |
24 #include "content/browser/renderer_host/blob_message_filter.h" | 24 #include "content/browser/renderer_host/blob_message_filter.h" |
25 #include "content/browser/renderer_host/database_message_filter.h" | 25 #include "content/browser/renderer_host/database_message_filter.h" |
26 #include "content/browser/renderer_host/file_utilities_message_filter.h" | 26 #include "content/browser/renderer_host/file_utilities_message_filter.h" |
27 #include "content/browser/renderer_host/render_view_host.h" | 27 #include "content/browser/renderer_host/render_view_host.h" |
28 #include "content/browser/renderer_host/socket_stream_dispatcher_host.h" | 28 #include "content/browser/renderer_host/socket_stream_dispatcher_host.h" |
29 #include "content/browser/resource_context.h" | 29 #include "content/browser/resource_context.h" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 RenderViewHost::FromID(render_process_unique_id, render_view_id); | 84 RenderViewHost::FromID(render_process_unique_id, render_view_id); |
85 if (host) | 85 if (host) |
86 host->delegate()->WorkerCrashed(); | 86 host->delegate()->WorkerCrashed(); |
87 } | 87 } |
88 | 88 |
89 WorkerProcessHost::WorkerProcessHost( | 89 WorkerProcessHost::WorkerProcessHost( |
90 const content::ResourceContext* resource_context) | 90 const content::ResourceContext* resource_context) |
91 : resource_context_(resource_context) { | 91 : resource_context_(resource_context) { |
92 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 92 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
93 DCHECK(resource_context); | 93 DCHECK(resource_context); |
94 process_.reset(new BrowserChildProcessHost( | 94 process_.reset( |
95 content::PROCESS_TYPE_WORKER, this)); | 95 new BrowserChildProcessHostImpl(content::PROCESS_TYPE_WORKER, this)); |
96 } | 96 } |
97 | 97 |
98 WorkerProcessHost::~WorkerProcessHost() { | 98 WorkerProcessHost::~WorkerProcessHost() { |
99 // If we crashed, tell the RenderViewHosts. | 99 // If we crashed, tell the RenderViewHosts. |
100 for (Instances::iterator i = instances_.begin(); i != instances_.end(); ++i) { | 100 for (Instances::iterator i = instances_.begin(); i != instances_.end(); ++i) { |
101 const WorkerDocumentSet::DocumentInfoSet& parents = | 101 const WorkerDocumentSet::DocumentInfoSet& parents = |
102 i->worker_document_set()->documents(); | 102 i->worker_document_set()->documents(); |
103 for (WorkerDocumentSet::DocumentInfoSet::const_iterator parent_iter = | 103 for (WorkerDocumentSet::DocumentInfoSet::const_iterator parent_iter = |
104 parents.begin(); parent_iter != parents.end(); ++parent_iter) { | 104 parents.begin(); parent_iter != parents.end(); ++parent_iter) { |
105 BrowserThread::PostTask( | 105 BrowserThread::PostTask( |
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
641 } | 641 } |
642 } | 642 } |
643 return false; | 643 return false; |
644 } | 644 } |
645 | 645 |
646 WorkerProcessHost::WorkerInstance::FilterInfo | 646 WorkerProcessHost::WorkerInstance::FilterInfo |
647 WorkerProcessHost::WorkerInstance::GetFilter() const { | 647 WorkerProcessHost::WorkerInstance::GetFilter() const { |
648 DCHECK(NumFilters() == 1); | 648 DCHECK(NumFilters() == 1); |
649 return *filters_.begin(); | 649 return *filters_.begin(); |
650 } | 650 } |
OLD | NEW |