Fixes bug in which an empty input value would always populate back to 100.
Defines a valid input as numbers between 0 and 100.
If there is an invalid input, the scaling property does not update.
An empty range will set the scaling property back to the defalt value of 1.
Differential Revision: https://phabricator.services.mozilla.com/D85795
- Convert DOMSVGAnimatedString to a concrete class rather than having two almost identical derived classes that differ only by the class of the mVal pointer
- Introduce tear off support for SVGAnimatedClass
- Move to native refcounting rather than nsISupports
Differential Revision: https://phabricator.services.mozilla.com/D84924
This patch changes the paramters to setSearchMode. The original patch to introduce search mode passed engineName to setSearchMode instead of the entire engine object. It was suggested in review that the nsISearchEngine be passed so we could run instanceof to distinguish it from a RESULT_TYPE. This patch reverses this and passes engineName instead through a destructured parameter.
In pickResult, we need to enter search mode synchronously based on the information in a result payload. Result payloads can't/shouldn't pass around complex objects like an nsISearchEngine, so we just pass engineName and the alias as strings. Since pickResult is synchronous, we can't use UrlbarSearchUtils to look up the engine based on the engineName. Besides, setSearchMode only uses engineName, so looking up the engine only to just use its name seems like a waste of resources.
This patch also disables autofill in search mode queries. Autofill was interfering with alias replacement. We were already half doing this (https://searchfox.org/mozilla-central/rev/26b13464c2beb26e0d864d561c30e817a85c348a/browser/components/urlbar/UrlbarController.jsm#391) but adding the searchMode check to UrlbarInput._maybeAutofillOnInput should resolve bug 1655473.
There's still one more bug I'm working through where the placeholder disappears after alias replacement. I though I'd get this out to start review regardless since we want to get the three patches discussed in Thursday's meeting out ASAP.
Differential Revision: https://phabricator.services.mozilla.com/D86389
This effectively restores the behavior on windows, though it still
doesn't fix the "save last used printer" functionality. This is the only
caller affected because on the others we fall back to the system default
if there's no printer name specified...
The map() is not the prettier, let me know if you have something cleaner
in mind.
Differential Revision: https://phabricator.services.mozilla.com/D86494
`ReadyToExecuteParserBlockingScripts` was walking the ancestor chain but
would stop if it hit an OOP ancestor. With this change we walk the
`WindowContext` tree instead, so that we may skip over OOP ancestors
and continue checking all in process ancestors.
Differential Revision: https://phabricator.services.mozilla.com/D86436
Two things change:
* The main API change (.printers being async), with a bit of uglyness
because XPCOM (which makes us call QueryInterface by hand).
* lastUsedPrinterName no longer iterates the name of printers
internally to guarantee it's valid, so we need to do that in the
front-end.
Depends on D86397
Differential Revision: https://phabricator.services.mozilla.com/D86407
I intentionally removed the "move the default printer to the front" in
windows because that's not a guarantee that we provide in CUPS, but lmk
if you want it back.
I have zero idea about why the GlobalPrinters code was so ridiculously
complex.
Depends on D86396
Differential Revision: https://phabricator.services.mozilla.com/D86397
nsNSSComponent has a background task queue that can be used for importing
intermediates from TLS connections instead of using the certificate
verification thread pool.
This patch also addresses places where PSM was directly accessing the isperm
member of CERTCertificate, which is protected by a lock.
Differential Revision: https://phabricator.services.mozilla.com/D86051
Creation cost of `nsRange` is expensive, and it's only user,
`HTMLEditor::HandleDeleteNonCollapsedRanges()` wants to extend the range.
Therefore, we can make it directly extend the given range.
Differential Revision: https://phabricator.services.mozilla.com/D85849
It may be faster to use `AutoTrackDOMRange` directly. Therefore, current
`WhiteSpaceVisibilityKeeper::PrepareToDeleteRange()` should be renamed to
`WhiteSpaceVisibilityKeeper::PrepareToDeleteRangeAndTrackPoints()` and
we should make `HTMLEditor::HandleDeleteNonCollapsedSelection()` track
the range by itself.
Depends on D85846
Differential Revision: https://phabricator.services.mozilla.com/D85847
There is only `AutoTrackDOMPoint`, but
`HTMLEditor::HandleDeleteNonCollapsedSelection()` requires to tack pairs of
DOM points, i.e., requires to track ranges. For making the code simpler,
we should have range tracker too.
Depends on D85845
Differential Revision: https://phabricator.services.mozilla.com/D85846
This is very simple, but it gets the job done. It keeps a map in `UrlbarInput`
from browsers to search mode objects. The map is updated in `setSearchMode`, and
it's used to set the search mode in `_afterTabSelectAndFocusChange`.
Differential Revision: https://phabricator.services.mozilla.com/D86296
This is a narrow fix to the bug, which happens because I removed this
conditional in bug 1654439: https://hg.mozilla.org/mozilla-central/rev/f561eb606ad3#l1.251
That conditional kept the selection out of the one-offs when the urlbar hid
them. This patch replaces that conditional with a version that can be overridden
by the urlbar subclass. It adds a `hasView` getter that is equivalent, but note
that `this._view` can't be used because the urlbar subclass sets `this.view` in
its constructor and never nulls it out, unlike the original implementation. So
instead the subclass `hasView` checks whether the one-offs are hidden. This is
effectively the same thing because in the old implementation the urlbar one-offs
were hidden at the same time `this._view` was nulled out.
Differential Revision: https://phabricator.services.mozilla.com/D86293
When a clearance frame is discovered in a BFC
subtree (`ReflowInput::WillReflowAgainForClearance()` is true), all the
block descendants of the BFC return from `ReflowBlockFrame` immediately
without placing their children or requesting continuation for their
children, etc., because the BFC is going to reflow the subtree a
second time.
When this happens, any block descendant whose lines contain pushed
floats should be marked dirty and reflowed again so that they can go
through all the split floats logic and set their nsReflowStatus to
incomplete/overflow-incomplete correctly. (We may develop a smarter way
in bug 851629 to make the performance better.)
The condition `aState.mPresContext->IsPaginated()` is added to prevent
1406291-1.html from failing. In 1406291-1.html, the table containing the
float in its subtree is being pushed to the second page due to force
break, and the float is in PushedFloatsList of its parent block. When we
reflow the block again (in the second page), it is reflowed under the
measuring stage of the table layout with unconstrained available
block-size. nsBlockFrame::DrainSelfPushedFloats() deliberately doesn't
drain pushed floats if their placehoder are in the same block, and
expect the floats to be reflowed again. Before this patch, the line can
be marked dirty via HasPushedFloats(), but in this patch,
HasPushedFloats() is moved into the nested if-else, so we need
`aState.mPresContext->IsPaginated()` to let the block know that it's in
a paginated context, and needs to reflow any line that contains pushed
floats.
Differential Revision: https://phabricator.services.mozilla.com/D85480
Before this patch, a block frame considers a line dirty only if the line's
block-end is larger than content area's block-end.
However, scrollable overflow area should be broken in paginated environment
(both in a column container and in printing). We should take this into account
when marking a line dirty.
The dynamic wpt reftests are written with the following conditions in mind to
expose the bug:
1. Initially, all the elements fit into the first column.
2. After shrinking the multicol height, the block itself still fits into
the first column, but its tall child (either a simple tall block or a
tall float), which overflows the smaller multicol height, needs to be
broken.
The flexbox printing reftest are similar. A flex container uses
unconstrained available block-size to measure flex items' block-size,
and then performs a final reflow with constrained available block-size,
which is similar to the dynamic scenario above. One caveat is that flex
items usually have IsBResize() set. So to expose this bug, a float
element needs to be deeply nested under a flex item.
Differential Revision: https://phabricator.services.mozilla.com/D85479
Automatic update from web-platform-tests
[WPT] Errors caught/reported for importScripts() (#24810)
This CL adds WPTs for exceptions in importScripts() captured by
- WorkerGlobalScope error event handler or
- try/catch.
Some of the tests are migrated from non-WPT web_tests.
The tests are failing on Chromium right now, and will pass
after
https://chromium-review.googlesource.com/c/chromium/src/+/2328394/.
Bug: 1111134, 1111750, 795636
Change-Id: Ie19085171261d4baf307b6544ff6a8da1a8e9041
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2327787
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Domenic Denicola <domenic@chromium.org>
Reviewed-by: Dominic Farolino <dom@chromium.org>
Cr-Commit-Position: refs/heads/master@{#794474}
Co-authored-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
--
wpt-commits: 059a8ae79c2c44ef2eda3ccb412b0773e99c26b6
wpt-pr: 24810
Automatic update from web-platform-tests
[TrustedTypes] WPT test > check violation's sourceFile.
Check what is the reported sourceFile depending on the script's origin.
Currently, the full URL isn't exposed in the case of a cross-origin
script. This is an issue. See https://crbug.com/1113163
TODO: Add checks with redirects.
Bug: 1113163
Change-Id: I8bbd1234a485568127a21c6abfbd4d4a623494f2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2341125
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795841}
--
wpt-commits: af3059a547d3843001ed2aa7537418f1c9850c92
wpt-pr: 24905
Automatic update from web-platform-tests
content-visibility: Add a (failing) test for composited descendant bug.
This patch lands a test and marks it as failing. Since the solution
to this bug doesn't seem obvious yet (see the referenced bug), we
should land the test so any of the potential fixes can be verified on
the bots.
R=chrishtr@chromium.org, wangxianzhu@chromium.org
Bug: 1113838
Change-Id: I410766ce8294309840ca21945c3b231c018825aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2341356
Commit-Queue: vmpstr <vmpstr@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795770}
--
wpt-commits: 688aeffbd02c1e05a159c64938ad9b43e3d8ec6e
wpt-pr: 24909
Automatic update from web-platform-tests
[css-flex] Update test to wait for image load before checking sizes
This test flaked on me locally with:
height expected 100 but got 0
Which is consistent with calling checkLayout before the image has
loaded, but not a guarantee that's what's happening. I haven't been able
to reproduce it.
In any case, this change can't hurt.
Change-Id: I1bf8ccb935845c6e5e4529694c2d77e3f4a529a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2340735
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: David Grogan <dgrogan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795652}
--
wpt-commits: 4afc499e300020a425144d8a6034abc75efa1e17
wpt-pr: 24906
Automatic update from web-platform-tests
Update tests for forced breaks at fragmentainer start.
If there's a forced break, and it's at a valid class A breakpoint, we
may break there. There's nothing in the spec suggesting otherwise.
This is working correctly in the LayoutNG fragmentation engine, but not
in the legacy engine (where we require some non-zero block-size content
to allow forced breaks). Remove invalid tests, and add a couple of valid
ones.
Bug: 1100849
Change-Id: I1829a00a4e9761906ebe4536ded9c994f4737e69
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2339663
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795604}
--
wpt-commits: c7c27f9106d063ad4764aacdef5cb472c4be676e
wpt-pr: 24907
Automatic update from web-platform-tests
[Fixup] discord web app doesn't work because of getPointAtLength
Remove |EnsureComputedStyle| on SVGPathElement::getPointAtLength.
Although <path> is in an inactive document, <path> element can compute
the total length of path. Because the equivalent path of a ‘path’
element is simply the path itself.
Bug: 972979, 1108966
Change-Id: I5194352c1d4452dacc721f3ae223019998859d13
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2339714
Commit-Queue: Stephen Chenney <schenney@chromium.org>
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795584}
--
wpt-commits: dd51bfa9ef3b7d7494c1c492707b11fece103c14
wpt-pr: 24893
Automatic update from web-platform-tests
[taskcluster] Schedule Chrome Nightly epochs/daily
as well as triggers/chrome_nightly
The task will install Chromium ToT automatically.
--
wpt-commits: ee8019795741475935690c58b6e24a10a918ba55
wpt-pr: 24904