| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 #include "content/browser/blob_storage/chrome_blob_storage_context.h" | 29 #include "content/browser/blob_storage/chrome_blob_storage_context.h" |
| 30 #include "content/browser/cache_storage/cache_storage_cache.h" | 30 #include "content/browser/cache_storage/cache_storage_cache.h" |
| 31 #include "content/browser/cache_storage/cache_storage_cache_handle.h" | 31 #include "content/browser/cache_storage/cache_storage_cache_handle.h" |
| 32 #include "content/browser/cache_storage/cache_storage_context_impl.h" | 32 #include "content/browser/cache_storage/cache_storage_context_impl.h" |
| 33 #include "content/browser/cache_storage/cache_storage_manager.h" | 33 #include "content/browser/cache_storage/cache_storage_manager.h" |
| 34 #include "content/browser/memory/memory_coordinator_impl.h" | 34 #include "content/browser/memory/memory_coordinator_impl.h" |
| 35 #include "content/browser/service_worker/embedded_worker_instance.h" | 35 #include "content/browser/service_worker/embedded_worker_instance.h" |
| 36 #include "content/browser/service_worker/embedded_worker_registry.h" | 36 #include "content/browser/service_worker/embedded_worker_registry.h" |
| 37 #include "content/browser/service_worker/embedded_worker_status.h" | 37 #include "content/browser/service_worker/embedded_worker_status.h" |
| 38 #include "content/browser/service_worker/service_worker_context_core.h" | 38 #include "content/browser/service_worker/service_worker_context_core.h" |
| 39 #include "content/browser/service_worker/service_worker_context_observer.h" | 39 #include "content/browser/service_worker/service_worker_context_core_observer.h" |
| 40 #include "content/browser/service_worker/service_worker_context_wrapper.h" | 40 #include "content/browser/service_worker/service_worker_context_wrapper.h" |
| 41 #include "content/browser/service_worker/service_worker_fetch_dispatcher.h" | 41 #include "content/browser/service_worker/service_worker_fetch_dispatcher.h" |
| 42 #include "content/browser/service_worker/service_worker_registration.h" | 42 #include "content/browser/service_worker/service_worker_registration.h" |
| 43 #include "content/browser/service_worker/service_worker_test_utils.h" | 43 #include "content/browser/service_worker/service_worker_test_utils.h" |
| 44 #include "content/browser/service_worker/service_worker_version.h" | 44 #include "content/browser/service_worker/service_worker_version.h" |
| 45 #include "content/browser/web_contents/web_contents_impl.h" | 45 #include "content/browser/web_contents/web_contents_impl.h" |
| 46 #include "content/common/service_worker/service_worker_messages.h" | 46 #include "content/common/service_worker/service_worker_messages.h" |
| 47 #include "content/common/service_worker/service_worker_status_code.h" | 47 #include "content/common/service_worker/service_worker_status_code.h" |
| 48 #include "content/common/service_worker/service_worker_types.h" | 48 #include "content/common/service_worker/service_worker_types.h" |
| 49 #include "content/public/browser/browser_context.h" | 49 #include "content/public/browser/browser_context.h" |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 } | 167 } |
| 168 | 168 |
| 169 void ExpectResultAndRun(bool expected, | 169 void ExpectResultAndRun(bool expected, |
| 170 const base::Closure& continuation, | 170 const base::Closure& continuation, |
| 171 bool actual) { | 171 bool actual) { |
| 172 EXPECT_EQ(expected, actual); | 172 EXPECT_EQ(expected, actual); |
| 173 continuation.Run(); | 173 continuation.Run(); |
| 174 } | 174 } |
| 175 | 175 |
| 176 class WorkerActivatedObserver | 176 class WorkerActivatedObserver |
| 177 : public ServiceWorkerContextObserver, | 177 : public ServiceWorkerContextCoreObserver, |
| 178 public base::RefCountedThreadSafe<WorkerActivatedObserver> { | 178 public base::RefCountedThreadSafe<WorkerActivatedObserver> { |
| 179 public: | 179 public: |
| 180 explicit WorkerActivatedObserver(ServiceWorkerContextWrapper* context) | 180 explicit WorkerActivatedObserver(ServiceWorkerContextWrapper* context) |
| 181 : context_(context) {} | 181 : context_(context) {} |
| 182 void Init() { | 182 void Init() { |
| 183 RunOnIOThread(base::Bind(&WorkerActivatedObserver::InitOnIOThread, this)); | 183 RunOnIOThread(base::Bind(&WorkerActivatedObserver::InitOnIOThread, this)); |
| 184 } | 184 } |
| 185 // ServiceWorkerContextObserver overrides. | 185 // ServiceWorkerContextCoreObserver overrides. |
| 186 void OnVersionStateChanged(int64_t version_id, | 186 void OnVersionStateChanged(int64_t version_id, |
| 187 ServiceWorkerVersion::Status) override { | 187 ServiceWorkerVersion::Status) override { |
| 188 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 188 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 189 const ServiceWorkerVersion* version = context_->GetLiveVersion(version_id); | 189 const ServiceWorkerVersion* version = context_->GetLiveVersion(version_id); |
| 190 if (version->status() == ServiceWorkerVersion::ACTIVATED) { | 190 if (version->status() == ServiceWorkerVersion::ACTIVATED) { |
| 191 context_->RemoveObserver(this); | 191 context_->RemoveObserver(this); |
| 192 BrowserThread::PostTask(BrowserThread::UI, | 192 BrowserThread::PostTask(BrowserThread::UI, |
| 193 FROM_HERE, | 193 FROM_HERE, |
| 194 base::Bind(&WorkerActivatedObserver::Quit, this)); | 194 base::Bind(&WorkerActivatedObserver::Quit, this)); |
| 195 } | 195 } |
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 } | 513 } |
| 514 | 514 |
| 515 // These parameters must be accessed on the UI thread. | 515 // These parameters must be accessed on the UI thread. |
| 516 std::vector<base::string16> messages_; | 516 std::vector<base::string16> messages_; |
| 517 size_t expected_message_count_ = 0; | 517 size_t expected_message_count_ = 0; |
| 518 base::Closure quit_; | 518 base::Closure quit_; |
| 519 }; | 519 }; |
| 520 | 520 |
| 521 // Listens to console messages on ServiceWorkerContextWrapper. | 521 // Listens to console messages on ServiceWorkerContextWrapper. |
| 522 class ConsoleMessageContextObserver | 522 class ConsoleMessageContextObserver |
| 523 : public ServiceWorkerContextObserver, | 523 : public ServiceWorkerContextCoreObserver, |
| 524 public base::RefCountedThreadSafe<ConsoleMessageContextObserver> { | 524 public base::RefCountedThreadSafe<ConsoleMessageContextObserver> { |
| 525 public: | 525 public: |
| 526 explicit ConsoleMessageContextObserver(ServiceWorkerContextWrapper* context) | 526 explicit ConsoleMessageContextObserver(ServiceWorkerContextWrapper* context) |
| 527 : context_(context) {} | 527 : context_(context) {} |
| 528 void Init() { context_->AddObserver(this); } | 528 void Init() { context_->AddObserver(this); } |
| 529 | 529 |
| 530 // ServiceWorkerContextObserver overrides. | 530 // ServiceWorkerContextCoreObserver overrides. |
| 531 void OnReportConsoleMessage(int64_t version_id, | 531 void OnReportConsoleMessage(int64_t version_id, |
| 532 int process_id, | 532 int process_id, |
| 533 int thread_id, | 533 int thread_id, |
| 534 const ConsoleMessage& console_message) override { | 534 const ConsoleMessage& console_message) override { |
| 535 messages_.push_back(console_message.message); | 535 messages_.push_back(console_message.message); |
| 536 if (messages_.size() == expected_message_count_) { | 536 if (messages_.size() == expected_message_count_) { |
| 537 run_loop_.Quit(); | 537 run_loop_.Quit(); |
| 538 } | 538 } |
| 539 } | 539 } |
| 540 | 540 |
| (...skipping 2489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3030 // effect in CanSuspendRenderer(). | 3030 // effect in CanSuspendRenderer(). |
| 3031 shell()->web_contents()->WasHidden(); | 3031 shell()->web_contents()->WasHidden(); |
| 3032 EXPECT_TRUE(rph->IsProcessBackgrounded()); | 3032 EXPECT_TRUE(rph->IsProcessBackgrounded()); |
| 3033 | 3033 |
| 3034 // The process which has service worker thread shouldn't be suspended. | 3034 // The process which has service worker thread shouldn't be suspended. |
| 3035 EXPECT_FALSE(memory_coordinator->CanSuspendRenderer(render_process_id)); | 3035 EXPECT_FALSE(memory_coordinator->CanSuspendRenderer(render_process_id)); |
| 3036 } | 3036 } |
| 3037 #endif | 3037 #endif |
| 3038 | 3038 |
| 3039 } // namespace content | 3039 } // namespace content |
| OLD | NEW |