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 |