| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/service_worker/embedded_worker_instance.h" | 5 #include "content/browser/service_worker/embedded_worker_instance.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 347 } | 347 } |
| 348 thread_id_ = thread_id; | 348 thread_id_ = thread_id; |
| 349 FOR_EACH_OBSERVER(Listener, listener_list_, OnScriptLoaded()); | 349 FOR_EACH_OBSERVER(Listener, listener_list_, OnScriptLoaded()); |
| 350 } | 350 } |
| 351 | 351 |
| 352 void EmbeddedWorkerInstance::OnScriptLoadFailed() { | 352 void EmbeddedWorkerInstance::OnScriptLoadFailed() { |
| 353 } | 353 } |
| 354 | 354 |
| 355 void EmbeddedWorkerInstance::OnScriptEvaluated(bool success) { | 355 void EmbeddedWorkerInstance::OnScriptEvaluated(bool success) { |
| 356 starting_phase_ = SCRIPT_EVALUATED; | 356 starting_phase_ = SCRIPT_EVALUATED; |
| 357 if (start_callback_.is_null()) { |
| 358 DVLOG(1) << "Received unexpected OnScriptEvaluated message."; |
| 359 return; |
| 360 } |
| 357 if (success && !start_timing_.is_null()) { | 361 if (success && !start_timing_.is_null()) { |
| 358 UMA_HISTOGRAM_TIMES("EmbeddedWorkerInstance.ScriptEvaluate", | 362 UMA_HISTOGRAM_TIMES("EmbeddedWorkerInstance.ScriptEvaluate", |
| 359 base::TimeTicks::Now() - start_timing_); | 363 base::TimeTicks::Now() - start_timing_); |
| 360 } | 364 } |
| 361 DCHECK(!start_callback_.is_null()); | |
| 362 start_callback_.Run(success ? SERVICE_WORKER_OK | 365 start_callback_.Run(success ? SERVICE_WORKER_OK |
| 363 : SERVICE_WORKER_ERROR_START_WORKER_FAILED); | 366 : SERVICE_WORKER_ERROR_SCRIPT_EVALUATE_FAILED); |
| 364 start_callback_.Reset(); | 367 start_callback_.Reset(); |
| 365 } | 368 } |
| 366 | 369 |
| 367 void EmbeddedWorkerInstance::OnStarted() { | 370 void EmbeddedWorkerInstance::OnStarted() { |
| 368 // Stop is requested before OnStarted is sent back from the worker. | 371 // Stop is requested before OnStarted is sent back from the worker. |
| 369 if (status_ == STOPPING) | 372 if (status_ == STOPPING) |
| 370 return; | 373 return; |
| 371 DCHECK(status_ == STARTING); | 374 DCHECK(status_ == STARTING); |
| 372 status_ = RUNNING; | 375 status_ = RUNNING; |
| 373 FOR_EACH_OBSERVER(Listener, listener_list_, OnStarted()); | 376 FOR_EACH_OBSERVER(Listener, listener_list_, OnStarted()); |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 484 case SCRIPT_EVALUATED: | 487 case SCRIPT_EVALUATED: |
| 485 return "Script evaluated"; | 488 return "Script evaluated"; |
| 486 case STARTING_PHASE_MAX_VALUE: | 489 case STARTING_PHASE_MAX_VALUE: |
| 487 NOTREACHED(); | 490 NOTREACHED(); |
| 488 } | 491 } |
| 489 NOTREACHED() << phase; | 492 NOTREACHED() << phase; |
| 490 return std::string(); | 493 return std::string(); |
| 491 } | 494 } |
| 492 | 495 |
| 493 } // namespace content | 496 } // namespace content |
| OLD | NEW |