Changeset 252056 in webkit
- Timestamp:
- Nov 5, 2019 8:58:57 AM (4 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r252051 r252056 1 2019-11-05 youenn fablet <youenn@apple.com> 2 3 MessagePort::close cannot assume that is execution context is not null 4 https://bugs.webkit.org/show_bug.cgi?id=203843 5 <rdar://problem/55599877> 6 7 Reviewed by Chris Dumez. 8 9 * http/tests/workers/service/basic-messageport-expected.txt: 10 * http/tests/workers/service/resources/basic-messageport.js: 11 (async.doLog): 12 (then): 13 (): Deleted. 14 1 15 2019-11-05 Eric Carlson <eric.carlson@apple.com> 2 16 -
trunk/LayoutTests/http/tests/workers/service/basic-messageport-expected.txt
r233554 r252056 2 2 Message received from ServiceWorker: PASS: Got the MessagePort 3 3 Message received from ServiceWorker: messageport thing received.... 4 Test finished 4 5 -
trunk/LayoutTests/http/tests/workers/service/resources/basic-messageport.js
r233554 r252056 1 1 var messages = []; 2 var registration; 2 3 3 function doLog(message)4 async function doLog(message) 4 5 { 5 6 messages.push(message) … … 8 9 for (let message of messages) 9 10 log(message); 11 channel.port2.close(); 12 if (registration) 13 await registration.unregister(); 14 log("Test finished"); 10 15 finishSWTest(); 11 16 } … … 21 26 } 22 27 23 navigator.serviceWorker.register("resources/messageport-echo-worker.js", { }).then(function(registration) { 28 navigator.serviceWorker.register("resources/messageport-echo-worker.js", { }).then((r) => { 29 registration = r; 24 30 try { 25 31 registration.installing.postMessage("Here is your port", [channel.port2]); … … 27 33 } catch(e) { 28 34 doLog("Exception: " + e); 35 if (registration) 36 registration.unregister(); 29 37 finishSWTest(); 30 38 } -
trunk/Source/WebCore/ChangeLog
r252055 r252056 1 2019-11-05 youenn fablet <youenn@apple.com> 2 3 MessagePort::close cannot assume that is execution context is not null 4 https://bugs.webkit.org/show_bug.cgi?id=203843 5 <rdar://problem/55599877> 6 7 Reviewed by Chris Dumez. 8 9 Covered by updated test. 10 11 * dom/MessagePort.cpp: 12 (WebCore::MessagePort::close): 13 Do not use m_scriptExecutionContext since it can be nulled out in MessagePort::disentangle. 14 * dom/messageports/WorkerMessagePortChannelProvider.cpp: 15 (WebCore::WorkerMessagePortChannelProvider::messagePortClosed): 16 1 17 2019-11-05 James Darpinian <jdarpinian@chromium.org> 2 18 -
trunk/Source/WebCore/dom/MessagePort.cpp
r251425 r252056 227 227 m_closed = true; 228 228 229 MessagePortChannelProvider::fromContext(*m_scriptExecutionContext).messagePortClosed(m_identifier); 229 if (isMainThread()) 230 MessagePortChannelProvider::singleton().messagePortClosed(m_identifier); 231 else { 232 callOnMainThread([identifier = m_identifier] { 233 MessagePortChannelProvider::singleton().messagePortClosed(identifier); 234 }); 235 } 236 230 237 removeAllEventListeners(); 231 238 m_eventQueue->close(); -
trunk/Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.cpp
r249637 r252056 75 75 } 76 76 77 void WorkerMessagePortChannelProvider::messagePortClosed(const MessagePortIdentifier& local)77 void WorkerMessagePortChannelProvider::messagePortClosed(const MessagePortIdentifier&) 78 78 { 79 callOnMainThread([local] { 80 MessagePortChannelProvider::singleton().messagePortClosed(local); 81 }); 79 ASSERT_NOT_REACHED(); 82 80 } 83 81
Note: See TracChangeset
for help on using the changeset viewer.