Changeset 199853 in webkit
- Timestamp:
- Apr 21, 2016 6:03:39 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r199852 r199853 1 2016-04-21 Brady Eidson <beidson@apple.com> 2 3 Modern IDB (Workers): Get the IDBConnectionProxy from the Document to the WorkerGlobalScope. 4 https://bugs.webkit.org/show_bug.cgi?id=156877 5 6 Reviewed by Tim Horton. 7 8 * storage/indexeddb/modern/workers-enable-expected.txt: 9 1 10 2016-04-21 Joseph Pecoraro <pecoraro@apple.com> 2 11 -
trunk/LayoutTests/storage/indexeddb/modern/workers-enable-expected.txt
r199835 r199853 6 6 Starting worker: resources/workers-enable.js 7 7 PASS [Worker] self.indexedDB is defined. 8 FAIL [Worker] self.indexedDB should be non-null. Was null 9 FAIL [Worker] self.indexedDB instanceof IDBFactory should be true. Was false. 8 PASS [Worker] self.indexedDB is non-null. 9 PASS [Worker] self.indexedDB instanceof IDBFactory is true 10 10 PASS successfullyParsed is true 11 11 -
trunk/Source/WebCore/ChangeLog
r199851 r199853 1 2016-04-21 Brady Eidson <beidson@apple.com> 2 3 Modern IDB (Workers): Get the IDBConnectionProxy from the Document to the WorkerGlobalScope. 4 https://bugs.webkit.org/show_bug.cgi?id=156877 5 6 Reviewed by Tim Horton. 7 8 No new tests (Covered by changes to existing tests). 9 10 * workers/WorkerMessagingProxy.cpp: 11 (WebCore::WorkerMessagingProxy::startWorkerGlobalScope): This is the point on the main thread 12 where we can get the IDBConnectionProxy from the Document and pass it down through Worker 13 machinery so it can end up at the WorkerGlobalScope. 14 15 Everything else is this patch is just passing it along as needed. 16 17 And cleaning up header style for neglected headers. 18 19 * workers/DedicatedWorkerGlobalScope.cpp: 20 (WebCore::DedicatedWorkerGlobalScope::create): 21 (WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope): 22 * workers/DedicatedWorkerGlobalScope.h: 23 24 * workers/DedicatedWorkerThread.cpp: 25 (WebCore::DedicatedWorkerThread::DedicatedWorkerThread): 26 (WebCore::DedicatedWorkerThread::createWorkerGlobalScope): 27 * workers/DedicatedWorkerThread.h: 28 (WebCore::DedicatedWorkerThread::create): 29 (WebCore::DedicatedWorkerThread::workerObjectProxy): 30 31 * workers/WorkerGlobalScope.cpp: 32 (WebCore::WorkerGlobalScope::WorkerGlobalScope): 33 (WebCore::WorkerGlobalScope::idbConnectionProxy): 34 * workers/WorkerGlobalScope.h: 35 36 * workers/WorkerThread.cpp: 37 (WebCore::WorkerThread::WorkerThread): 38 (WebCore::WorkerThread::idbConnectionProxy): 39 * workers/WorkerThread.h: 40 (WebCore::WorkerThread::threadID): 41 (WebCore::WorkerThread::runLoop): 42 (WebCore::WorkerThread::workerLoaderProxy): 43 (WebCore::WorkerThread::workerReportingProxy): 44 (WebCore::WorkerThread::getNotificationClient): 45 (WebCore::WorkerThread::setNotificationClient): 46 (WebCore::WorkerThread::workerGlobalScope): 47 1 48 2016-04-21 Anders Carlsson <andersca@apple.com> 2 49 -
trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp
r196242 r199853 1 1 /* 2 2 * Copyright (C) 2009 Google Inc. All rights reserved. 3 * Copyright (C) 2016 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 41 42 namespace WebCore { 42 43 43 Ref<DedicatedWorkerGlobalScope> DedicatedWorkerGlobalScope::create(const URL& url, const String& userAgent, DedicatedWorkerThread& thread, const ContentSecurityPolicyResponseHeaders& contentSecurityPolicyResponseHeaders, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin )44 Ref<DedicatedWorkerGlobalScope> DedicatedWorkerGlobalScope::create(const URL& url, const String& userAgent, DedicatedWorkerThread& thread, const ContentSecurityPolicyResponseHeaders& contentSecurityPolicyResponseHeaders, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin, IDBClient::IDBConnectionProxy* connectionProxy) 44 45 { 45 Ref<DedicatedWorkerGlobalScope> context = adoptRef(*new DedicatedWorkerGlobalScope(url, userAgent, thread, shouldBypassMainWorldContentSecurityPolicy, topOrigin ));46 Ref<DedicatedWorkerGlobalScope> context = adoptRef(*new DedicatedWorkerGlobalScope(url, userAgent, thread, shouldBypassMainWorldContentSecurityPolicy, topOrigin, connectionProxy)); 46 47 if (!shouldBypassMainWorldContentSecurityPolicy) 47 48 context->applyContentSecurityPolicyResponseHeaders(contentSecurityPolicyResponseHeaders); … … 49 50 } 50 51 51 DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope(const URL& url, const String& userAgent, DedicatedWorkerThread& thread, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin )52 : WorkerGlobalScope(url, userAgent, thread, shouldBypassMainWorldContentSecurityPolicy, topOrigin )52 DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope(const URL& url, const String& userAgent, DedicatedWorkerThread& thread, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin, IDBClient::IDBConnectionProxy* connectionProxy) 53 : WorkerGlobalScope(url, userAgent, thread, shouldBypassMainWorldContentSecurityPolicy, topOrigin, connectionProxy) 53 54 { 54 55 } -
trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h
r197563 r199853 1 1 /* 2 2 * Copyright (C) 2009 Google Inc. All rights reserved. 3 * Copyright (C) 2016 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 29 30 */ 30 31 31 #ifndef DedicatedWorkerGlobalScope_h 32 #define DedicatedWorkerGlobalScope_h 32 #pragma once 33 33 34 34 #include "MessagePort.h" … … 43 43 public: 44 44 typedef WorkerGlobalScope Base; 45 static Ref<DedicatedWorkerGlobalScope> create(const URL&, const String& userAgent, DedicatedWorkerThread&, const ContentSecurityPolicyResponseHeaders&, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin );45 static Ref<DedicatedWorkerGlobalScope> create(const URL&, const String& userAgent, DedicatedWorkerThread&, const ContentSecurityPolicyResponseHeaders&, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin, IDBClient::IDBConnectionProxy*); 46 46 virtual ~DedicatedWorkerGlobalScope(); 47 47 … … 61 61 62 62 private: 63 DedicatedWorkerGlobalScope(const URL&, const String& userAgent, DedicatedWorkerThread&, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin );63 DedicatedWorkerGlobalScope(const URL&, const String& userAgent, DedicatedWorkerThread&, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin, IDBClient::IDBConnectionProxy*); 64 64 }; 65 65 66 66 } // namespace WebCore 67 68 #endif // DedicatedWorkerGlobalScope_h -
trunk/Source/WebCore/workers/DedicatedWorkerThread.cpp
r196242 r199853 1 1 /* 2 2 * Copyright (C) 2009 Google Inc. All rights reserved. 3 * Copyright (C) 2016 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 30 31 31 32 #include "config.h" 32 33 33 #include "DedicatedWorkerThread.h" 34 34 … … 39 39 namespace WebCore { 40 40 41 DedicatedWorkerThread::DedicatedWorkerThread(const URL& url, const String& userAgent, const String& sourceCode, WorkerLoaderProxy& workerLoaderProxy, WorkerObjectProxy& workerObjectProxy, WorkerThreadStartMode startMode, const ContentSecurityPolicyResponseHeaders& contentSecurityPolicyResponseHeaders, bool shouldBypassMainWorldContentSecurityPolicy, const SecurityOrigin* topOrigin )42 : WorkerThread(url, userAgent, sourceCode, workerLoaderProxy, workerObjectProxy, startMode, contentSecurityPolicyResponseHeaders, shouldBypassMainWorldContentSecurityPolicy, topOrigin )41 DedicatedWorkerThread::DedicatedWorkerThread(const URL& url, const String& userAgent, const String& sourceCode, WorkerLoaderProxy& workerLoaderProxy, WorkerObjectProxy& workerObjectProxy, WorkerThreadStartMode startMode, const ContentSecurityPolicyResponseHeaders& contentSecurityPolicyResponseHeaders, bool shouldBypassMainWorldContentSecurityPolicy, const SecurityOrigin* topOrigin, IDBClient::IDBConnectionProxy* connectionProxy) 42 : WorkerThread(url, userAgent, sourceCode, workerLoaderProxy, workerObjectProxy, startMode, contentSecurityPolicyResponseHeaders, shouldBypassMainWorldContentSecurityPolicy, topOrigin, connectionProxy) 43 43 , m_workerObjectProxy(workerObjectProxy) 44 44 { … … 51 51 Ref<WorkerGlobalScope> DedicatedWorkerThread::createWorkerGlobalScope(const URL& url, const String& userAgent, const ContentSecurityPolicyResponseHeaders& contentSecurityPolicyResponseHeaders, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin) 52 52 { 53 return DedicatedWorkerGlobalScope::create(url, userAgent, *this, contentSecurityPolicyResponseHeaders, shouldBypassMainWorldContentSecurityPolicy, topOrigin );53 return DedicatedWorkerGlobalScope::create(url, userAgent, *this, contentSecurityPolicyResponseHeaders, shouldBypassMainWorldContentSecurityPolicy, topOrigin, idbConnectionProxy()); 54 54 } 55 55 -
trunk/Source/WebCore/workers/DedicatedWorkerThread.h
r197563 r199853 1 1 /* 2 2 * Copyright (C) 2009 Google Inc. All rights reserved. 3 * Copyright (C) 2016 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 28 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 30 */ 30 #ifndef DedicatedWorkerThread_h 31 # define DedicatedWorkerThread_h31 32 #pragma once 32 33 33 34 #include "WorkerThread.h" … … 35 36 namespace WebCore { 36 37 37 38 38 class ContentSecurityPolicyResponseHeaders; 39 class WorkerObjectProxy; 39 40 40 41 42 43 44 45 46 41 class DedicatedWorkerThread : public WorkerThread { 42 public: 43 template<typename... Args> static Ref<DedicatedWorkerThread> create(Args&&... args) 44 { 45 return adoptRef(*new DedicatedWorkerThread(std::forward<Args>(args)...)); 46 } 47 virtual ~DedicatedWorkerThread(); 47 48 48 49 WorkerObjectProxy& workerObjectProxy() const { return m_workerObjectProxy; } 49 50 50 51 52 51 protected: 52 Ref<WorkerGlobalScope> createWorkerGlobalScope(const URL&, const String& userAgent, const ContentSecurityPolicyResponseHeaders&, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin) override; 53 void runEventLoop() override; 53 54 54 55 DedicatedWorkerThread(const URL&, const String& userAgent, const String& sourceCode, WorkerLoaderProxy&, WorkerObjectProxy&, WorkerThreadStartMode, const ContentSecurityPolicyResponseHeaders&, bool shouldBypassMainWorldContentSecurityPolicy, const SecurityOrigin* topOrigin);55 private: 56 DedicatedWorkerThread(const URL&, const String& userAgent, const String& sourceCode, WorkerLoaderProxy&, WorkerObjectProxy&, WorkerThreadStartMode, const ContentSecurityPolicyResponseHeaders&, bool shouldBypassMainWorldContentSecurityPolicy, const SecurityOrigin* topOrigin, IDBClient::IDBConnectionProxy*); 56 57 57 WorkerObjectProxy& m_workerObjectProxy; 58 }; 58 WorkerObjectProxy& m_workerObjectProxy; 59 }; 60 59 61 } // namespace WebCore 60 61 #endif // DedicatedWorkerThread_h -
trunk/Source/WebCore/workers/WorkerGlobalScope.cpp
r199797 r199853 37 37 #include "Event.h" 38 38 #include "ExceptionCode.h" 39 #include "IDBConnectionProxy.h" 39 40 #include "InspectorConsoleInstrumentation.h" 40 41 #include "MessagePort.h" … … 63 64 namespace WebCore { 64 65 65 WorkerGlobalScope::WorkerGlobalScope(const URL& url, const String& userAgent, WorkerThread& thread, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin )66 WorkerGlobalScope::WorkerGlobalScope(const URL& url, const String& userAgent, WorkerThread& thread, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin, IDBClient::IDBConnectionProxy* connectionProxy) 66 67 : m_url(url) 67 68 , m_userAgent(userAgent) … … 72 73 , m_eventQueue(*this) 73 74 , m_topOrigin(topOrigin) 75 #if ENABLE(INDEXED_DATABASE) 76 , m_connectionProxy(connectionProxy) 77 #endif 74 78 { 75 79 setSecurityOriginPolicy(SecurityOriginPolicy::create(SecurityOrigin::create(url))); … … 116 120 IDBClient::IDBConnectionProxy* WorkerGlobalScope::idbConnectionProxy() 117 121 { 118 // FIXME: Implement 119 122 #if ENABLE(INDEXED_DATABASE_IN_WORKERS) 123 return m_connectionProxy.get(); 124 #else 120 125 return nullptr; 126 #endif 121 127 } 122 128 #endif // ENABLE(INDEXED_DATABASE) -
trunk/Source/WebCore/workers/WorkerGlobalScope.h
r199797 r199853 53 53 class WorkerNavigator; 54 54 class WorkerThread; 55 56 namespace IDBClient { 57 class IDBConnectionProxy; 58 } 55 59 56 60 class WorkerGlobalScope : public RefCounted<WorkerGlobalScope>, public Supplementable<WorkerGlobalScope>, public ScriptExecutionContext, public EventTargetWithInlineData { … … 141 145 142 146 protected: 143 WorkerGlobalScope(const URL&, const String& userAgent, WorkerThread&, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin );147 WorkerGlobalScope(const URL&, const String& userAgent, WorkerThread&, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin, IDBClient::IDBConnectionProxy*); 144 148 void applyContentSecurityPolicyResponseHeaders(const ContentSecurityPolicyResponseHeaders&); 145 149 … … 178 182 179 183 RefPtr<SecurityOrigin> m_topOrigin; 184 185 #if ENABLE(INDEXED_DATABASE) 186 RefPtr<IDBClient::IDBConnectionProxy> m_connectionProxy; 187 #endif 180 188 }; 181 189 -
trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp
r196242 r199853 1 1 /* 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved.2 * Copyright (C) 2008, 2016 Apple Inc. All Rights Reserved. 3 3 * Copyright (C) 2009 Google Inc. All Rights Reserved. 4 4 * … … 78 78 ASSERT(m_scriptExecutionContext); 79 79 Document& document = downcast<Document>(*m_scriptExecutionContext); 80 RefPtr<DedicatedWorkerThread> thread = DedicatedWorkerThread::create(scriptURL, userAgent, sourceCode, *this, *this, startMode, contentSecurityPolicyResponseHeaders, shouldBypassMainWorldContentSecurityPolicy, document.topOrigin()); 80 81 RefPtr<DedicatedWorkerThread> thread = DedicatedWorkerThread::create(scriptURL, userAgent, sourceCode, *this, *this, startMode, contentSecurityPolicyResponseHeaders, shouldBypassMainWorldContentSecurityPolicy, document.topOrigin(), document.idbConnectionProxy()); 81 82 workerThreadCreated(thread); 82 83 thread->start(); -
trunk/Source/WebCore/workers/WorkerThread.cpp
r196242 r199853 31 31 #include "ContentSecurityPolicyResponseHeaders.h" 32 32 #include "DedicatedWorkerGlobalScope.h" 33 #include "IDBConnectionProxy.h" 33 34 #include "ScriptSourceCode.h" 34 35 #include "SecurityOrigin.h" … … 93 94 } 94 95 95 WorkerThread::WorkerThread(const URL& scriptURL, const String& userAgent, const String& sourceCode, WorkerLoaderProxy& workerLoaderProxy, WorkerReportingProxy& workerReportingProxy, WorkerThreadStartMode startMode, const ContentSecurityPolicyResponseHeaders& contentSecurityPolicyResponseHeaders, bool shouldBypassMainWorldContentSecurityPolicy, const SecurityOrigin* topOrigin )96 WorkerThread::WorkerThread(const URL& scriptURL, const String& userAgent, const String& sourceCode, WorkerLoaderProxy& workerLoaderProxy, WorkerReportingProxy& workerReportingProxy, WorkerThreadStartMode startMode, const ContentSecurityPolicyResponseHeaders& contentSecurityPolicyResponseHeaders, bool shouldBypassMainWorldContentSecurityPolicy, const SecurityOrigin* topOrigin, IDBClient::IDBConnectionProxy* connectionProxy) 96 97 : m_threadID(0) 97 98 , m_workerLoaderProxy(workerLoaderProxy) … … 100 101 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) 101 102 , m_notificationClient(0) 103 #endif 104 #if ENABLE(INDEXED_DATABASE) 105 , m_idbConnectionProxy(connectionProxy) 102 106 #endif 103 107 { … … 234 238 } 235 239 240 IDBClient::IDBConnectionProxy* WorkerThread::idbConnectionProxy() 241 { 242 #if ENABLE(INDEXED_DATABASE) 243 return m_idbConnectionProxy.get(); 244 #else 245 return nullptr; 246 #endif 247 } 248 236 249 } // namespace WebCore -
trunk/Source/WebCore/workers/WorkerThread.h
r196242 r199853 1 1 /* 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved.2 * Copyright (C) 2008, 2016 Apple Inc. All Rights Reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 25 25 */ 26 26 27 #ifndef WorkerThread_h 28 #define WorkerThread_h 27 #pragma once 29 28 30 29 #include "WorkerRunLoop.h" … … 36 35 namespace WebCore { 37 36 38 class ContentSecurityPolicyResponseHeaders; 39 class URL; 40 class NotificationClient; 41 class SecurityOrigin; 42 class WorkerGlobalScope; 43 class WorkerLoaderProxy; 44 class WorkerReportingProxy; 45 struct WorkerThreadStartupData; 37 class ContentSecurityPolicyResponseHeaders; 38 class URL; 39 class NotificationClient; 40 class SecurityOrigin; 41 class WorkerGlobalScope; 42 class WorkerLoaderProxy; 43 class WorkerReportingProxy; 46 44 47 45 enum WorkerThreadStartMode { DontPauseWorkerGlobalScopeOnStart, PauseWorkerGlobalScopeOnStart }; 48 46 49 class WorkerThread : public RefCounted<WorkerThread>{50 public: 51 virtual ~WorkerThread(); 47 namespace IDBClient { 48 class IDBConnectionProxy; 49 } 52 50 53 bool start(); 54 void stop(); 51 struct WorkerThreadStartupData; 55 52 56 ThreadIdentifier threadID() const { return m_threadID; } 57 WorkerRunLoop& runLoop() { return m_runLoop; } 58 WorkerLoaderProxy& workerLoaderProxy() const { return m_workerLoaderProxy; } 59 WorkerReportingProxy& workerReportingProxy() const { return m_workerReportingProxy; } 53 class WorkerThread : public RefCounted<WorkerThread> { 54 public: 55 virtual ~WorkerThread(); 60 56 61 // Number of active worker threads. 62 WEBCORE_EXPORT static unsigned workerThreadCount(); 63 static void releaseFastMallocFreeMemoryInAllThreads(); 57 bool start(); 58 void stop(); 59 60 ThreadIdentifier threadID() const { return m_threadID; } 61 WorkerRunLoop& runLoop() { return m_runLoop; } 62 WorkerLoaderProxy& workerLoaderProxy() const { return m_workerLoaderProxy; } 63 WorkerReportingProxy& workerReportingProxy() const { return m_workerReportingProxy; } 64 65 // Number of active worker threads. 66 WEBCORE_EXPORT static unsigned workerThreadCount(); 67 static void releaseFastMallocFreeMemoryInAllThreads(); 64 68 65 69 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) 66 67 70 NotificationClient* getNotificationClient() { return m_notificationClient; } 71 void setNotificationClient(NotificationClient* client) { m_notificationClient = client; } 68 72 #endif 69 73 70 71 WorkerThread(const URL&, const String& userAgent, const String& sourceCode, WorkerLoaderProxy&, WorkerReportingProxy&, WorkerThreadStartMode, const ContentSecurityPolicyResponseHeaders&, bool shouldBypassMainWorldContentSecurityPolicy, const SecurityOrigin* topOrigin);74 protected: 75 WorkerThread(const URL&, const String& userAgent, const String& sourceCode, WorkerLoaderProxy&, WorkerReportingProxy&, WorkerThreadStartMode, const ContentSecurityPolicyResponseHeaders&, bool shouldBypassMainWorldContentSecurityPolicy, const SecurityOrigin* topOrigin, IDBClient::IDBConnectionProxy*); 72 76 73 74 77 // Factory method for creating a new worker context for the thread. 78 virtual Ref<WorkerGlobalScope> createWorkerGlobalScope(const URL&, const String& userAgent, const ContentSecurityPolicyResponseHeaders&, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin) = 0; 75 79 76 77 80 // Executes the event loop for the worker thread. Derived classes can override to perform actions before/after entering the event loop. 81 virtual void runEventLoop(); 78 82 79 83 WorkerGlobalScope* workerGlobalScope() { return m_workerGlobalScope.get(); } 80 84 81 private: 82 // Static function executed as the core routine on the new thread. Passed a pointer to a WorkerThread object. 83 static void workerThreadStart(void*); 84 void workerThread(); 85 IDBClient::IDBConnectionProxy* idbConnectionProxy(); 85 86 86 ThreadIdentifier m_threadID; 87 WorkerRunLoop m_runLoop;88 WorkerLoaderProxy& m_workerLoaderProxy;89 WorkerReportingProxy& m_workerReportingProxy;87 private: 88 // Static function executed as the core routine on the new thread. Passed a pointer to a WorkerThread object. 89 static void workerThreadStart(void*); 90 void workerThread(); 90 91 91 RefPtr<WorkerGlobalScope> m_workerGlobalScope; 92 Lock m_threadCreationMutex; 92 ThreadIdentifier m_threadID; 93 WorkerRunLoop m_runLoop; 94 WorkerLoaderProxy& m_workerLoaderProxy; 95 WorkerReportingProxy& m_workerReportingProxy; 93 96 94 std::unique_ptr<WorkerThreadStartupData> m_startupData; 97 RefPtr<WorkerGlobalScope> m_workerGlobalScope; 98 Lock m_threadCreationMutex; 99 100 std::unique_ptr<WorkerThreadStartupData> m_startupData; 95 101 96 102 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) 97 103 NotificationClient* m_notificationClient; 98 104 #endif 99 }; 105 106 #if ENABLE(INDEXED_DATABASE) 107 RefPtr<IDBClient::IDBConnectionProxy> m_idbConnectionProxy; 108 #endif 109 }; 100 110 101 111 } // namespace WebCore 102 112 103 #endif // WorkerThread_h104
Note: See TracChangeset
for help on using the changeset viewer.