#include <map>
#include <string>
+#include "base/debug/trace_event.h"
#include "base/lazy_instance.h"
#include "base/message_loop/message_loop_proxy.h"
#include "base/pickle.h"
sender_(ChildThread::current()->thread_safe_sender()),
main_thread_proxy_(base::MessageLoopProxy::current()),
weak_factory_(this) {
+ TRACE_EVENT_ASYNC_BEGIN0("ServiceWorker",
+ "EmbeddedWorkerContextClient::StartingWorkerContext",
+ this);
+ TRACE_EVENT_ASYNC_STEP_INTO0(
+ "ServiceWorker",
+ "EmbeddedWorkerContextClient::StartingWorkerContext",
+ this,
+ "PrepareWorker");
}
EmbeddedWorkerContextClient::~EmbeddedWorkerContextClient() {
script_context_->GetClientDocuments(callbacks);
}
+void EmbeddedWorkerContextClient::workerReadyForInspection() {
+ Send(new EmbeddedWorkerHostMsg_WorkerReadyForInspection(embedded_worker_id_));
+}
+
void EmbeddedWorkerContextClient::workerContextFailedToStart() {
DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
DCHECK(!script_context_);
void EmbeddedWorkerContextClient::workerContextStarted(
blink::WebServiceWorkerContextProxy* proxy) {
- DCHECK(!worker_task_runner_);
+ DCHECK(!worker_task_runner_.get());
worker_task_runner_ = new WorkerThreadTaskRunner(
WorkerTaskRunner::Instance()->CurrentWorkerId());
DCHECK_NE(0, WorkerTaskRunner::Instance()->CurrentWorkerId());
g_worker_client_tls.Pointer()->Set(this);
script_context_.reset(new ServiceWorkerScriptContext(this, proxy));
- Send(new EmbeddedWorkerHostMsg_WorkerScriptLoaded(embedded_worker_id_));
+ Send(new EmbeddedWorkerHostMsg_WorkerScriptLoaded(
+ embedded_worker_id_,
+ WorkerTaskRunner::Instance()->CurrentWorkerId()));
// Schedule a task to send back WorkerStarted asynchronously,
// so that at the time we send it we can be sure that the worker
FROM_HERE,
base::Bind(&EmbeddedWorkerContextClient::SendWorkerStarted,
weak_factory_.GetWeakPtr()));
+ TRACE_EVENT_ASYNC_STEP_INTO0(
+ "ServiceWorker",
+ "EmbeddedWorkerContextClient::StartingWorkerContext",
+ this,
+ "ExecuteScript");
}
void EmbeddedWorkerContextClient::willDestroyWorkerContext() {
int request_id,
const blink::WebServiceWorkerResponse& web_response) {
DCHECK(script_context_);
- std::map<std::string, std::string> headers;
+ ServiceWorkerHeaderMap headers;
const blink::WebVector<blink::WebString>& header_keys =
web_response.getHeaderKeys();
for (size_t i = 0; i < header_keys.size(); ++i) {
void EmbeddedWorkerContextClient::SendWorkerStarted() {
DCHECK(worker_task_runner_->RunsTasksOnCurrentThread());
- Send(new EmbeddedWorkerHostMsg_WorkerStarted(
- WorkerTaskRunner::Instance()->CurrentWorkerId(),
- embedded_worker_id_));
+ TRACE_EVENT_ASYNC_END0("ServiceWorker",
+ "EmbeddedWorkerContextClient::StartingWorkerContext",
+ this);
+ Send(new EmbeddedWorkerHostMsg_WorkerStarted(embedded_worker_id_));
}
} // namespace content