Items in overflow-widget which belongs to addons cannot have
the overflow-widget panel set as a popup parent because the
overflow-widget is replaced by them.
We also need to close the addon panel before we return back
to overflow-widget to avoid simillar problem.
Differential Revision: https://phabricator.services.mozilla.com/D53011
--HG--
extra : moz-landing-system : lando
I'm not exactly sure what changed, but the changes from bug 149582 are no
longer needed to fix test_queryCaretRect.htm and the position of the
drop down dialog.
Differential Revision: https://phabricator.services.mozilla.com/D54066
--HG--
extra : moz-landing-system : lando
The details are little fuzzy here. According to one reading of the spec,
dereferencing/creating a reference to a base class during construction is
undefined. This leads us to miscompile the baseline compiler.
Differential Revision: https://phabricator.services.mozilla.com/D53862
--HG--
extra : moz-landing-system : lando
For collection purposes, there must be an owning edge from an
`AbstractGeneratorObject` to each `Debugger.Frame` with hooks set that refers to
it. If a `Debugger.Frame` refers to a suspended generator or async call, and the
`Debugger.Frame` has `onStep` or `onPop` hooks set, and the call's
`AbstractGeneratorObject` is reachable, the garbage collector must retain the
`Debugger.Frame`: collecting it would cause the hooks not to fire, which would
be visible to JavaScript.
At the moment, we obtain the effect of that owning edge in a needlessly
circuitous way. The iterative marking loop in `GCRuntime::markWeakReferences`
calls `DebugAPI::markIteratively` to scan all `Debugger` objects with live
debuggee globals to see if they have any `Debugger.Frame`s for marked
`AbstractGeneratorObject`s. If they do, then we mark the `Debugger`, which marks
the `Debugger.Frames` and causes `markIteratively` to return true, so we go
around the `markWeakReferences` loop again.
With this patch, tracing an `AbstractGeneratorObject` in a debuggee realm checks
the `Debugger`s weak maps for `Debugger.Frames`, and marks them. The edge is
still only inferred (via the Realm's isDebuggee flag; its list of Debuggers; and
the Debuggers' tables of generator frames) rather than being represented
directly as a pointer, but overall, this is much closer to ordinary tracing
behavior: tracing one object causes more objects to become markable.
Differential Revision: https://phabricator.services.mozilla.com/D53078
--HG--
extra : moz-landing-system : lando
Give TraceCrossCompartmentEdge an inline definition in Tracer.h that uses
gc::ConvertToBase and unsafeUnbarrieredForTracing (already in use by other
definitions in that file) to bring things to the point that
TraceManuallyBarrieredCrossCompartmentEdge can finish the job.
This gives us a definition that handles WriteBarriered<T> for pointers to
subclasses of JSObject, so we can use tighter types in data structures.
Remove the non-inline definition and explicit template instantiations in
Marking.cpp.
Differential Revision: https://phabricator.services.mozilla.com/D54075
--HG--
extra : moz-landing-system : lando
The clockid_t type on Linux has a space of values with encode a pid and
refer to various measures of another process's CPU usage; clock_getres
would, thereby, allow probing whether other processes exist. This is
a relatively small information leak into the sandboxes, but there's no
reason to allow it.
Differential Revision: https://phabricator.services.mozilla.com/D54081
--HG--
extra : moz-landing-system : lando
The `clockid_t` type on Linux has a space of values which encode a pid
and allow measuring the CPU usage of other processes; we don't want to
allow sandboxed processes to do that.
Differential Revision: https://phabricator.services.mozilla.com/D54080
--HG--
extra : moz-landing-system : lando
I think that Bug 1572925 made it an error to have any locked prefs
reported in about:support, because they had a pref that accidentally
was getting reported, and I guess we don't have any by
default. fission.autostart is locked on beta and release, but not on
Nightly. This patch makes it so it is okay, but not necessary, to have
fission.autostart reported as a locked preference, so that the test
will pass in either configuration.
Differential Revision: https://phabricator.services.mozilla.com/D53888
--HG--
extra : moz-landing-system : lando
With clang 10 and up `getTemporary` has been replaced with the more versatile `getSubExpr`.
The commit that added this behaviour is: b0561b3346
Differential Revision: https://phabricator.services.mozilla.com/D54101
--HG--
extra : moz-landing-system : lando
On Chrome, visual viewport resize event is fired repeatedly during dynamic
toolbar transitions and visual viewport height obtained by the VisualViewport
API is also changed, but in terms of layout the height value is never used
until the dynamic toolbar height reaches to zero or is changed from zero.
The height used at the time is the height for vh units when the toolbar height
reaches to zero and the ICB height when the toolbar height is changed from zero.
To do so, we need to have another visual viewport size in parallel to the
original one and use them depending on situations.
Differential Revision: https://phabricator.services.mozilla.com/D52338
--HG--
extra : moz-landing-system : lando
The gap is caused by the difference between 'fixed margin' on the compositor
based on the state where the dynamic toolbar is completely visible and
position:fixed elements positioned by the time where is partially visible or
completely hidden. That's because the 'fixed margin' is computed based on the
bottom of the ICB whereas position:fixed elements are slightly shifted from the
ICB edge during the toolbar transition.
Differential Revision: https://phabricator.services.mozilla.com/D52337
--HG--
extra : moz-landing-system : lando
The dynamic toolbar transition doesn't affect on background tabs since to
switch tabs the dynamic toolbar should be restored to its original state (i.e.,
completely visible state).
Differential Revision: https://phabricator.services.mozilla.com/D52336
--HG--
extra : moz-landing-system : lando
Previously, HTMLTextFieldAccessible::DoAction just called TakeFocus().
When the field already has focus, TakeFocus() will do nothing.
However, the user might be activating this element because they dismissed a touch keyboard and want to bring it back.
Therefore, we must simulate a click so Gecko will bring up the keyboard.
Differential Revision: https://phabricator.services.mozilla.com/D54106
--HG--
extra : moz-landing-system : lando
There was no need for the ChannelEventQueue and GetNeckoTarget() was always retuning the main thread anyway.
Differential Revision: https://phabricator.services.mozilla.com/D53140
--HG--
extra : moz-landing-system : lando
They don't need to be set on the DocumentChannelChild as they are never read.
Differential Revision: https://phabricator.services.mozilla.com/D52785
--HG--
extra : moz-landing-system : lando
This expose that some methods aren't doing anything. We will address those in a follow-up change.
Differential Revision: https://phabricator.services.mozilla.com/D52783
--HG--
extra : moz-landing-system : lando
- Adds the `network.trr.enable_when_vpn_detected` defaulting to false. This means detecting a PPP adapter will make IsExcludedFromTRR always return true - it does not affect the `network.trr.mode` pref.
- Adds a test that when nsINetworkLinkService.vpnDetected is true we skip all TRR requests
- Makes it so we update the excludedDomains list and VPN detected status for TRR on any network:link-status-changed observer notification that is received.
Differential Revision: https://phabricator.services.mozilla.com/D53356
--HG--
extra : moz-landing-system : lando
- Since IsExcludedFromTRR may be called from multiple threads we should make sure that the member variables it uses are either atomic or locked.
- Makes IsTRRBlacklisted call IsExcludedFromTRR instead of querying variables again.
- Removes hardcoded checks for localhost and .local, since these are included in network.trr.builtin-excluded-domains
Differential Revision: https://phabricator.services.mozilla.com/D53984
--HG--
extra : moz-landing-system : lando
This patch fixes two issues where we may mistakenly load a TRR record even though the host is part of the excluded-domains list:
1. If a.com is part of the excluded domains, but b.com is not, then when we first resolve b.com using TRR, the server may also push the record for a.com; Previously we didn't check if the pushed record is also excluded, which could lead us to load it from the TRR cache.
2. If b.com is resolved using TRR, but later b.com is added to the excluded-domains list, we may mistakenly load b.com from the TRR cache, even though we should use platform DNS for it.
Differential Revision: https://phabricator.services.mozilla.com/D53354
--HG--
extra : moz-landing-system : lando
This attribute is not expected to change often, so it seems fine to restyle the
whole subtree.
Bug 1598094 tracks further optimizations, should they be needed.
Differential Revision: https://phabricator.services.mozilla.com/D54034
--HG--
extra : moz-landing-system : lando
Some of the stuff, in particular inside GeckoBindings stuff should be
refactored to be less ugly and duplicate a bit less code, but the rest of the
code should be landable as is.
Some invalidation changes are already needed because we weren't matching with
the right shadow host during invalidation (which made existing ::part() tests
fail).
Pending invalidation work:
* Making exportparts work right on the snapshots.
* Invalidating parts from descendant hosts.
They're not very hard but I need to think how to best implement it:
* Maybe get rid of ShadowRoot::mParts and just walk DOM descendants in the
Shadow DOM.
* Maybe implement a ElementHasExportPartsAttr much like HasPartAttr and use
that to keep the list of elements.
* Maybe invalidate :host and ::part() together in here[1]
* Maybe something else.
Opinions?
[1]: https://searchfox.org/mozilla-central/rev/131338e5017bc0283d86fb73844407b9a2155c98/servo/components/style/invalidation/element/invalidator.rs#561
Differential Revision: https://phabricator.services.mozilla.com/D53730
--HG--
extra : moz-landing-system : lando
Items in overflow-widget which belongs to addons cannot have
the overflow-widget panel set as a popup parent because the
overflow-widget is replaced by them.
We also need to close the addon panel before we return back
to overflow-widget to avoid simillar problem.
Differential Revision: https://phabricator.services.mozilla.com/D53011
--HG--
extra : moz-landing-system : lando
The absolute position of the window under Wayland is unknown
and using monitor offset to adjust popups position shown
on content (like <select) is therefore broken on Wayland.
Differential Revision: https://phabricator.services.mozilla.com/D53965
--HG--
extra : moz-landing-system : lando
Currently DocumentChannelParent serves two fairly separate functions.
It acts as a logic controller for a connecting load (ultimately on behalf of a CanonicalBrowsingContext), that creates a channel and once it gets a response, figures out the right thing to do with it (send to the originating process, send to a new process, handle as a download etc).
It's the parent-side IPDL actor for an nsIChannel implementation that we hold in the docshell as a placeholder while the above happens. This is largely a backwards compatibility hack since docshell expects to have a channel when a load has been initiated (but in the future we could do loads more directly through BrowsingContext and rewrite docshell to understand waiting on that).
This patch splits this into two separate classes (and adds more documentation explaining exactly what each one does). It shouldn't affect any behaviour.
Differential Revision: https://phabricator.services.mozilla.com/D53383
--HG--
rename : netwerk/ipc/DocumentChannelParent.cpp => netwerk/ipc/DocumentLoadListener.cpp
extra : moz-landing-system : lando
Changes:
Add Ubuntu 18.04 `dockerfile`, support files and `ubuntu1804-test-system-setup.sh` that slightly differs from `ubuntu1604-test-system-setup.sh` in package contents.
Add a temporary flag to `try fuzzy` selector, taskcluster decision and taskgraphs to enable selection of Ubuntu 18.04 docker image to run linux tests.
Differential Revision: https://phabricator.services.mozilla.com/D53750
--HG--
extra : moz-landing-system : lando