OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 void ServiceWorker::stop() | 231 void ServiceWorker::stop() |
232 { | 232 { |
233 setProxyState(ContextStopped); | 233 setProxyState(ContextStopped); |
234 } | 234 } |
235 | 235 |
236 PassRefPtrWillBeRawPtr<ServiceWorker> ServiceWorker::getOrCreate(ExecutionContex
t* executionContext, WebType* outerWorker) | 236 PassRefPtrWillBeRawPtr<ServiceWorker> ServiceWorker::getOrCreate(ExecutionContex
t* executionContext, WebType* outerWorker) |
237 { | 237 { |
238 if (!outerWorker) | 238 if (!outerWorker) |
239 return nullptr; | 239 return nullptr; |
240 | 240 |
241 WebServiceWorkerProxy* proxy = outerWorker->proxy(); | 241 ServiceWorker* existingServiceWorker = static_cast<ServiceWorker*>(outerWork
er->proxy()); |
242 ServiceWorker* existingServiceWorker = proxy ? proxy->unwrap() : 0; | |
243 if (existingServiceWorker) { | 242 if (existingServiceWorker) { |
244 ASSERT(existingServiceWorker->executionContext() == executionContext); | 243 ASSERT(existingServiceWorker->executionContext() == executionContext); |
245 return existingServiceWorker; | 244 return existingServiceWorker; |
246 } | 245 } |
247 | 246 |
248 RefPtrWillBeRawPtr<ServiceWorker> worker = adoptRefWillBeNoop(new ServiceWor
ker(executionContext, adoptPtr(outerWorker))); | 247 RefPtrWillBeRawPtr<ServiceWorker> worker = adoptRefWillBeNoop(new ServiceWor
ker(executionContext, adoptPtr(outerWorker))); |
249 worker->suspendIfNeeded(); | 248 worker->suspendIfNeeded(); |
250 return worker.release(); | 249 return worker.release(); |
251 } | 250 } |
252 | 251 |
253 ServiceWorker::ServiceWorker(ExecutionContext* executionContext, PassOwnPtr<WebS
erviceWorker> worker) | 252 ServiceWorker::ServiceWorker(ExecutionContext* executionContext, PassOwnPtr<WebS
erviceWorker> worker) |
254 : AbstractWorker(executionContext) | 253 : AbstractWorker(executionContext) |
255 , WebServiceWorkerProxy(this) | |
256 , m_outerWorker(worker) | 254 , m_outerWorker(worker) |
257 , m_proxyState(Initial) | 255 , m_proxyState(Initial) |
258 { | 256 { |
259 ASSERT(m_outerWorker); | 257 ASSERT(m_outerWorker); |
260 m_outerWorker->setProxy(this); | 258 m_outerWorker->setProxy(this); |
261 } | 259 } |
262 | 260 |
263 } // namespace blink | 261 } // namespace blink |
OLD | NEW |