9624359659f033a34985be234cec79efb045bb87: Bug 1426783 - Fix error handling in deserialization of invalid typed arrays. r=sfink, a=gchang. FIREFOX_58b_RELBRANCH
Jason Orendorff <jorendorff@mozilla.com> - Fri, 05 Jan 2018 15:17:35 -0600 - rev 450755
Push 8542 by archaeopteryx@coole-files.de at Tue, 16 Jan 2018 09:23:07 +0000
Bug 1426783 - Fix error handling in deserialization of invalid typed arrays. r=sfink, a=gchang.
9579dad4492b9ce9e2be0379bae320e1f6327394: Backed out changeset 2e92b07020a5 (bug 1421345) for bustage at dist/include/mozilla/ArenaAllocator.h:180:7: 'canary' was not declared in this scope. a=backout FIREFOX_58b_RELBRANCH FENNEC_58_0b17_BUILD1 FENNEC_58_0b17_RELEASE
Sebastian Hengst <archaeopteryx@coole-files.de> - Mon, 15 Jan 2018 13:59:50 +0200 - rev 450754
Push 8541 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 12:02:04 +0000
Backed out changeset 2e92b07020a5 (bug 1421345) for bustage at dist/include/mozilla/ArenaAllocator.h:180:7: 'canary' was not declared in this scope. a=backout
2e92b07020a5ce08fb5d1b263b38ca438424e1d4: Bug 1421345 - Check the canary during allocations. r=jet a=gchang FIREFOX_58b_RELBRANCH
Matt Woodrow <mwoodrow@mozilla.com> - Mon, 15 Jan 2018 21:12:57 +1300 - rev 450753
Push 8540 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 11:43:22 +0000
Bug 1421345 - Check the canary during allocations. r=jet a=gchang
15129163c0eda61d010f114e19f73e11aa61f3fe: Backed out changeset 912e6c9630a1 (bug 1426081) a=backout
Sebastian Hengst <archaeopteryx@coole-files.de> - Mon, 15 Jan 2018 12:18:40 +0200 - rev 450752
Push 8539 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:33:28 +0000
Backed out changeset 912e6c9630a1 (bug 1426081) a=backout
09bab9dac2557fa568c7072299df0527f073043e: Backed out changeset 6af059044003 (bug 1429859) a=backout
Sebastian Hengst <archaeopteryx@coole-files.de> - Mon, 15 Jan 2018 12:18:32 +0200 - rev 450751
Push 8539 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:33:28 +0000
Backed out changeset 6af059044003 (bug 1429859) a=backout
faecd3820cf4edcf6f94a329f4ae6962dfb64d49: Backed out changeset 05f9d3f41752 (bug 1429885) because it landed on wrong branch. a=backout
Sebastian Hengst <archaeopteryx@coole-files.de> - Mon, 15 Jan 2018 12:18:23 +0200 - rev 450750
Push 8539 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:33:28 +0000
Backed out changeset 05f9d3f41752 (bug 1429885) because it landed on wrong branch. a=backout
ff49cdee1a3d4221d20fa7ff554f77ee1b2553f3: Bug 1429885 Support a rounding value of 0 for reduceTimerPrecision r=bkelly,timhuang a=gchang FIREFOX_58b_RELBRANCH
Tom Ritter <tom@mozilla.com> - Thu, 11 Jan 2018 14:25:14 -0600 - rev 450749
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1429885 Support a rounding value of 0 for reduceTimerPrecision r=bkelly,timhuang a=gchang MozReview-Commit-ID: F96EUfXgK9F
0c5b5676912d96f13661c832bd596c783e933533: Bug 1429859 - Check mDoNotTryEarlyData in Do0RTT(). r=mcmanus a=gchang FIREFOX_58b_RELBRANCH
Dragana Damjanovic dd.mozilla@gmail.com - Thu, 11 Jan 2018 10:17:00 +0200 - rev 450748
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1429859 - Check mDoNotTryEarlyData in Do0RTT(). r=mcmanus a=gchang
72faa446f04e76ee1fc25dd96cf90ce78be987d9: Bug 1427221 - Do nsMathMLmfencedFrame cleanup in DestroyFrom, not in the dtor. r=mattwoodrow a=gchang FIREFOX_58b_RELBRANCH
Mats Palmgren <mats@mozilla.com> - Tue, 09 Jan 2018 04:32:00 +0200 - rev 450747
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1427221 - Do nsMathMLmfencedFrame cleanup in DestroyFrom, not in the dtor. r=mattwoodrow a=gchang
1485c1f848a7d9e3f661252563b8eca592242b3a: Bug 1426081 - Migrate legacy search engines to WebExtensions. r=florian a=gchang FIREFOX_58b_RELBRANCH
Michael Kaply <mozilla@kaply.com> - Thu, 21 Dec 2017 12:58:56 -0600 - rev 450746
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1426081 - Migrate legacy search engines to WebExtensions. r=florian a=gchang MozReview-Commit-ID: JfSwJwMC46F
fc52af7442696c98d18f5642845d69d16124c732: Bug 1416879 - Part 0d: Move browser_multie10s_update.js into its own directory. r=bkelly a=gchang FIREFOX_58b_RELBRANCH
Andrew Sutherland <asutherland@asutherland.org> - Thu, 11 Jan 2018 10:31:17 -0500 - rev 450745
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1416879 - Part 0d: Move browser_multie10s_update.js into its own directory. r=bkelly a=gchang This test is unfortunately a victim of a multi-e10s unregister() race from browser_force_refresh and given the imminent multi-e10s cleanup that's going to happen, the more complicated alternatives aren't worth the effort versus just moving this test to its own directory. ..and now it's disabled too. Bug 1429794 tracks re-enabling.
8668774ec233e58359fb27167ef1a12df4c32b1b: Bug 1416879 - Part 0c: browser_multie10s_update.js should not use setTimeout. r=bkelly a=gchang FIREFOX_58b_RELBRANCH
Andrew Sutherland <asutherland@asutherland.org> - Tue, 09 Jan 2018 17:31:01 -0500 - rev 450744
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1416879 - Part 0c: browser_multie10s_update.js should not use setTimeout. r=bkelly a=gchang This test used a fixed setTimeout of 3secs for serving the SW. This lower-bounded the test runtime at 6 seconds, plus it was not safe in the event of a slow test runner. This set of changes, although a little ugly, improves the logic so that the SW's transmission is driven by a separate "release" fetch that is only triggered when both updates have been issued and the first update failure has been reported. This ensures we are observing the desired situation. There's also a sanity check on the number of times the SW script is fetched.
dcaced69fe4c60d822c669801778f0140330a41e: Bug 1416879 - Part 0b: browser_multie10s_update.js needs to protect its invariants, clean-up after itself. r=bkelly a=gchang FIREFOX_58b_RELBRANCH
Andrew Sutherland <asutherland@asutherland.org> - Tue, 09 Jan 2018 16:16:24 -0500 - rev 450743
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1416879 - Part 0b: browser_multie10s_update.js needs to protect its invariants, clean-up after itself. r=bkelly a=gchang
f9005d863b4aa430aa08bd98c77c3b58c155a7af: Bug 1416879 - Part 0a: Make browser_force_refresh.js clean up after itself. r=bkelly a=gchang FIREFOX_58b_RELBRANCH
Andrew Sutherland <asutherland@asutherland.org> - Wed, 10 Jan 2018 12:38:25 -0500 - rev 450742
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1416879 - Part 0a: Make browser_force_refresh.js clean up after itself. r=bkelly a=gchang
de5ea9bcb2cef9c2bb57de036093197ae3b2a1a1: Bug 1416879 - Part 6: Test cancellation of diverted client-intercepted streams. r=bkelly a=gchang FIREFOX_58b_RELBRANCH
Andrew Sutherland <asutherland@asutherland.org> - Thu, 04 Jan 2018 18:38:43 -0500 - rev 450741
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1416879 - Part 6: Test cancellation of diverted client-intercepted streams. r=bkelly a=gchang This adds a test where we have a ServiceWorker return 2 different types of streams that Firefox recognizes as downloads which are handled by diversion of the channel to the parent. The diverted downloads are then cancelled and we verify that cancellation actually results in the underlying connections being closed and/or the ServiceWorker notified. Our 2 types of streams are: 1. A pass-through stream that is incrementally delivered through use of an .sjs file that delivers data using setInterval. 2. A SW-authored ReadableStream (which is not enabled by default, so we set a pref.) Determining when the .sjs's stream is canceled is accomplished by opening a second "monitor" connection that only completes when the streaming connection is closed. In all cases we differentiate between cancelation and timeouts firing.
d06c21f21ec73a1b817feeddf6802b9767b68362: Bug 1416879 - Part 5: FetchStreamReader needs to cancel its reader when it encounters write errors. r=baku, f=bkelly a=gchang FIREFOX_58b_RELBRANCH
Andrew Sutherland <asutherland@asutherland.org> - Thu, 04 Jan 2018 18:09:32 -0500 - rev 450740
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1416879 - Part 5: FetchStreamReader needs to cancel its reader when it encounters write errors. r=baku, f=bkelly a=gchang Currently, FetchStreamReader never signals to the JS stream code that the reader has been closed. This means that when a ServiceWorker passes a ReadableStream to respondWith and the HTTP Channel gets canceled, the JS code will keep generating the stream without ever realizing the data's not going anywhere. It's necessary to cancel the reader. Or do something like that, this seems to work!
20f5dafc5c3bdbd32c9c281b39fb30586c50e37d: Bug 1416879 - Part 4: FetchDriver needs to propagate write failures. r=baku a=gchang FIREFOX_58b_RELBRANCH
Andrew Sutherland <asutherland@asutherland.org> - Thu, 04 Jan 2018 18:04:55 -0500 - rev 450739
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1416879 - Part 4: FetchDriver needs to propagate write failures. r=baku a=gchang In the scenario where a ServiceWorker returns a pass-through fetch via `evt.respondWith(fetch("underlying"))`, in order for the "underlying" HTTP channel to be canceled when the outer HTTP channel is canceled, FetchDriver's OnDataAvailable method needs to return an error when the output pipe experiences an error. Unfortunately, the contract for ReadSegments is effectively that it returns NS_OK regardless of what the rv of the write handler returned, so relying on the returned rv is insufficient. And because various Write*() methods will all fast-path to returning NS_OK if a count of 0 is passed, it's necessary to infer a closed/broken pipe by noticing that we tried to write more than 0 bytes of data but 0 bytes were written. (This is safe because the pipe we write into was created by FetchDriver::OnStartRequest which explicitly creates an infinite pipe, so it's not possible for the write to fail due to lack of space in the pipe.)
3a6d8ac9b23a01b749c5f151df2f80b9e8cf9fde: Bug 1416879 - Part 3: (Also Bug 1418795) SyntheticDiversionListener should handle !mIPCOpen. r=bkelly a=gchang FIREFOX_58b_RELBRANCH
Andrew Sutherland <asutherland@asutherland.org> - Thu, 04 Jan 2018 13:59:13 -0500 - rev 450738
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1416879 - Part 3: (Also Bug 1418795) SyntheticDiversionListener should handle !mIPCOpen. r=bkelly a=gchang The SyntheticDiversionListener needs to handle the case where the IPC connection is gone. This patch avoids calling Send* methods which will crash the content process if the actor has already been destroyed. Additionally, OnDataAvailable will return an error in such a case so that the caller can properly handle the error rather than continuing to attempt to send data to a listener that doesn't care. This latter change is an artifact of a previous hack attempt to fix a related diversion issue that is probably not required for this stack, but makes sense as a fix, so I've left it in.
9a2858960c24e4d855d7fe0560cb406f1b3a8732: Bug 1416879 - Part 2: Allow for diversion cancellation and trigger for intercepted channels. r=bkelly, r=mayhemer a=gchang FIREFOX_58b_RELBRANCH
Andrew Sutherland <asutherland@asutherland.org> - Thu, 04 Jan 2018 18:38:07 -0500 - rev 450737
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1416879 - Part 2: Allow for diversion cancellation and trigger for intercepted channels. r=bkelly, r=mayhemer a=gchang The diversion mechanism never expected to be dealing with data sourced from the content process, but that's exactly what happens with ServiceWorker-intercepted channels with the current child-intercept situation (which is being fixed). In order to allow timely cancellation of diverted intercepted channels, there needs to be a way to relay to the HttpChannelChild that it needs to be canceled so that the synthesized pump can be canceled and diversion can be marked as complete. This patch adds such a mechanism to ADivertableParentChannel and PHttpChannel for the exclusive use of InterceptedHttpChannel and then uses it.
0d0a70391f7357cb48dfdc5814cfbd77be3cabab: Bug 1416879 - Part 1: DivertComplete should only be sent at OnStopRequest for synthesized responses. r=bkelly a=gchang FIREFOX_58b_RELBRANCH
Andrew Sutherland <asutherland@asutherland.org> - Thu, 04 Jan 2018 18:56:46 -0500 - rev 450736
Push 8538 by archaeopteryx@coole-files.de at Mon, 15 Jan 2018 10:26:11 +0000
Bug 1416879 - Part 1: DivertComplete should only be sent at OnStopRequest for synthesized responses. r=bkelly a=gchang Diversion for intercepted channels with a synthesized response is a special case. It is not appropriate to send DivertComplete when mEventQ has been drained, because we are not dealing with the usual mEventQ-enqueued OnDataAvailable payloads that had been received over the network and sent down to the child. In this case, all the data originates in the child and does not go through mEventQ. As such, the correct place to send DivertComplete is at OnStopComplete for the synthesized response.
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip