Changeset 201675 in webkit
- Timestamp:
- Jun 3, 2016 6:31:47 PM (8 years ago)
- Location:
- trunk/Source
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r201673 r201675 1 2016-06-03 Chris Dumez <cdumez@apple.com> 2 3 Modernize a few more lambda captures 4 https://bugs.webkit.org/show_bug.cgi?id=158370 5 6 Reviewed by Brady Eidson. 7 8 * workers/DedicatedWorkerGlobalScope.cpp: 9 (WebCore::DedicatedWorkerGlobalScope::postMessage): 10 * workers/DedicatedWorkerGlobalScope.h: 11 * workers/Worker.cpp: 12 (WebCore::Worker::postMessage): 13 * workers/Worker.h: 14 * workers/WorkerEventQueue.cpp: 15 (WebCore::WorkerEventQueue::enqueueEvent): 16 * workers/WorkerGlobalScopeProxy.h: 17 * workers/WorkerMessagingProxy.cpp: 18 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject): 19 (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope): 20 * workers/WorkerMessagingProxy.h: 21 * workers/WorkerObjectProxy.h: 22 1 23 2016-06-03 Commit Queue <commit-queue@webkit.org> 2 24 -
trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp
r199853 r201675 64 64 } 65 65 66 void DedicatedWorkerGlobalScope::postMessage( PassRefPtr<SerializedScriptValue>message, MessagePort* port, ExceptionCode& ec)66 void DedicatedWorkerGlobalScope::postMessage(RefPtr<SerializedScriptValue>&& message, MessagePort* port, ExceptionCode& ec) 67 67 { 68 68 MessagePortArray ports; 69 69 if (port) 70 70 ports.append(port); 71 postMessage( message, &ports, ec);71 postMessage(WTFMove(message), &ports, ec); 72 72 } 73 73 74 void DedicatedWorkerGlobalScope::postMessage( PassRefPtr<SerializedScriptValue>message, const MessagePortArray* ports, ExceptionCode& ec)74 void DedicatedWorkerGlobalScope::postMessage(RefPtr<SerializedScriptValue>&& message, const MessagePortArray* ports, ExceptionCode& ec) 75 75 { 76 76 // Disentangle the port in preparation for sending it to the remote context. 77 std::unique_ptr<MessagePortChannelArray>channels = MessagePort::disentanglePorts(ports, ec);77 auto channels = MessagePort::disentanglePorts(ports, ec); 78 78 if (ec) 79 79 return; 80 thread().workerObjectProxy().postMessageToWorkerObject( message, WTFMove(channels));80 thread().workerObjectProxy().postMessageToWorkerObject(WTFMove(message), WTFMove(channels)); 81 81 } 82 82 -
trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h
r199853 r201675 54 54 EventTargetInterface eventTargetInterface() const override; 55 55 56 void postMessage( PassRefPtr<SerializedScriptValue>, const MessagePortArray*, ExceptionCode&);56 void postMessage(RefPtr<SerializedScriptValue>&&, const MessagePortArray*, ExceptionCode&); 57 57 // Needed for Objective-C bindings (see bug 28774). 58 void postMessage( PassRefPtr<SerializedScriptValue>, MessagePort*, ExceptionCode&);58 void postMessage(RefPtr<SerializedScriptValue>&&, MessagePort*, ExceptionCode&); 59 59 60 60 DedicatedWorkerThread& thread(); -
trunk/Source/WebCore/workers/Worker.cpp
r197706 r201675 108 108 } 109 109 110 void Worker::postMessage( PassRefPtr<SerializedScriptValue>message, MessagePort* port, ExceptionCode& ec)110 void Worker::postMessage(RefPtr<SerializedScriptValue>&& message, MessagePort* port, ExceptionCode& ec) 111 111 { 112 112 MessagePortArray ports; 113 113 if (port) 114 114 ports.append(port); 115 postMessage( message, &ports, ec);115 postMessage(WTFMove(message), &ports, ec); 116 116 } 117 117 118 void Worker::postMessage( PassRefPtr<SerializedScriptValue>message, const MessagePortArray* ports, ExceptionCode& ec)118 void Worker::postMessage(RefPtr<SerializedScriptValue>&& message, const MessagePortArray* ports, ExceptionCode& ec) 119 119 { 120 120 // Disentangle the port in preparation for sending it to the remote context. 121 std::unique_ptr<MessagePortChannelArray>channels = MessagePort::disentanglePorts(ports, ec);121 auto channels = MessagePort::disentanglePorts(ports, ec); 122 122 if (ec) 123 123 return; 124 m_contextProxy->postMessageToWorkerGlobalScope( message, WTFMove(channels));124 m_contextProxy->postMessageToWorkerGlobalScope(WTFMove(message), WTFMove(channels)); 125 125 } 126 126 -
trunk/Source/WebCore/workers/Worker.h
r197566 r201675 56 56 EventTargetInterface eventTargetInterface() const override { return WorkerEventTargetInterfaceType; } 57 57 58 void postMessage( PassRefPtr<SerializedScriptValue>message, const MessagePortArray*, ExceptionCode&);58 void postMessage(RefPtr<SerializedScriptValue>&& message, const MessagePortArray*, ExceptionCode&); 59 59 // Needed for Objective-C bindings (see bug 28774). 60 void postMessage( PassRefPtr<SerializedScriptValue>message, MessagePort*, ExceptionCode&);60 void postMessage(RefPtr<SerializedScriptValue>&& message, MessagePort*, ExceptionCode&); 61 61 62 62 void terminate(); -
trunk/Source/WebCore/workers/WorkerEventQueue.cpp
r194496 r201675 89 89 return false; 90 90 91 EventDispatcher* eventDispatcherPtr = new EventDispatcher(event.copyRef(), *this);92 m_eventDispatcherMap.add(event.ptr(), eventDispatcherPtr);93 m_ scriptExecutionContext.postTask([eventDispatcherPtr] (ScriptExecutionContext&) {94 std::unique_ptr<EventDispatcher> eventDispatcher(eventDispatcherPtr);91 auto* eventPtr = event.ptr(); 92 auto eventDispatcher = std::make_unique<EventDispatcher>(WTFMove(event), *this); 93 m_eventDispatcherMap.add(eventPtr, eventDispatcher.get()); 94 m_scriptExecutionContext.postTask([eventDispatcher = WTFMove(eventDispatcher)] (ScriptExecutionContext&) { 95 95 eventDispatcher->dispatch(); 96 96 }); -
trunk/Source/WebCore/workers/WorkerGlobalScopeProxy.h
r196242 r201675 54 54 virtual void terminateWorkerGlobalScope() = 0; 55 55 56 virtual void postMessageToWorkerGlobalScope( PassRefPtr<SerializedScriptValue>, std::unique_ptr<MessagePortChannelArray>) = 0;56 virtual void postMessageToWorkerGlobalScope(RefPtr<SerializedScriptValue>&&, std::unique_ptr<MessagePortChannelArray>) = 0; 57 57 58 58 virtual bool hasPendingActivity() const = 0; -
trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp
r201594 r201675 89 89 } 90 90 91 void WorkerMessagingProxy::postMessageToWorkerObject(PassRefPtr<SerializedScriptValue> message, std::unique_ptr<MessagePortChannelArray> channels) 92 { 93 MessagePortChannelArray* channelsPtr = channels.release(); 94 m_scriptExecutionContext->postTask([this, channelsPtr, message] (ScriptExecutionContext& context) { 91 void WorkerMessagingProxy::postMessageToWorkerObject(RefPtr<SerializedScriptValue>&& message, std::unique_ptr<MessagePortChannelArray> channels) 92 { 93 m_scriptExecutionContext->postTask([this, channels = WTFMove(channels), message = WTFMove(message)] (ScriptExecutionContext& context) mutable { 95 94 Worker* workerObject = this->workerObject(); 96 95 if (!workerObject || askedToTerminate()) 97 96 return; 98 97 99 std::unique_ptr<MessagePortArray> ports = MessagePort::entanglePorts(context, std::unique_ptr<MessagePortChannelArray>(channelsPtr)); 100 workerObject->dispatchEvent(MessageEvent::create(WTFMove(ports), message)); 101 }); 102 } 103 104 void WorkerMessagingProxy::postMessageToWorkerGlobalScope(PassRefPtr<SerializedScriptValue> message, std::unique_ptr<MessagePortChannelArray> channels) 105 { 106 if (m_askedToTerminate) 107 return; 108 109 MessagePortChannelArray* channelsPtr = channels.release(); 110 ScriptExecutionContext::Task task([channelsPtr, message] (ScriptExecutionContext& scriptContext) { 98 auto ports = MessagePort::entanglePorts(context, WTFMove(channels)); 99 workerObject->dispatchEvent(MessageEvent::create(WTFMove(ports), WTFMove(message))); 100 }); 101 } 102 103 void WorkerMessagingProxy::postMessageToWorkerGlobalScope(RefPtr<SerializedScriptValue>&& message, std::unique_ptr<MessagePortChannelArray> channels) 104 { 105 if (m_askedToTerminate) 106 return; 107 108 ScriptExecutionContext::Task task([channels = WTFMove(channels), message = WTFMove(message)] (ScriptExecutionContext& scriptContext) mutable { 111 109 ASSERT_WITH_SECURITY_IMPLICATION(scriptContext.isWorkerGlobalScope()); 112 DedicatedWorkerGlobalScope& context = static_cast<DedicatedWorkerGlobalScope&>(scriptContext);113 std::unique_ptr<MessagePortArray> ports = MessagePort::entanglePorts(scriptContext, std::unique_ptr<MessagePortChannelArray>(channelsPtr));114 context.dispatchEvent(MessageEvent::create(WTFMove(ports), message));110 auto& context = static_cast<DedicatedWorkerGlobalScope&>(scriptContext); 111 auto ports = MessagePort::entanglePorts(scriptContext, WTFMove(channels)); 112 context.dispatchEvent(MessageEvent::create(WTFMove(ports), WTFMove(message))); 115 113 context.thread().workerObjectProxy().confirmMessageFromWorkerObject(context.hasPendingActivity()); 116 114 }); -
trunk/Source/WebCore/workers/WorkerMessagingProxy.h
r197563 r201675 55 55 void startWorkerGlobalScope(const URL& scriptURL, const String& userAgent, const String& sourceCode, const ContentSecurityPolicyResponseHeaders&, bool shouldBypassMainWorldContentSecurityPolicy, WorkerThreadStartMode) override; 56 56 void terminateWorkerGlobalScope() override; 57 void postMessageToWorkerGlobalScope( PassRefPtr<SerializedScriptValue>, std::unique_ptr<MessagePortChannelArray>) override;57 void postMessageToWorkerGlobalScope(RefPtr<SerializedScriptValue>&&, std::unique_ptr<MessagePortChannelArray>) override; 58 58 bool hasPendingActivity() const override; 59 59 void workerObjectDestroyed() override; … … 62 62 // Implementations of WorkerObjectProxy. 63 63 // (Only use these methods in the worker context thread.) 64 void postMessageToWorkerObject( PassRefPtr<SerializedScriptValue>, std::unique_ptr<MessagePortChannelArray>) override;64 void postMessageToWorkerObject(RefPtr<SerializedScriptValue>&&, std::unique_ptr<MessagePortChannelArray>) override; 65 65 void postExceptionToWorkerObject(const String& errorMessage, int lineNumber, int columnNumber, const String& sourceURL) override; 66 66 void postConsoleMessageToWorkerObject(MessageSource, MessageLevel, const String& message, int lineNumber, int columnNumber, const String& sourceURL) override; -
trunk/Source/WebCore/workers/WorkerObjectProxy.h
r197563 r201675 43 43 class WorkerObjectProxy : public WorkerReportingProxy { 44 44 public: 45 virtual void postMessageToWorkerObject( PassRefPtr<SerializedScriptValue>, std::unique_ptr<MessagePortChannelArray>) = 0;45 virtual void postMessageToWorkerObject(RefPtr<SerializedScriptValue>&&, std::unique_ptr<MessagePortChannelArray>) = 0; 46 46 47 47 virtual void confirmMessageFromWorkerObject(bool hasPendingActivity) = 0; -
trunk/Source/WebKit/ChangeLog
r201673 r201675 1 2016-06-03 Chris Dumez <cdumez@apple.com> 2 3 Modernize a few more lambda captures 4 https://bugs.webkit.org/show_bug.cgi?id=158370 5 6 Reviewed by Brady Eidson. 7 8 * Storage/StorageTracker.cpp: 9 (WebCore::StorageTracker::deleteOrigin): 10 1 11 2016-06-03 Commit Queue <commit-queue@webkit.org> 2 12 -
trunk/Source/WebKit/Storage/StorageTracker.cpp
r201482 r201675 502 502 } 503 503 504 String originIdCopy = originId.isolatedCopy(); 505 m_thread->dispatch([this, originIdCopy] { 506 syncDeleteOrigin(originIdCopy); 504 m_thread->dispatch([this, originId = originId.isolatedCopy()] { 505 syncDeleteOrigin(originId); 507 506 }); 508 507 }
Note: See TracChangeset
for help on using the changeset viewer.