| 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 #include "chrome/browser/worker_host/worker_process_host.h" | 5 #include "chrome/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/callback.h" | 10 #include "base/callback.h" |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 switches::kEnableNativeWebWorkers)) { | 110 switches::kEnableNativeWebWorkers)) { |
| 111 cmd_line->AppendSwitch(switches::kEnableNativeWebWorkers); | 111 cmd_line->AppendSwitch(switches::kEnableNativeWebWorkers); |
| 112 } | 112 } |
| 113 | 113 |
| 114 if (CommandLine::ForCurrentProcess()->HasSwitch( | 114 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 115 switches::kWebWorkerShareProcesses)) { | 115 switches::kWebWorkerShareProcesses)) { |
| 116 cmd_line->AppendSwitch(switches::kWebWorkerShareProcesses); | 116 cmd_line->AppendSwitch(switches::kWebWorkerShareProcesses); |
| 117 } | 117 } |
| 118 | 118 |
| 119 if (CommandLine::ForCurrentProcess()->HasSwitch( | 119 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 120 switches::kDisableApplicationCache)) { |
| 121 cmd_line->AppendSwitch(switches::kDisableApplicationCache); |
| 122 } |
| 123 |
| 124 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 120 switches::kDisableDatabases)) { | 125 switches::kDisableDatabases)) { |
| 121 cmd_line->AppendSwitch(switches::kDisableDatabases); | 126 cmd_line->AppendSwitch(switches::kDisableDatabases); |
| 122 } | 127 } |
| 123 | 128 |
| 124 if (CommandLine::ForCurrentProcess()->HasSwitch( | 129 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 125 switches::kEnableLogging)) { | 130 switches::kEnableLogging)) { |
| 126 cmd_line->AppendSwitch(switches::kEnableLogging); | 131 cmd_line->AppendSwitch(switches::kEnableLogging); |
| 127 } | 132 } |
| 128 if (CommandLine::ForCurrentProcess()->HasSwitch( | 133 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 129 switches::kLoggingLevel)) { | 134 switches::kLoggingLevel)) { |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 ChildProcessSecurityPolicy::GetInstance()->Add(id()); | 194 ChildProcessSecurityPolicy::GetInstance()->Add(id()); |
| 190 | 195 |
| 191 return true; | 196 return true; |
| 192 } | 197 } |
| 193 | 198 |
| 194 void WorkerProcessHost::CreateWorker(const WorkerInstance& instance) { | 199 void WorkerProcessHost::CreateWorker(const WorkerInstance& instance) { |
| 195 ChildProcessSecurityPolicy::GetInstance()->GrantRequestURL( | 200 ChildProcessSecurityPolicy::GetInstance()->GrantRequestURL( |
| 196 id(), instance.url()); | 201 id(), instance.url()); |
| 197 | 202 |
| 198 instances_.push_back(instance); | 203 instances_.push_back(instance); |
| 199 Send(new WorkerProcessMsg_CreateWorker(instance.url(), | 204 |
| 200 instance.shared(), | 205 WorkerProcessMsg_CreateWorker_Params params; |
| 201 instance.name(), | 206 params.url = instance.url(); |
| 202 instance.worker_route_id())); | 207 params.is_shared = instance.shared(); |
| 208 params.name = instance.name(); |
| 209 params.route_id = instance.worker_route_id(); |
| 210 params.creator_process_id = 0; // TODO(michaeln): Set these param values. |
| 211 params.creator_appcache_host_id = 0; |
| 212 params.shared_worker_appcache_id = 0; |
| 213 Send(new WorkerProcessMsg_CreateWorker(params)); |
| 203 | 214 |
| 204 UpdateTitle(); | 215 UpdateTitle(); |
| 205 | 216 |
| 206 // Walk all pending senders and let them know the worker has been created | 217 // Walk all pending senders and let them know the worker has been created |
| 207 // (could be more than one in the case where we had to queue up worker | 218 // (could be more than one in the case where we had to queue up worker |
| 208 // creation because the worker process limit was reached). | 219 // creation because the worker process limit was reached). |
| 209 for (WorkerInstance::SenderList::const_iterator i = | 220 for (WorkerInstance::SenderList::const_iterator i = |
| 210 instance.senders().begin(); | 221 instance.senders().begin(); |
| 211 i != instance.senders().end(); ++i) { | 222 i != instance.senders().end(); ++i) { |
| 212 i->first->Send(new ViewMsg_WorkerCreated(i->second)); | 223 i->first->Send(new ViewMsg_WorkerCreated(i->second)); |
| (...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 586 } | 597 } |
| 587 } | 598 } |
| 588 return false; | 599 return false; |
| 589 } | 600 } |
| 590 | 601 |
| 591 WorkerProcessHost::WorkerInstance::SenderInfo | 602 WorkerProcessHost::WorkerInstance::SenderInfo |
| 592 WorkerProcessHost::WorkerInstance::GetSender() const { | 603 WorkerProcessHost::WorkerInstance::GetSender() const { |
| 593 DCHECK(NumSenders() == 1); | 604 DCHECK(NumSenders() == 1); |
| 594 return *senders_.begin(); | 605 return *senders_.begin(); |
| 595 } | 606 } |
| OLD | NEW |