#include "content/browser/devtools/devtools_manager_impl.h"
#include "content/browser/devtools/devtools_protocol.h"
#include "content/browser/devtools/devtools_protocol_constants.h"
+#include "content/browser/devtools/embedded_worker_devtools_manager.h"
#include "content/browser/devtools/ipc_devtools_agent_host.h"
#include "content/browser/devtools/worker_devtools_message_filter.h"
#include "content/browser/worker_host/worker_service_impl.h"
scoped_refptr<DevToolsAgentHost> DevToolsAgentHost::GetForWorker(
int worker_process_id,
int worker_route_id) {
- return WorkerDevToolsManager::GetDevToolsAgentHostForWorker(
- worker_process_id,
- worker_route_id);
-}
-
-// Called on the UI thread.
-// static
-bool DevToolsAgentHost::HasForWorker(
- int worker_process_id,
- int worker_route_id) {
- return WorkerDevToolsManager::HasDevToolsAgentHostForWorker(
- worker_process_id,
- worker_route_id);
+ if (WorkerService::EmbeddedSharedWorkerEnabled()) {
+ return EmbeddedWorkerDevToolsManager::GetInstance()
+ ->GetDevToolsAgentHostForWorker(worker_process_id, worker_route_id);
+ } else {
+ return WorkerDevToolsManager::GetDevToolsAgentHostForWorker(
+ worker_process_id, worker_route_id);
+ }
}
namespace {
} // namespace
struct WorkerDevToolsManager::TerminatedInspectedWorker {
- TerminatedInspectedWorker(WorkerId id, const GURL& url, const string16& name)
+ TerminatedInspectedWorker(WorkerId id,
+ const GURL& url,
+ const base::string16& name)
: old_worker_id(id),
worker_url(url),
worker_name(name) {}
WorkerId old_worker_id;
GURL worker_url;
- string16 worker_name;
+ base::string16 worker_name;
};
struct WorkerDevToolsManager::InspectedWorker {
InspectedWorker(WorkerProcessHost* host, int route_id, const GURL& url,
- const string16& name)
+ const base::string16& name)
: host(host),
route_id(route_id),
worker_url(url),
WorkerProcessHost* const host;
int const route_id;
GURL worker_url;
- string16 worker_name;
+ base::string16 worker_name;
};
// static
WorkerDevToolsManager* WorkerDevToolsManager::GetInstance() {
+ DCHECK(!WorkerService::EmbeddedSharedWorkerEnabled());
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
return Singleton<WorkerDevToolsManager>::get();
}
DevToolsAgentHost* WorkerDevToolsManager::GetDevToolsAgentHostForWorker(
int worker_process_id,
int worker_route_id) {
+ DCHECK(!WorkerService::EmbeddedSharedWorkerEnabled());
WorkerId id(worker_process_id, worker_route_id);
AgentHosts::iterator it = g_agent_map.Get().find(id);
if (it == g_agent_map.Get().end())
return it->second;
}
-// static
-bool WorkerDevToolsManager::HasDevToolsAgentHostForWorker(
- int worker_process_id,
- int worker_route_id) {
- WorkerId id(worker_process_id, worker_route_id);
- return g_agent_map.Get().find(id) != g_agent_map.Get().end();
-}
-
WorkerDevToolsManager::WorkerDevToolsManager() {
}
WorkerDevToolsManager::~WorkerDevToolsManager() {
}
-void WorkerDevToolsManager::WorkerCreated(
+bool WorkerDevToolsManager::WorkerCreated(
WorkerProcessHost* worker,
const WorkerProcessHost::WorkerInstance& instance) {
for (TerminatedInspectedWorkers::iterator it = terminated_workers_.begin();
if (instance.Matches(it->worker_url, it->worker_name,
instance.partition(),
instance.resource_context())) {
- worker->Send(new DevToolsAgentMsg_PauseWorkerContextOnStart(
- instance.worker_route_id()));
WorkerId new_worker_id(worker->GetData().id, instance.worker_route_id());
paused_workers_[new_worker_id] = it->old_worker_id;
terminated_workers_.erase(it);
- return;
+ return true;
}
}
+ return false;
}
void WorkerDevToolsManager::WorkerDestroyed(