This patch also takes the timeout for killing a content process back to its
original value and removes a related but long unused field.
Differential Revision: https://phabricator.services.mozilla.com/D11739
--HG--
extra : moz-landing-system : lando
This patch removes the following functions:
* nsContentUtils::IsCustomElementsEnabled()
* CustomElementRegistry::IsCustomElementEnabled(JSContext* aCx, JSObject* aObject)
* CustomElementRegistry::IsCustomElementEnabled(nsIDocument* aDoc)
and all references of the pref.
Depends on D11183
Differential Revision: https://phabricator.services.mozilla.com/D11249
--HG--
extra : moz-landing-system : lando
This patch removes the dom.webcomponents.shadowdom.enabled pref and all its
references, including the following functions:
* nsContentUtils::IsShadowDOMEnabled()
* nsIDocument::IsShadowDOMEnabled()
* nsDocument::IsShadowDOMEnabled(JSContext* aCx, JSObject* aGlobal)
* nsDocument::IsShadowDOMEnabled(const nsINode* aNode)
* nsTextNode::IsShadowDOMEnabled(JSContext* aCx, JSObject* aObject)
This function is renamed and updated to nsDocument::IsCallerChromeOrAddon():
* nsDocument::IsShadowDOMEnabledAndCallerIsChromeOrAddon(JSContext* aCx, JSObject* aObject)
I didn't change the tests that load Shadow DOM tests in an iframe, in the interest of keeping hg annotation history.
Differential Revision: https://phabricator.services.mozilla.com/D11183
--HG--
extra : moz-landing-system : lando
LocalStorage needs to be exposed in every context except for sandboxes and
NullPrincipals (data: URLs, for instance). But we need to keep data
separate in some scenarios: private-browsing and trackers.
In private-browsing, LocalStorage keeps data in memory, and it shares
StorageEvents just with other origins in the same private-browsing
environment.
For Trackers, we expose a partitioned LocalStorage, which doesn't share
data with other contexts, and it's just in memory. Partitioned localStorage
is available only for trackers listed in the
privacy.restrict3rdpartystorage.partitionedHosts pref. See
nsContentUtils::IsURIInPrefList to know the syntax for the pref value.
Now that h2 is pretty well stable, and we're fairly confident in our hpack table implementation, it's worth hiding this logging without some extra hoops, as it's just a lot of noise in logs.
Differential Revision: https://phabricator.services.mozilla.com/D11406
--HG--
extra : moz-landing-system : lando
This adds a button to the preferences UI to restore the default value for network.trr.uri preference.
Differential Revision: https://phabricator.services.mozilla.com/D11356
--HG--
extra : moz-landing-system : lando
We want to introduce a new pref to block trackers that try to workaround our
heuristic. The pref is called:
privacy.restrict3rdpartystorage.userInteractionRequiredForHosts
- modify line wrap up to 80 chars; (tw=80)
- modify size of tab to 2 chars everywhere; (sts=2, sw=2)
--HG--
extra : rebase_source : 7eedce0311b340c9a5a1265dc42d3121cc0f32a0
extra : amend_source : 9cb4ffdd5005f5c4c14172390dd00b04b2066cd7
First one is for bug 968056. UI Events declares that "keypress" events should
be dispatched only when a key press produces one or more characters (and also
discussing about Enter key press for backward compatibility). Therefore, we
should stop dispatching "keypress" events for non-printable keys (like arrow keys,
Ctrl + A, etc) in the default group on content for conforming to UI Events, but
keep dispatching them in chrome and in the system group on content.
Next one is for bug 1479964. No spec declares that what value should be set
to keyCode and charCode value of "keypress" events because declaring that would
break existing web apps which handle them with UA string. However, some web
apps assume that if window.event is available, keyCode value of "keypress" event
is set to a Unicode code point of inputting character. We set only charCode
to it, but the other browsers sets both keyCode and charCode to a Unicode
code point of inputting character. Therefore, we need to follow the other
browsers' behavior for this because changing value from zero to non-zero is
safer than non-zero to non-zero or zero.
And also next one is for bug 354358. UI Events declares that "keydown" and
"keyup" events represent physical key state and should be fired even during
composition. As far as the reported issues, this behavior is expected mainly
by Korean web developers and some web apps depend on the behavior. Therefore,
we need to start to dispatch them during composition.
Finally, for bug 218415, we should enable window.event. This is declared by
the Living DOM Standard. A lot of web apps depend on window.event and the
last blocker, bug 1479964 was fixed so that it is the time to enable this.
Differential Revision: https://phabricator.services.mozilla.com/D13376
--HG--
extra : moz-landing-system : lando
Basically, we shouldn't have blacklist to disable web API. However, the
keypress event behavior changes are not standardized things. Therefore,
if some web developers realize that they need to change their apps when
it's too late for them, Firefox users need to use another browser for
such web apps for several weeks or more, and such things may make the users
switch their default browser. For avoiding such worst scenario, we should
take the blacklists and if we get such compatibility reports, we should
add the domains into the blacklist even in release channel.
Differential Revision: https://phabricator.services.mozilla.com/D13374
--HG--
extra : moz-landing-system : lando
Remember The Milk have upgraded their Google Closure Library and the bug has
gone now. Let's remove www.rememberthemilk.com from the blacklist.
Differential Revision: https://phabricator.services.mozilla.com/D13373
--HG--
extra : moz-landing-system : lando
Bug 1249474 suggested that we add image/webp to the front of the Accept
header for images, to indicate to servers that we actually support WebP.
Differential Revision: https://phabricator.services.mozilla.com/D8120
This patch re-enables the new behavior of bug 1479964, to set keyCode or
charCode of keypress event whose value is zero to the other's non-zero value.
However, some web apps are still broken with the new behavior. Therefore,
this patch adds a blacklist to keep using our legacy behavior in some specific
web apps.
Note that Google Docs, Gmail and Remember The Milk are reported as broken.
However, I don't see any broken shortcut with Gmail. Therefore, this patch
adds only Google Docs and Remeber The Milk into the blacklist.
Differential Revision: https://phabricator.services.mozilla.com/D10322
--HG--
extra : moz-landing-system : lando
https://tools.ietf.org/html/rfc8441
This uses our existing http/2 CONNECT infrastructure (modified) to
enable the new extended CONNECT form defined by 8441, and pretend for
the websocket's sake that an http/2 stream is actually a socket. From
the websocket's point of view, this is relatively non-invasive - a few
things have changed (http response code, absence of some headers) versus
http/1.1 websockets, but for the most part, the websocket code doesn't
care.
Differential Revision: https://phabricator.services.mozilla.com/D8016
--HG--
extra : moz-landing-system : lando
Make CityHash64, CityHash64WithSeed, and CityHash64WithSeeds usable from C code
Remove unnecessary includes from mar_read.c as well
Add DisableStlWrapping to mar tool's moz.build to fix linkage break when
building in Windows with MSVC
Differential Revision: https://phabricator.services.mozilla.com/D10774
Only a single type of additional block has ever been defined for the MAR
archive format and only a single block of that type is needed per file.
Limiting ourselves to reading only that until we define more seems
sensible.
Move additionalBlockSize check before first fread
Add MAXADDITIONALBLOCKSIZE as a constant for checking block sizes
Differential Revision: https://phabricator.services.mozilla.com/D10797
Summary:
Make CityHash64, CityHash64WithSeed, and CityHash64WithSeeds usable from C code
Remove unnecessary includes from mar_read.c as well
Add DisableStlWrapping to mar tool's moz.build to fix linkage break when
building in Windows with MSVC
Reviewers: rstrong
Reviewed By: rstrong
Bug #: 1468544
Differential Revision: https://phabricator.services.mozilla.com/D10774
--HG--
extra : rebase_source : a1b9e44f391bea63253d8bf036f53d071660a37b
extra : amend_source : d4d0e6024957c3faece2af608526f0ffa5b2119d
Summary:
Makes CityHash64, CityHash64WithSeed, and CityHash64WithSeeds usable from C code
Removes unnecessary includes from mar_read.c as well
Reviewers: rstrong
Reviewed By: rstrong
Subscribers: ulfr, dveditz, tjr, mhowell, jmathies, rstrong, jewilde
Tags: #secure-revision, #bmo-toolkit-core-security
Bug #: 1468544
Differential Revision: https://phabricator.services.mozilla.com/D10426
--HG--
extra : rebase_source : 4e3f97e07e7a17c454d22b80aa37752e31328224
extra : amend_source : d455610bb6c247401134b0a29070c3b48a0f01c4
This will be used by GeckoView to set initial pref values that would
normally come from prefs.js or similar on desktop and Fennec.
Differential Revision: https://phabricator.services.mozilla.com/D9820
shape-outside, shape-margin, shape-image-threshold have been shipped in Firefox
62. We can remove the preference.
The change in devtools/shared/css/generated/properties-db.js is generated by
"./mach devtools-css-db"
The actual shape-image CORS mode tests in file_shape_outside_CORS.html are
moved into test_shape_outside_CORS.html because we don't need the <iframe>
trick to enable the feature.
Differential Revision: https://phabricator.services.mozilla.com/D10804
--HG--
extra : moz-landing-system : lando
The limit only applied within a child process.
However, within a child process we already share cubeb stream when requesting
the same device multiple times, and disallow capturing from more than one device
at a time.
This limit no longer has any effect.
Differential Revision: https://phabricator.services.mozilla.com/D10339
--HG--
extra : moz-landing-system : lando
Also remove specified-value-only keywords, since those are handled
only in Rust code and C++ doesn't need to know about them.
Differential Revision: https://phabricator.services.mozilla.com/D9634
--HG--
extra : moz-landing-system : lando
1. Add a new preference, layout.css.step-position-jump.enabled, for
step(_, jump-*) timing functions.
2. We still keep JumpEnd and End tags, even though there is no difference
between them. Therefore, we could disable the preference if needed.
3. Update the calculation of StepTiming to match the algorithm in the spec.
4. For servo, we implement the correct step function algorithm except
for the handling of before_flag. This could be fixed later.
Depends on D9313
Differential Revision: https://phabricator.services.mozilla.com/D9314
--HG--
extra : moz-landing-system : lando
frames() timing function was removed from the spec, so we drop it.
Besides, some devtool tests are removed because they use frame(). I will
add them back by using new step function later.
Differential Revision: https://phabricator.services.mozilla.com/D9309
--HG--
extra : moz-landing-system : lando
This is what we have been working towards in all of the previous parts
in the series. This subclasses AnimationFrameDiscardingQueue to save the
discarded frames for recycling by the decoder, if the frame is marked as
supporting recycling.
Differential Revision: https://phabricator.services.mozilla.com/D7516
The reason of the crash is that the load group is released on non main thread. To fix the crash, simply use |NS_ReleaseOnMainThreadSystemGroup| to release the load group.
Note that this patch also proxy release other members on main thread just for safe.
Differential Revision: https://phabricator.services.mozilla.com/D9258
--HG--
extra : moz-landing-system : lando
The Webrender Pref Experiment is reporting its pref via telemetry and that is
reporting a different value than what the Normandy experiments telemetry
indicates should be being seen.
In Bug 1499552 I added a pref and telemetry reporting in preparation for running
a dummy Pref Experiment to verify that prefs set are reported as set, but I
realised I missed a case; where there's an existing default pref set,
we're only covering the case where that default pref has value false. We're seeing
a ~25% failure rate in the pref reporting. So we should cover the other three cases
in the dummy Pref Experiment, just in case it's one of these four cases that
is failing.
So here I add another dummy pref with a default value of true, and I report that
via telemetry. I rename the pref I added yesterday to make things consistent.
Differential Revision: https://phabricator.services.mozilla.com/D9156
--HG--
extra : moz-landing-system : lando
Add a pref called gfx.font_ahem_antialias_none which disables
antialiasing for any font with the family name "Ahem". This is useful
for wpt reftests where antialaising of Ahem causes spurious failures.
Differential Revision: https://phabricator.services.mozilla.com/D7200
Disable dom.xhr.standard_content_type_normalization for now due to webcompat issues
Differential Revision: https://phabricator.services.mozilla.com/D8789
--HG--
extra : moz-landing-system : lando
The Webrender Pref Experiment is reporting its pref via telemetry and that
is reporting a different value than what the Normandy experiments telemetry
indicates should be being seen.
So add reporting for two dummy prefs, one with a default value, and one
without. We intend to push out Normandy rules to report these prefs to
double-check that Normandy is working as expected.
Differential Revision: https://phabricator.services.mozilla.com/D8926
--HG--
extra : moz-landing-system : lando
Disable dom.xhr.standard_content_type_normalization for now due to webcompat issues
Differential Revision: https://phabricator.services.mozilla.com/D8789
--HG--
extra : moz-landing-system : lando
This implements the selector(<complex-selector>) syntax for @supports.
See https://github.com/w3c/csswg-drafts/issues/3207 for explainer and
discussion.
Probably would should wait for that to be sorted out to land this, or maybe we
should put it behind a pref to get the code landed and change our
implementation if the discussion there leads to a change.
Differential Revision: https://phabricator.services.mozilla.com/D8864
--HG--
extra : moz-landing-system : lando
This commit adds a scroll origin, nsGkAtoms::relative, which can be used to
mark main thread scrolling that can be combined with a concurrent APZ scroll.
The behavior of this is controlled by a pref, apz.relative-update. This pref
is initially activated and is intended as an aid to narrowing down causes
of regressions for users in bug reports.
Relative scroll updates work by tracking the last sent or accepted APZ
scroll offset. This is sent along with every FrameMetrics. Additionally,
a flag is added to FrameMetrics, mIsRelative, indicating whether the
scroll offset can be combined with a potential APZ scroll. When this
flag is set, AsyncPanZoomController will apply the delta between the sent
base scroll offset, and sent new scroll offset.
This flag is controlled by the last scroll origin on nsGfxScrollFrame. The
new origin, `relative`, is marked as being able to clobber APZ updates,
but can only be set if all scrolls since the last repaint request or
layers transaction have been relative.
Differential Revision: https://phabricator.services.mozilla.com/D8234
--HG--
extra : rebase_source : 51351a84c9cda228a0975e22eda3fd3bd8d261c4
extra : histedit_source : 4b564c19b16fe2bd26adc671b62b7cb6106e8163
This changes the containerful scrolling pref to be an override pref
such that it is:
- always false on desktop (i.e. always use containerless there)
- always true in Fennec (i.e. never use containerless there)
- true in GeckoView if WebRender is disabled (i.e. only use
containerless with WebRender).
The first two cases are the same as before; the last case is new.
Because we don't create layers with WR, the containerless vs
containerful distinction doesn't make much sense there, and we need to
implement a bunch of zooming glue in either case. So it makes sense to
go with the "way of the future" and keep it containerless.
Differential Revision: https://phabricator.services.mozilla.com/D8733
--HG--
extra : moz-landing-system : lando
Update placeholder value of DNS over HTTPS input to the cloudflare provider add a default pref value for network.trr.uri
Differential Revision: https://phabricator.services.mozilla.com/D8639
--HG--
extra : moz-landing-system : lando
This adds a button to the preferences UI to restore the default value for network.trr.uri preference.
Differential Revision: https://phabricator.services.mozilla.com/D7359
--HG--
extra : moz-landing-system : lando
It just doesn't work.
We add the preference media.wmf.force.allow-p010-format to force enable it.
Depends on D8136
Differential Revision: https://phabricator.services.mozilla.com/D8310
--HG--
extra : moz-landing-system : lando
Adds a timout that will resolve the promise to return even if we did not get an answer from
all children.
MozReview-Commit-ID: FFLwAUkkYos
Differential Revision: https://phabricator.services.mozilla.com/D7265
--HG--
extra : moz-landing-system : lando
This increases the default amount of content processes on nightly to 8. It
is nightly only and will not ride the trains.
--HG--
extra : rebase_source : 54bfae28921240d985957d59bf64ca91bd6a0f19
extra : intermediate-source : 72e7ef77480d0845ceabb5d3747a5523db6bda9d
extra : source : d5375325488f449c45dd032bc8167ebebca07497
For now, the H264 decoding support is rather sturdy. It handles change of resolution and content smoothly thanks to the H264Converter.
The VP8/VP9 one however, not so much.
So we make a preference to only enable H264 for now.
Depends on D7895
Differential Revision: https://phabricator.services.mozilla.com/D7908
--HG--
extra : moz-landing-system : lando
Summary:
The fix of bug 1479964 breaks some web apps using Google Closure including
Google's apps. So, for Nightly testers, we should disable the new behavior
until Google Closure fixes it or we can disable the new behavior per web apps.
Reviewers: smaug
Reviewed By: smaug
Bug #: 1497546
Differential Revision: https://phabricator.services.mozilla.com/D8090
--HG--
extra : histedit_source : 03f59268c220297040c1c5186e62a05710d468b9
Chrome sets both KeyboardEvent.keyCode and KeyboardEvent.charCode of "keypress"
event to same value. On the other hand, our traditional behavior is, sets
one of them to 0.
Therefore, we need to set keyCode value to charCode value if the keypress
event is caused by a non-function key, i.e., it may be a printable key with
specific modifier state and/or different keyboard layout for compatibility
with Chrome. Similarly, we need to set charCode value to keyCode value if
the keypress event is caused by a function key which is not mapped to producing
a character.
Note that this hack is for compatibility with Chrome. So, for now, it's enough
to change the behavior only for "keypress" event handlers in web content. If
we completely change the behavior, we need to fix a lot of default handlers
and mochitests too. However, it's really difficult because default handlers
check whether keypress events are printable or not with following code:
> if (event.charCode &&
> !event.altKey && !event.ctrlKey && !event.metaKey) {
or
> if (!event.keyCode &&
> !event.altKey && !event.ctrlKey && !event.metaKey) {
So, until we stop dispatching "keypress" events for non-printable keys,
we need complicated check in each of them.
And also note that this patch changes the behavior of KeyboardEvent::KeyCode()
when spoofing is enabled and the instance is initialized by initKeyEvent() or
initKeyboardEvent(). That was changed by bug 1222285 unexpectedly and keeping
the behavior makes patched code really ugly. Therefore, this takes back the
old behavior even if spoofing is enabled.
Differential Revision: https://phabricator.services.mozilla.com/D7974
--HG--
extra : moz-landing-system : lando
This increases the default amount of content processes on nightly to 8. It
is nightly only and will not ride the trains.
--HG--
extra : rebase_source : a39b9aa36e10e18b8c8e050d69d639178b6f1a5a
extra : source : d5375325488f449c45dd032bc8167ebebca07497
These have been been on nightly / beta for a couple months without any single
regression filed against them.
Let the prefs ride the trains, but keep them, so we can toggle them easily if
needed.
Differential Revision: https://phabricator.services.mozilla.com/D7960
--HG--
extra : moz-landing-system : lando
This activates by default the new about:performance page and its underlying
counters in Firefox
MozReview-Commit-ID: LccL6zBHUHm
Differential Revision: https://phabricator.services.mozilla.com/D7884
--HG--
extra : moz-landing-system : lando
JIT warmup options were exposed to preferences to facilitate experimentation/optimization.
The baseline and ion warm up thresholds had already been exposed through JSAPI, just needed to read from Preferences.
The ion JitOption, frequentBailoutThreshold, was also exposed to JSAPI and Preferences.
Differential Revision: https://phabricator.services.mozilla.com/D7321
--HG--
extra : moz-landing-system : lando