Commit graph

200 commits

Author SHA1 Message Date
Moonchild
fc95b11fae Issue #1859 - Part 2: xz-embedded build config changes
Always build as static lib for use in updater.
2022-04-19 22:04:36 +08:00
Moonchild
bf11d77c4c Issue #1859 - Part 1: Update xz-embedded library.
This also updates the script for updating and README.
2022-04-19 22:04:15 +08:00
FranklinDM
4f059d2c8b Issue #1838 - Part 1: Remove CSS grid preference
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1398492
2022-04-19 21:55:49 +08:00
roytam1
cefef008d1 Bug 1721107 - block mk protocol, r=dveditz, a=RyanVM 2021-09-16 10:23:03 +08:00
Moonchild
3612f45a90 [network] Stop treating http and https as different for encoding schemes.
There is no reason to treat available encoding schemes for these protocols
differently.
2021-07-15 09:23:13 +08:00
Moonchild
b33cc1faa8 [network] Enable brotli compression on http for sites that offer it. 2021-07-08 09:57:11 +08:00
athenian200
efc6048941 Issue #1784 - Add -moz-dark-theme media query and allow prefers-color-scheme to follow it. 2021-06-24 11:10:22 +08:00
Moonchild
a4b0f333ba Issue #1751 -- Remove XP_MACOSX conditionals from the rest of the tree.
This also removes some PP abuse and takes file entries out of PP when no longer
needed without XP_MACOSX conditionals.
2021-05-07 09:53:59 +08:00
athenian200
618fa768c8 Issue #1757 - Reinstate "dom.details_element.enabled" preference
The removal of this preference was botched, all other surrounding plumbing changes appear to be working okay. The ability to use prefs to control this stylesheet might be useful in the future, so perhaps this is one of those "if it ain't broke, don't fix it" bugs where leaving well enough alone in the first place would have been the best choice.
2021-04-02 10:33:54 +08:00
athenian200
da2461fa57 Issue #1752 - Implement "prefers-color-scheme" as a user preference.
This PR passes all current tests for this feature, and implements the "prefers-color-scheme" media query as an enumerated keyword that is controlled by an integer preference.

Currently, the possible options are 0 to see a website's fallback code and essentially behave like this isn't implemented (our current behavior), 1 to express a preference for a light theme (the default for spec reasons), and 2 to express a preference for a dark theme. Over time, this list may expand to include other preferences like a preference for a sepia theme or something, and this leaves us prepared for that future.
2021-03-25 09:05:20 +08:00
Moonchild
a29e342411 [CSS] Enable scrollbar-width keyword by default.
I totally forgot this <.<
2021-03-19 09:07:46 +08:00
Moonchild
0ced696351 Issue #1053 - Remove Android-specific blocks from system headers and /dom 2021-03-12 08:57:47 +08:00
Matt A. Tobin
d4324dc064 Issue #1390 - Clean up presentation api leftovers 2021-01-27 21:01:56 +08:00
Moonchild
a828a5f321 Issue #1719 - Make <menuitem> pref-controlled and disable by default.
Resolves #1719
2021-01-27 21:01:54 +08:00
Moonchild
74680d59a1 Issue #1319 - Resolve RELEASE_OR_BETA questions in all.js
- Enabled SVG transform-box property. I've tested this extensively including the
bug that prevented Mozilla from shipping until 55 which does not seem to apply
to us (most likely a stylo issue). Should be good to go.
- Moved the getRootNode pref to a better place (no change)
- Enabled inputmode property for forms. This is n/a for physical keyboards but
should improve the experience for soft keyboards that can pop up various forms
of input (e.g. numeric) depending on the mode indicated. According to BZ this is
feature complete at our level but was problematic for Android which we don't
have support for anyway.
- Restricted crashing on insecure input of text to debug only.
- Enabled shutting down the async OSFile worker if not used for 30 seconds to
be more conscientious about resource use.
- Enabled blocking of autoplay of media in the background by default, since it
is a saner default to have for the OOBE and is commonly a desired setting by
users (see forum).
- Disabled the storage manager API by default. This fine-grained control over
stored website data is already handled by various extensions and we don't have
the front-end support for it. Assuming this was necessary for Mozilla due to
limited access of WebExtensions to this kind of data.
2021-01-27 21:01:51 +08:00
Moonchild
07ca4f6f03 Issue #1630 - Enable W3C pointer events by default.
Resolves #1630
2021-01-21 14:31:52 +08:00
Matt A. Tobin
1f54cfa658 [Media] Enable AV1 by default if built 2021-01-21 14:31:50 +08:00
Moonchild
de53821109 Issue #1689 - Part 5: Enable DOM Animations API except the preffed-off parts.
This enables the DOM Animations API core functions with the exception of those
parts that are either unimplemented or not ready for use, which have been
preffed off in this issue's previous parts.

Also tag #1319 for enabling a previous RELEASE_OR_BETA shielded API.
2021-01-21 14:31:25 +08:00
Moonchild
15feed4c00 Issue #1689 - Part 4: Add a preference for {Document,Element}.getAnimations()
This is probably the last thing we will ship (if ever) since it needs the most
spec and implementation work for arbitrary use that is pretty far into a corner.
2021-01-21 14:31:23 +08:00
Moonchild
fdeb68f0b8 Issue #1689 - Part 3: Add a preference for animation composite modes.
This feature should not be shipped until the various definitions of addition for
each additive property are properly specified and then implemented accordingly.

Unlike other patches in this series, compositing is not frequently used
internally so there is no need to enable this by default for chrome callers.
2021-01-21 14:31:22 +08:00
Moonchild
d9693c298c Issue #1689 - Part 2: Add a preference for implicit keyframes
This preference controls whether authors are allowed to specify animations
without a 0% or 100% keyframe.

We intend to ship this but it isn't implemented yet (needs a follow-up) but this
preference acts as a safeguard in case we discover we need to disable it once
it's implemented.
2021-01-21 14:31:20 +08:00
Moonchild
ad1e2abea1 Issue #1689 - Part 1: Add pref for DOM Animation timelines API
Default false, no intent to ship for web content. Always enabled for Chrome.
2021-01-21 14:31:18 +08:00
Moonchild
8e08d8bfd3 Issue #1705 - Part 4: Add scrollbar-width CSS keyword to CSS parser.
This should be all parts needed to add a brand new enum keyword including
getting the computed style from it...
2021-01-14 22:19:55 +08:00
Matt A. Tobin
325e57e916 Issue #1624 - Fix slot access intrinsics for objects with > 16 reserved slots
Also flips ion inlining pref back on
2021-01-14 22:19:19 +08:00
Moonchild
b21588597c Issue #1053 - Part 1c: Remove references to mobile/android targets and paths 2021-01-01 09:59:58 +08:00
Moonchild
de6b427be4 Revert "Issue #1391 - Disable DOM Filesystem/dirpicker APIs by default."
This reverts commit 45a976a5f1e83c3c2f7fcf85b1fa5315946f4c1a.
2020-12-10 10:31:45 +08:00
Moonchild
0f4c395865 Issue #1624 - flip the inlining pref.
The default is now set to the more stable but slower global setting.
2020-12-04 08:52:52 +08:00
Moonchild
ec0865128b Issue #1624 - Make ion inlining optimizations a pref.
This also adds it to JS_SetGlobalJitCompilerOption()
2020-12-04 08:52:49 +08:00
Werner Lemberg
94187c71cf [sfnt] Fix heap buffer overflow.
This is CVE-2020-15999.

* src/sfnt/pngshim.c (Load_SBit_Png): Test bitmap size earlier.
2020-11-20 09:31:30 +08:00
Moonchild
aa16c6c7ee [UA] Change default compatibility mode version to 68.0
Since several entities have started to ban .9 versions, even if they are valid
ESR versions.
2020-11-16 21:10:36 +08:00
Moonchild
48a4d20592 Issue #1683 - Update libjar module. 2020-11-16 21:10:23 +08:00
Moonchild
390f3a6272 Issue #1683 - Update Brotli lib to 1.0.9 2020-11-16 21:10:22 +08:00
Moonchild
889311cd74 [libjar] Fix inflation logic.
This has been broken for 11 years. About time it's fixed.
Tag #1683
2020-11-16 21:10:20 +08:00
Moonchild
6d5eda3010 Issue #1682 - Remove vibrator DOM interface and support code.
Resolves #1682
2020-11-16 21:10:19 +08:00
Moonchild
8bc226c258 Issue #1391 - Disable DOM Filesystem/dirpicker APIs by default.
There don't seem to be any drawbacks to this; tested for the past month disabled
and there have been no issues with any sites visited. Adoption seems very low.
2020-11-16 21:10:18 +08:00
Moonchild
0cd673d720 Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
Moonchild
30df895eb2 Issue #1656 - Part 3: Nuke more vim config lines in the tree.
Another S&R run with some smarter matching.
2020-09-25 22:04:17 +08:00
Moonchild
8c395520d9 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-25 22:04:12 +08:00
Moonchild
abb3630983 Issue #1643 - Part 2: Implement ResizeObserver API
Implements ResizeObserver, ResizeObserverEntry and ResizeObservation
2020-09-18 20:53:14 +08:00
athenian200
9532970df5 Issue #1641 - Implement CSS flow-root keyword
This is just a clean port of 1322191 and follow-up 1325970. It really seems to add create a new way to access existing code relating to block formatting and floating elements rather than implementing new functionality, and it is mercifully straightforwards.
2020-09-04 22:31:00 +08:00
Moonchild
2e6ec48b81 [misc/mar] Don't use a signed type for a length parameter. 2020-08-29 08:11:17 +08:00
Moonchild
209eb0a245 [media] Only include source error details in debugging scenarios.
Unless a user is debugging media errors, this detail is unnecessary to report
and could include sensitive data which could be abused by third-party
requesters. This aligns it with the standard success/error paradigms in normal
browsing situations.
2020-08-29 08:11:13 +08:00
athenian200
42d14af9a3 Issue #1629 - Part 3: Implement behind preference.
This is not very "clean," and is mostly done in the same sloppy way as Emilio did it because that's basically the only way you can do it. Note well that this does NOT actually turn off everything I've done in a clean fashion like ifdefs would. For instance, the Explicitly Enabled flag is still present, but is now always false because the only condition that can set it true is behind the pref and therefore inert when this pref is off. Also, because the arguments of SetDisabled have changed, my modifications to SetMozDisabled must be present regardless of whether the pref is on or off. What I have done is turn off the actual reflection of the disabled attribute in Disabled and SetDisabled, as well as in AfterSetAttr.

However, turning the pref off seems to restore more or less our old behavior, though there may be subtle differences unlike with an ifdef since this is, unfortunately, not an exact science and I can only turn off changes that happen within individual functions and not changes in how functions interact with each other.
2020-08-19 16:21:22 +08:00
Andy
9f48a59946 Issue #1620 - Enable Intrinsic Ratio by Default
A simpler name feels so much cleaner.
2020-08-14 08:59:37 +08:00
Andy
be1f68f39e Issue #1620 - Use Intrinsic Aspect Ratio for Images
https://bugzilla.mozilla.org/show_bug.cgi?id=1547231
https://bugzilla.mozilla.org/show_bug.cgi?id=1559094
https://bugzilla.mozilla.org/show_bug.cgi?id=1633434
https://bugzilla.mozilla.org/show_bug.cgi?id=1565690
https://bugzilla.mozilla.org/show_bug.cgi?id=1602047

Make use of Aspect Ratios in Image frames before Images are loaded.
- Check for width and height HTML properties and create a ratio with them.
- Overwrite HTML size values with actual image dimensions on load.
- Collapse any frames with srcless images.

Comments:
dom/html/nsGenericHTMLElement.cpp:1483
layout/generic/nsImageFrame.cpp:289
2020-08-14 08:59:33 +08:00
Moonchild
26990a1d74 Pref and disable getRootNode()
This is apparently used for fallback selection and if available it is "assumed"
Shadow DOM is also available, while this is a utility function.

Webcompat is a nightmare sometimes.
2020-08-08 06:56:50 +08:00
Moonchild
b33e80b186 Issue #1391 - Remove the DOM battery API 2020-07-31 08:07:41 +08:00
Moonchild
b36f73fc57 [css] Enable various arbitrarily-disabled CSS features in the platform.
These should all be spec-compliant and were (for release-trickling of features)
arbitrarily disabled by Mozilla at our fork point. There's no real reason to
keep them disabled since they are used in the wild.
2020-07-25 06:25:48 +08:00
Matt A. Tobin
ed0edf6a22 Issue #1611 - Enable WASM by default but only enable jit when 64bit 2020-07-25 06:25:44 +08:00
Moonchild
1b3eeca9eb Issue #1587 - Part 10: Expose controlling pref and enable by default 2020-06-12 22:12:39 +08:00