39d780c9069af64b913ac633b2e7758cd0a6b5e6: Bug 1527684 - Clear asyncStore on schema change. r=bhackett
Jason Laster <jlaster@mozilla.com> - Wed, 13 Feb 2019 19:23:24 +0000 - rev 516823
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1527684 - Clear asyncStore on schema change. r=bhackett Differential Revision: https://phabricator.services.mozilla.com/D19689
4c1eb1293bbf20aa274231bba5c67bbe3edfce1a: Bug 1509738: CSP snapshot nonce at load start time. r=baku
Christoph Kerschbaumer <ckerschb@christophkerschbaumer.com> - Wed, 13 Feb 2019 20:45:29 +0100 - rev 516822
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1509738: CSP snapshot nonce at load start time. r=baku
53354f120211a54dbff579c29e1ac9ca6031463a: Bug 1509738 - Test nonce snapshot for CSP loades. r=jkt
Christoph Kerschbaumer <ckerschb@christophkerschbaumer.com> - Wed, 13 Feb 2019 20:42:34 +0100 - rev 516821
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1509738 - Test nonce snapshot for CSP loades. r=jkt
943193dd891e11548517e7c92ef59f32bfb5aa32: Bug 1479930 - std::move() almost all arguments to Recv/Answer methods in IPC; r=froydnj
Alex Gaynor <agaynor@mozilla.com> - Wed, 13 Feb 2019 17:49:17 +0000 - rev 516820
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1479930 - std::move() almost all arguments to Recv/Answer methods in IPC; r=froydnj The one exception is refcounted types, because std::move(RefPtr<T>) does not coerce to T*, which is what the current IPC methods accept. This does not rewrite all Recv/Answer methods to take advantage of move semantics. Differential Revision: https://phabricator.services.mozilla.com/D19669
08f794a4928eed47fe7a0f9a0c818b8f2a7fa11a: Bug 1527629 - Enable Log Points. r=davidwalsh
Jason Laster <jlaster@mozilla.com> - Wed, 13 Feb 2019 17:14:13 +0000 - rev 516819
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1527629 - Enable Log Points. r=davidwalsh Differential Revision: https://phabricator.services.mozilla.com/D19667
22977fad26a36bffb54a466b33f95862c7a8d7b1: Bug 1526234 - Add --dump-bytecode to fuzz-flags.txt. r=gkw
Tooru Fujisawa <arai_a@mac.com> - Wed, 13 Feb 2019 11:56:49 +0000 - rev 516818
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1526234 - Add --dump-bytecode to fuzz-flags.txt. r=gkw Differential Revision: https://phabricator.services.mozilla.com/D19136
1f792a3cc1d0bd7aa3da66c1aa5e287e36977bc1: Bug 1145201: xpcshell test: Debugger callbacks protect debuggee's microtask queue. r=jlast
Jim Blandy <jimb@mozilla.com> - Tue, 12 Feb 2019 08:11:02 +0000 - rev 516817
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1145201: xpcshell test: Debugger callbacks protect debuggee's microtask queue. r=jlast Differential Revision: https://phabricator.services.mozilla.com/D17548
3ae9f2b94f97b66353e0121351dd444959f5a8b7: Bug 1145201: Use AutoDebuggerJobQueueInterruption in Debugger. r=jorendorff
Jim Blandy <jimb@mozilla.com> - Tue, 12 Feb 2019 08:10:54 +0000 - rev 516816
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1145201: Use AutoDebuggerJobQueueInterruption in Debugger. r=jorendorff Modify the Debugger API implementation to ensure that debugger code's promise activity (resolving promises; running reaction jobs) cannot interfere with the debuggee's. Specifically, ensure that there is an `AutoDebuggerJobQueueInterruption` in scope at every site in the Debugger implementation that might invoke a debugger hook function. This saves the debuggee's job queue, emplaces a fresh empty queue, lets the hooks run, drains the queue, and then restores the debuggee's original queue. Since we must already mark sites that could invoke hooks with `EnterDebuggeeNoExecute`, we ensure our job queue protection coverage is complete statically by having `EnterDebuggeeNoExecute`'s constructor require a reference to an `AutoDebuggerJobQueueInterruption`. Differential Revision: https://phabricator.services.mozilla.com/D17547
b6216c391d4177539fce7096db9e226147556bf9: Bug 1145201: Implement JS::AutoDebuggerJobQueueInterruption. r=arai,smaug
Jim Blandy <jimb@mozilla.com> - Tue, 12 Feb 2019 08:14:34 +0000 - rev 516815
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1145201: Implement JS::AutoDebuggerJobQueueInterruption. r=arai,smaug Define a new RAII class, AutoDebuggerJobQueueInterruption, to save and restore the current ECMAScript job queue, to protect the debuggee's job queue from activity that occurs in debugger callbacks. Add a new method to the JS::JobQueue abstract base class, saveJobQueue, to support AutoDebuggerJobQueueInterruption. Comments on AutoDebuggerJobQueueInterruption provide details. Implement saveJobQueue for SpiderMonkey's internal job queue and for Gecko's job queue in CycleCollectedJSContext. Differential Revision: https://phabricator.services.mozilla.com/D17546
414b2c238839c321dee78a9d927c968f1e52ae79: Bug 1145201: Replace EnqueuePromiseJobCallback and GetIncumbentGlobalCallback with new JobQueue abstract base class. r=arai,smaug
Jim Blandy <jimb@mozilla.com> - Tue, 12 Feb 2019 08:16:16 +0000 - rev 516814
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1145201: Replace EnqueuePromiseJobCallback and GetIncumbentGlobalCallback with new JobQueue abstract base class. r=arai,smaug While the behavior of ECMAScript Promises and their associated job queue is covered by the ECMAScript standard, the HTML specification amends that with additional behavior the web platform requires. To support this, SpiderMonkey provides hooks the embedding can set to replace SpiderMonkey's queue with its own implementation. At present, these hooks are C-style function-pointer-and-void-pointer pairs, which are awkward to handle and mistake-prone, as passing a function the wrong void* is not a type error. Later patches in this series must add new hooks, making a bad situation worse. A C++ abstract base class is a well-typed alternative. This introduces a new `JS::JobQueue` abstract class, and adapts SpiderMonkey's internal job queue and Gecko's customization to use it. `GetIncumbentGlobalCallback` and `EnqueuePromiseJobCallback` become virtual methods. Within SpiderMonkey, the patch gathers the various fields of JSContext that implement the internal queue into their own type, js::InternalJobQueue. Various jsfriendapi functions become veneers for calls to methods specific to the derived class. The InternalJobQueue type itself remains private to SpiderMonkey, as it uses types like TraceableFifo, derived from Fifo, that are not part of SpiderMonkey's public API. Within Gecko, CycleCollectedJSContext acquires JS::JobQueue as a private base class, and a few static methods are cleaned up nicely. There are a few other hooks defined in js/public/Promise.h that might make sense to turn into virtual methods on JobQueue. For example, DispatchToEventLoopCallback, used for resolving promises of results from off-main-thread tasks, is probably necessarily connected to the JobQueue implementation in use, so it might not be sensible to set one without the other. But it was left unchanged to reduce this patch's size. Differential Revision: https://phabricator.services.mozilla.com/D17544
56f7fee6d13916f70dc1991c1e3c0fdc64325b25: Bug 1517601, part 3 - WebSocketEvent subclasses should not hold strong references to the channel. r=mayhemer
Andrew McCreight <continuation@gmail.com> - Wed, 13 Feb 2019 16:58:31 +0000 - rev 516813
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1517601, part 3 - WebSocketEvent subclasses should not hold strong references to the channel. r=mayhemer This patch moves the channel pointer from the WebSocketEvents into the classes that wrap them (EventTargetDispatcher and WrappedWebSocketEvent) to fix leaks. EventTargetDispatcher uses a weak pointer. This is needed to prevent a leak if the ChannelEvent dispatch fails, because it would create a cycle of strong references between the WebSocketEvent, the channel, the channel event queue, and EventTargetDispatcher. It is safe because the ChannelEventQueue ensures that the channel remains alive. WrappedWebSocketEvent uses a strong pointer. This won't create a leak because the runnable is not owned by the channel. It is needed for safety because it can't rely on the ChannelEventQueue mechanism for keeping the channel alive. The WPT whitelisting moves them into two subdirectories that still seem to leak sometimes, but the top level websockets/ directory seems okay now. Depends on D19586 Differential Revision: https://phabricator.services.mozilla.com/D19587
57206fca017df883b2580c6c5e0eb109cd926c27: Bug 1517601, part 2 - Create and use a new WebSocketEvent base class instead of ChannelEvent. r=mayhemer
Andrew McCreight <continuation@gmail.com> - Wed, 13 Feb 2019 16:57:58 +0000 - rev 516812
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1517601, part 2 - Create and use a new WebSocketEvent base class instead of ChannelEvent. r=mayhemer In the next patch, I want to change the signature of Run(), so I need to create a new base class for these inner WebSocket events. For now, this class is the same as ChannelEvent, except that it does not have the GetEventTarget method, which is never called. Depends on D19585 Differential Revision: https://phabricator.services.mozilla.com/D19586
8f6fc796dca278262341cbf33174c65823f84b55: Bug 1517601, part 1 - Remove the unused WebSocketChannelChild::DispatchToTargetThread() method. r=mayhemer
Andrew McCreight <continuation@gmail.com> - Wed, 13 Feb 2019 16:49:26 +0000 - rev 516811
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1517601, part 1 - Remove the unused WebSocketChannelChild::DispatchToTargetThread() method. r=mayhemer Later patches change the WrappedChannelEvent ctor, so I'm removing this unused method to avoid having to fix it up. Differential Revision: https://phabricator.services.mozilla.com/D19585
b1b031c761f5594550e4331755008a1e1c96f080: Bug 1527330 - Fix test_ext_userScript_exports.js failure on beta. r=robwu
Luca Greco <lgreco@mozilla.com> - Wed, 13 Feb 2019 17:30:20 +0000 - rev 516810
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1527330 - Fix test_ext_userScript_exports.js failure on beta. r=robwu Differential Revision: https://phabricator.services.mozilla.com/D19533
7897f18e59f57e831e4a88e8669361b629984075: Bug 1522253: about:newinstall should get its configuration via RemotePageManager rather than query params. r=Gijs
Dave Townsend <dtownsend@oxymoronical.com> - Wed, 13 Feb 2019 17:28:20 +0000 - rev 516809
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1522253: about:newinstall should get its configuration via RemotePageManager rather than query params. r=Gijs Differential Revision: https://phabricator.services.mozilla.com/D19413
b745576a1639532f77909f59940dca2009a71452: Bug 1522253: Add a standard mechanism for requesting data from the other process. r=Gijs
Dave Townsend <dtownsend@oxymoronical.com> - Wed, 13 Feb 2019 17:29:53 +0000 - rev 516808
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1522253: Add a standard mechanism for requesting data from the other process. r=Gijs As we add more specific methods to RemotePageManager some of them will have to call the main process to get the results. This adds a standard mechanism for doing so. Calling sendRequest will return a promise that is resolved or rejected when the main process responds. Differential Revision: https://phabricator.services.mozilla.com/D19412
9a2412c232a5897fe21cd5965e350d6665ca2310: Bug 1145201: Fix xpcshell tests not to mix the test's own microtasks with the debuggee's. r=jlast
Jim Blandy <jimb@mozilla.com> - Tue, 12 Feb 2019 08:20:29 +0000 - rev 516807
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1145201: Fix xpcshell tests not to mix the test's own microtasks with the debuggee's. r=jlast Evaluation of debuggee code should always begin with an empty microtask queue. In xpcshell tests, this is not guaranteed, as it is in the web platform. This patch changes those devtools server xpcshell tests that break this rule in a detectable way to run the debuggee code as a separate HTML task. In an actual browser environment, debuggee JavaScript runs as an HTML task. Since HTML requires a microtask checkpoint at the end of each task, this means that a debuggee task begins execution with an empty microtask queue, free of microtasks from other tabs or the browser machinery itself. Hence, while the debugger is pausing debuggee code, it is safe for it to save the debuggee's microtask queue, so that those jobs do not make progress. (Which is fortunate, because it *must* do so, lest the debuggee's microtasks run during the pause!) In an xpcshell test, however, there is no guarantee that debuggee code begins execution with a fresh microtask queue: the test may call `eval` or `evalInSandbox` at any time. If such an evaluation hits a breakpoint, `debugger` statement, etc. that invokes a Debugger hook, supervisory microtasks from the test harness code may be set aside along with the debuggee's microtasks. If the hook code then blocks waiting for those microtasks to run, the test will hang. Differential Revision: https://phabricator.services.mozilla.com/D18904
8df956c34c94173d02cd69594a2a24b76818c23a: Backed out 2 changesets (bug 1522253) for causing ES Lint failure in newInstallPage.js
Noemi Erli <nerli@mozilla.com> - Wed, 13 Feb 2019 19:12:35 +0200 - rev 516806
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Backed out 2 changesets (bug 1522253) for causing ES Lint failure in newInstallPage.js Backed out changeset 5b2aeaf2da17 (bug 1522253) Backed out changeset a091f6b58aba (bug 1522253)
f6c24d795990850a1094b6a4e4c4b1c907f70211: Bug 1527499: Show the profile manager by default in preference to assigning or creating an initial profile. r=froydnj
Dave Townsend <dtownsend@oxymoronical.com> - Wed, 13 Feb 2019 14:04:23 +0000 - rev 516805
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1527499: Show the profile manager by default in preference to assigning or creating an initial profile. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D19592
b09a49ab3635a0c4e156e1d255e78281bc13e6c6: Bug 1527412 - Remove swizzling of -[NSView mouseDownCanMoveWindow]. r=spohl
Markus Stange <mstange@themasta.com> - Wed, 13 Feb 2019 11:14:03 +0000 - rev 516804
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1527412 - Remove swizzling of -[NSView mouseDownCanMoveWindow]. r=spohl This was added in bug 476393 in order to work around a problem with the Java plug-in. We no longer support that plug-in. The comment also mentions NSTexturedBackgroundWindowMask which we stopped using in bug 1335191. Differential Revision: https://phabricator.services.mozilla.com/D19558
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 tip