In the function MessagePort::close, the "m_closed = true" must be executed at the end of function, not at the beginning. Or, the m_entangledChannel->close() will not be executed. And it resulted in the failure of MS bench mark messagechannel_close.htm. You can try it from http://samples.msdn.microsoft.com/ietestcenter/WebWorkers/messagechannel_close.htm
Created attachment 139363 [details] Patch
Comment on attachment 139363 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=139363&action=review The change looks reasonable. r- due to missing a test. I think this change is testable. > Source/WebCore/ChangeLog:12 > + No new tests. The test can be found from http://samples.msdn.microsoft.com/ietestcenter/WebWorkers/messagechannel_close.htm Would you add the test to LayoutTests?
Created attachment 139368 [details] Patch
(In reply to comment #2) > (From update of attachment 139363 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=139363&action=review > > The change looks reasonable. r- due to missing a test. I think this change is testable. > > > Source/WebCore/ChangeLog:12 > > + No new tests. The test can be found from http://samples.msdn.microsoft.com/ietestcenter/WebWorkers/messagechannel_close.htm > > Would you add the test to LayoutTests? Add the test case, please have a look, thanks.
Comment on attachment 139368 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=139368&action=review > LayoutTests/fast/events/message-port-close.html:1 > +<body> Nit: Shall we use a standard HTML format? <!DOCTYPE html><html><head></head><body>...</body></html> > LayoutTests/fast/events/message-port-close.html:4 > +<p>Test Closed MessagePort Whether Receive Message Or Not.</p> > +<p>Should be a START message, followed with DONE.</p> > +<pre id=log></pre> It would be better to use js-test-pre.js and js-test-post.js. You can use a series of methods for tests (e.g. debug("..."), shouldBe("...") etc). Please look at other layout tests using them.
(In reply to comment #5) > (From update of attachment 139368 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=139368&action=review > > > LayoutTests/fast/events/message-port-close.html:1 > > +<body> > > Nit: Shall we use a standard HTML format? > > <!DOCTYPE html><html><head></head><body>...</body></html> > > > LayoutTests/fast/events/message-port-close.html:4 > > +<p>Test Closed MessagePort Whether Receive Message Or Not.</p> > > +<p>Should be a START message, followed with DONE.</p> > > +<pre id=log></pre> > > It would be better to use js-test-pre.js and js-test-post.js. You can use a series of methods for tests (e.g. debug("..."), shouldBe("...") etc). Please look at other layout tests using them. I am following the format of LayoutTests/fast/events/message-port-clone.html, it seems that all of MessagePort related test cases used this format.
Comment on attachment 139368 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=139368&action=review >>> LayoutTests/fast/events/message-port-close.html:1 >>> +<body> >> >> Nit: Shall we use a standard HTML format? >> >> <!DOCTYPE html><html><head></head><body>...</body></html> > > I am following the format of LayoutTests/fast/events/message-port-clone.html, it seems that all of MessagePort related test cases used this format. Makes sense.
Comment on attachment 139368 [details] Patch Clearing flags on attachment: 139368 Committed r115588: <http://trac.webkit.org/changeset/115588>
All reviewed patches have been landed. Closing bug.