c7fce6c79befeb44225e6be12ed3704bc64bf98d: Bug 1460874 - Part 3: Rename initalize() method for more clarity. r=geckoview-reviewers,snorp
Jan Henning <jh+bugzilla@buttercookie.de> - Wed, 13 Feb 2019 20:10:11 +0000 - rev 458945
Push 35552 by shindli@mozilla.com at Thu, 14 Feb 2019 04:39:44 +0000
Bug 1460874 - Part 3: Rename initalize() method for more clarity. r=geckoview-reviewers,snorp Going forward, we want to be able to toggle the enabled state at all times, and being able to do this before calling initialize() seems a bit inconsistent. Hence, we rename it to the more neutral-sounding attachToContext(). Differential Revision: https://phabricator.services.mozilla.com/D17745
d42e39761eb8ac0d2b87e79d07ef5774e0d9f299: Bug 1460874 - Part 2: Rename instance variables to better match GeckoView code style. r=geckoview-reviewers,snorp
Jan Henning <jh+bugzilla@buttercookie.de> - Wed, 13 Feb 2019 20:10:04 +0000 - rev 458944
Push 35552 by shindli@mozilla.com at Thu, 14 Feb 2019 04:39:44 +0000
Bug 1460874 - Part 2: Rename instance variables to better match GeckoView code style. r=geckoview-reviewers,snorp Differential Revision: https://phabricator.services.mozilla.com/D17744
2d5e902b5b888dc43efe26023014296cb9bdd197: Bug 1460874 - Part 1: Cleanups. r=geckoview-reviewers,snorp
Jan Henning <jh+bugzilla@buttercookie.de> - Wed, 13 Feb 2019 20:09:58 +0000 - rev 458943
Push 35552 by shindli@mozilla.com at Thu, 14 Feb 2019 04:39:44 +0000
Bug 1460874 - Part 1: Cleanups. r=geckoview-reviewers,snorp The GeckoFontScaleListener is intended to live as long as the app (and there- fore Gecko) remains alive and consequently keeps a reference to the *application* context, so the linter warning can be safely suppressed. Also reorder imports to match coding style. Differential Revision: https://phabricator.services.mozilla.com/D17743
00df850ac3cf71777ed07daef849fc3f16d51fd5: Bug 1520447 For raptor tp6 on windows use mitmproxy executable instead of creating a separate python environment r=rwood,davehunt
Florin Strugariu <bebe@mozilla.ro> - Wed, 13 Feb 2019 19:55:30 +0000 - rev 458942
Push 35552 by shindli@mozilla.com at Thu, 14 Feb 2019 04:39:44 +0000
Bug 1520447 For raptor tp6 on windows use mitmproxy executable instead of creating a separate python environment r=rwood,davehunt Differential Revision: https://phabricator.services.mozilla.com/D16802
39d780c9069af64b913ac633b2e7758cd0a6b5e6: Bug 1527684 - Clear asyncStore on schema change. r=bhackett
Jason Laster <jlaster@mozilla.com> - Wed, 13 Feb 2019 19:23:24 +0000 - rev 458941
Push 35552 by shindli@mozilla.com at Thu, 14 Feb 2019 04:39:44 +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 458940
Push 35552 by shindli@mozilla.com at Thu, 14 Feb 2019 04:39:44 +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 458939
Push 35552 by shindli@mozilla.com at Thu, 14 Feb 2019 04:39:44 +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 458938
Push 35552 by shindli@mozilla.com at Thu, 14 Feb 2019 04:39:44 +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 458937
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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 458936
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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 458935
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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 458934
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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 458933
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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 458932
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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 458931
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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 458930
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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 458929
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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 458928
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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 458927
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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 458926
Push 35551 by shindli@mozilla.com at Wed, 13 Feb 2019 21:34:09 +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
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 tip