OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. | 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. |
3 * Copyright (C) 2009 Google Inc. All Rights Reserved. | 3 * Copyright (C) 2009 Google Inc. All Rights Reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 void WorkerMessagingProxy::startWorkerGlobalScope(const KURL& scriptURL, const S
tring& userAgent, const String& sourceCode, WorkerThreadStartMode startMode) | 108 void WorkerMessagingProxy::startWorkerGlobalScope(const KURL& scriptURL, const S
tring& userAgent, const String& sourceCode, WorkerThreadStartMode startMode) |
109 { | 109 { |
110 // FIXME: This need to be revisited when we support nested worker one day | 110 // FIXME: This need to be revisited when we support nested worker one day |
111 ASSERT(m_executionContext->isDocument()); | 111 ASSERT(m_executionContext->isDocument()); |
112 Document* document = toDocument(m_executionContext.get()); | 112 Document* document = toDocument(m_executionContext.get()); |
113 | 113 |
114 OwnPtrWillBeRawPtr<WorkerThreadStartupData> startupData = WorkerThreadStartu
pData::create(scriptURL, userAgent, sourceCode, startMode, document->contentSecu
rityPolicy()->deprecatedHeader(), document->contentSecurityPolicy()->deprecatedH
eaderType(), m_workerClients.release()); | 114 OwnPtrWillBeRawPtr<WorkerThreadStartupData> startupData = WorkerThreadStartu
pData::create(scriptURL, userAgent, sourceCode, startMode, document->contentSecu
rityPolicy()->deprecatedHeader(), document->contentSecurityPolicy()->deprecatedH
eaderType(), m_workerClients.release()); |
115 double originTime = document->loader() ? document->loader()->timing()->refer
enceMonotonicTime() : monotonicallyIncreasingTime(); | 115 double originTime = document->loader() ? document->loader()->timing()->refer
enceMonotonicTime() : monotonicallyIncreasingTime(); |
116 | 116 |
117 RefPtr<DedicatedWorkerThread> thread = DedicatedWorkerThread::create(*this,
*m_workerObjectProxy.get(), originTime, startupData.release()); | 117 RefPtr<DedicatedWorkerThread> thread = DedicatedWorkerThread::create(*this,
*m_workerObjectProxy.get(), originTime, startupData.release()); |
| 118 thread->start(); |
118 workerThreadCreated(thread); | 119 workerThreadCreated(thread); |
119 thread->start(); | |
120 InspectorInstrumentation::didStartWorkerGlobalScope(m_executionContext.get()
, this, scriptURL); | 120 InspectorInstrumentation::didStartWorkerGlobalScope(m_executionContext.get()
, this, scriptURL); |
121 } | 121 } |
122 | 122 |
123 void WorkerMessagingProxy::postMessageToWorkerObject(PassRefPtr<SerializedScript
Value> message, PassOwnPtr<MessagePortChannelArray> channels) | 123 void WorkerMessagingProxy::postMessageToWorkerObject(PassRefPtr<SerializedScript
Value> message, PassOwnPtr<MessagePortChannelArray> channels) |
124 { | 124 { |
125 if (!m_workerObject || m_askedToTerminate) | 125 if (!m_workerObject || m_askedToTerminate) |
126 return; | 126 return; |
127 | 127 |
128 OwnPtrWillBeRawPtr<MessagePortArray> ports = MessagePort::entanglePorts(*m_e
xecutionContext.get(), channels); | 128 OwnPtrWillBeRawPtr<MessagePortArray> ports = MessagePort::entanglePorts(*m_e
xecutionContext.get(), channels); |
129 m_workerObject->dispatchEvent(MessageEvent::create(ports.release(), message)
); | 129 m_workerObject->dispatchEvent(MessageEvent::create(ports.release(), message)
); |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 { | 297 { |
298 m_workerThreadHadPendingActivity = hasPendingActivity; | 298 m_workerThreadHadPendingActivity = hasPendingActivity; |
299 } | 299 } |
300 | 300 |
301 bool WorkerMessagingProxy::hasPendingActivity() const | 301 bool WorkerMessagingProxy::hasPendingActivity() const |
302 { | 302 { |
303 return (m_unconfirmedMessageCount || m_workerThreadHadPendingActivity) && !m
_askedToTerminate; | 303 return (m_unconfirmedMessageCount || m_workerThreadHadPendingActivity) && !m
_askedToTerminate; |
304 } | 304 } |
305 | 305 |
306 } // namespace blink | 306 } // namespace blink |
OLD | NEW |