The frame we pass to PageMove is used to extend the selection, we can't extend a selection outside of the document. The scrolling that takes place can still scroll scroll frames in parent documents afterwards.
Differential Revision: https://phabricator.services.mozilla.com/D92176
Turns out that metrics_index.py is not only valid Python but is also valid
mozbuild format. So long as our constants are lowercase (uppercase is reserved)
we can `include()` the index and read the arrays of files to tell
`GeneratedFile` every file it depends on, not just the index.
We do have to transform the paths, though, as I still maintain that paths
relative to TOPSRCDIR makes more sense for the index, but the `inputs` to
`GeneratedFile` are relative to the dir of the `moz.build`.
Differential Revision: https://phabricator.services.mozilla.com/D91961
Users with certain special characters on the path to the temp dirs where GMPs
are saved would not be able to extract GMPS. This fixes this by escaping
characters such as # so that the URIs to the file are treated correctly.
Differential Revision: https://phabricator.services.mozilla.com/D92088
Until bug 1617002 Firefox would unintendedly not get unredirected on X11
when used with WR and OpenGL as it didn't fullfill the requirements -
not being transparent.
Now that this is fixed, fullscreen unredirection can happen on certain
compositors. For the basic compositor we already explicitely ask to not
get unredirected - do that for all backends.
Differential Revision: https://phabricator.services.mozilla.com/D92180
The `using` declarations in "Proxy.h" make it act like a second
"NamespaceImports.h", introducing names from `JS` into the `js` namespace.
Remove the `using` declarations from "Proxy.h" and then fix up the breakage by:
- Prepend `JS::` in various header files.
- Add "NamespaceImports.h" in cpp files.
- Add `PropertyDescriptor` to "NamespaceImports.h". There are many unqualified
references to `PropertyDescriptor`, making it a prime candidate for
"NamespaceImports.h".
Drive-by changes:
- Use local variables in `CheckProxyFlags()` to make the `static_assert`
conditions more readable.
Differential Revision: https://phabricator.services.mozilla.com/D92207
This new fissionEnabled flag in settings replaces the previous reporting of the
"fission.autostart" pref value from userPrefs. This is needed in order to
correctly reflect the fission enabled status for a particular browsing session,
as the pref may change at runtime, or the enabled status may be impacted by
other factors than the pref's current value.
Differential Revision: https://phabricator.services.mozilla.com/D91686
This mostly just refactors the stuff we had for Fennec.
We add a dependency on Google Play Services here, but care
is taken to ensure that things will fail gracefully if
Play Services are not present at runtime.
Differential Revision: https://phabricator.services.mozilla.com/D91446
This allows GeckoView to ask the embedding application to launch
other Activities on our behalf and collect the result. We need
this to invoke the FIDO authentication tools for WebAuthn.
Differential Revision: https://phabricator.services.mozilla.com/D91445
Without catching the error from evaluate.fromJSON() the default error handling
will kick-in and an UnknownError will be returned.
Differential Revision: https://phabricator.services.mozilla.com/D92218
In the past we had a problem with transparent windows and window shadows. This
is no longer a problem, because we have dropped the versions of macOS where it
is a problem [1].
So we now support acceleration on all window types.
But we don't necessarily want to use the OpenGL compositor or WebRender for all
windows, due to per-window overhead.
[1] Specifically, the problematic macOS versions are 10.9 and 10.10. On 10.9,
transparent windows with CoreAnimation content never have shadows, and on 10.10,
those windows only get a shadow when they are opened for the second time without
their size changing, see bug 1632895 comment 5. We now support only 10.12+.
Depends on D91828
Differential Revision: https://phabricator.services.mozilla.com/D91829
We already don't support transparency on non-popup windows, but the code in
nsChildView makes it look like we do.
The changes in this patch have the following effects:
- nsCocoaWindow::SetTransparencyMode no longer sets a white background color on
non-popup windows.
- nsChildView picks up the default implementation for Get/SetTransparencyMode
from nsBaseWidget, which ignores calls to SetTransparencyMode and always
returns opaque. The nsChildView methods were only called for non-popup
windows (popup windows call the nsCocoaWindow implementations), so this is
what we want.
Differential Revision: https://phabricator.services.mozilla.com/D91828
This also adds a diagonstic assert to make sure the code works in all process types.
And it adds another item to the sandbox IOKit property name allowlist, so that
the detection works in content processes.
This landed before, in bug 1649490, but without the sandbox adjustment (so it
didn't work in content processes).
Differential Revision: https://phabricator.services.mozilla.com/D91950
I have no idea what the issue is, but this fixes it. I figure it's not
worth putting too much effort into since this was just to make the tests
as DRY as possible, and not actually important.
Differential Revision: https://phabricator.services.mozilla.com/D92237
The patch in bug 1666497 (which makes regular <window>-based XUL
documents with other the XHTML-based ones) uncovers an issue in the
anchored popup tests, which starts timing out.
The underlying issue is that it changes the reflow order from popups in
XUL-only documents with respect to their anchors. Note that Firefox
already uses the "broken" code, because we moved to xhtml and
browser.xhtml doesn't use a XUL <window> anymore.
Since we reflow now the popup _after_ the anchor rather than before, we
don't need to rely on CheckForAnchorChange() to deal with changes. This
means that we need to notify on the positioning changes that happen
during reflow though.
We should be able to simplify a bit the CheckForAnchorChange() stuff
now, but it also takes care of hiding popups and such so I don't plan to
do it on this bug to minimize risk.
Differential Revision: https://phabricator.services.mozilla.com/D91012
When we are looking at a transform of an element relative to the surface
it's rendered into, we used to only consider the final transformation
when determining back-face visibility.
However, in case there are any Flat reference frames on the way,
the transformation is flattened. We should be checking for back-face
visibility on each such step.
This doc was helpful, although it doesn't have all the answers:
https://docs.google.com/document/d/1yb4a_uhTG3KmcbGPta4B9p67v1HO_qY8ZMk-otGOwTc/
Differential Revision: https://phabricator.services.mozilla.com/D92135