Граф коммитов

713337 Коммитов

Автор SHA1 Сообщение Дата
Mihai Alexandru Michis 373bb89e8a Bug 1645598 - Fix lint error on head_storage.js a=lint-fix
CLOSED TREE
2020-06-15 16:31:39 +03:00
Tooru Fujisawa 65ff96d3dc Bug 1644698 - Part 3: Add COption enum for binding. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D79444
2020-06-15 13:07:22 +00:00
Tooru Fujisawa 8b9a1bbe69 Bug 1644698 - Part 2: Directly use enum in SmooshMonkey binding. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D79443
2020-06-15 13:07:14 +00:00
Tooru Fujisawa b37c8473aa Bug 1644698 - Part 1: Update ScriptStencil structs. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D79442
2020-06-15 13:07:07 +00:00
Rob Wu 206ca19c33 Bug 1645598 - Vendor application-services for fix in webext-storage r=lina
To get this fix: https://github.com/mozilla/application-services/pull/3235

Updated as follows:

```
sed -i 's/e8d7530319fa6c20d9de78d031c9398630eca3cd/61dcc364ac0d6d0816ab88a494bbf20d824b009b/g' services/fxaccounts/rust-bridge/firefox-accounts-bridge/Cargo.toml services/sync/golden_gate/Cargo.toml toolkit/components/extensions/storage/webext_storage_bridge/Cargo.toml toolkit/components/glean/Cargo.toml toolkit/library/rust/shared/Cargo.toml
./mach vendor rust
```

Verified by running the new regression test that I added in the bug:

```
./mach test toolkit/components/extensions/test/xpcshell/test_ext_storage_{local,sync,sync_kinto}.js
```

Differential Revision: https://phabricator.services.mozilla.com/D79628
2020-06-15 12:56:58 +00:00
Rob Wu 74838ef151 Bug 1645598 - Add unit test for storageArea.get with defaults r=rpl
... and remove unused `checkGetImpl` calls from the test.

Differential Revision: https://phabricator.services.mozilla.com/D79614
2020-06-15 13:09:18 +00:00
Jason Orendorff 87b8f09585 Bug 1641355 - Change AggregateError.errors to a data property on instances. r=tcampbell,peterv.
The changes in xpconnect are necessary because this is not being specified in
the usual way, with a getter. Ordinary data properties require an explicit
loophole to make them visible through X-ray wrappers.

Differential Revision: https://phabricator.services.mozilla.com/D77181
2020-06-11 14:57:00 +00:00
Benjamin Bouvier fbbed3d9e4 Bug 1645336: Cranelift: don't paste function's body if there's none; r=cfallin
This solves a remaining failure in wasm/spec/spec/left-to-right.wast.js, where
the whole function's body is optimized away.

Differential Revision: https://phabricator.services.mozilla.com/D79439
2020-06-15 10:10:04 +00:00
Benjamin Bouvier 96a6d1d1bf Bug 1645336: Cranelift: use the resumable_trapnz instruction for interrupt checks; r=cfallin
Using the trapnz instruction was incorrect, because traps can't be resumed in
theory, so the previous x86 backend was only working because it would not
remove the jump after this trap instruction. Make it more correct by not lying
to Cranelift and use a conditional resumable trap instead.

Will need a Cranelift bump as well.

Differential Revision: https://phabricator.services.mozilla.com/D79438
2020-06-15 10:10:53 +00:00
Benjamin Bouvier 23b40c5736 Bug 1645336: Bump Cranelift to 238ae3bf2111847f60089656eb97fc9345295b1f; r=jseward
Differential Revision: https://phabricator.services.mozilla.com/D79659
2020-06-15 10:16:20 +00:00
Kartikaya Gupta 5606d64a06 Bug 1645764 - Turn ANCHOR_LOG into a MOZ_LOG. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D79658
2020-06-15 12:38:27 +00:00
Jan-Ivar Bruaroey 6a631e1d90 Bug 1645679 - update wpt expectations r=ng
Differential Revision: https://phabricator.services.mozilla.com/D79623
2020-06-15 10:51:22 +00:00
Sylvestre Ledru e3c09c4029 no bug - doc: remove an old reference to mdn r=championshuttler
Differential Revision: https://phabricator.services.mozilla.com/D79669
2020-06-15 11:29:29 +00:00
julianwels 68d7c6ffa2 Bug 1640853 - Using PermissionManager for HTTPS Only Mode upgrade exceptions. r=ckerschb,nhnt11,nika,johannh,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D77040
2020-06-15 11:19:39 +00:00
Mark Banner 05292ab8f8 Bug 1640131 - When getting the error string for OSError, handle non-utf-8 character sets. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D79664
2020-06-15 10:58:32 +00:00
Dimi Lee 1d0b6c3793 Bug 1642919 - Remove MOZ_ASSERT in onAllowAccessFor r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D79648
2020-06-15 08:07:16 +00:00
Tom Tung 6665abd6f8 Bug 1621677 - Add a test case for animation to ensure we get higher time precision when it's cross-origin-isolated; r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D79475
2020-06-12 16:43:19 +00:00
Mirko Brodesser 218169fc69 Bug 1643721: part 15) Add assertion to `SerializeRangeNodes`. r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D79483
2020-06-15 09:46:33 +00:00
Mirko Brodesser 416cfa18e7 Bug 1643721: part 14) Change `SerializeToStringRecursive`'s `aDontSerializeRoot` to `enum class SerializeRoot` and drop negation. r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D79482
2020-06-15 09:48:06 +00:00
Simon Giesecke 94ae89f1d9 Bug 1645359 - Add a nsTObserverArray::NonObservingRange. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79487
2020-06-15 08:43:54 +00:00
Simon Giesecke 0735ecafd8 Bug 1645382 - Remove unnecessary arguments from NS_OBSERVER_ARRAY_NOTIFY_* macros. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79485
2020-06-15 09:05:00 +00:00
Simon Giesecke 298981065e Bug 1645339 - Use range-based for with nsTObserverArray in xpcom. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79484
2020-06-15 08:55:27 +00:00
Simon Giesecke 1a13e8aef8 Bug 1645328 - Add in-place constructor to Maybe. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79448
2020-06-15 09:04:02 +00:00
Martin Stransky ba5f1e21d3 Bug 1645706 [Wayland] disable dmabuf-video-textures by default, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D79624
2020-06-15 08:10:15 +00:00
Nicolas Chevobbe fe22cc7330 Bug 1632715 - Fix intermittent on devtools/client/webconsole/test/browser/browser_webconsole_navigate_to_parse_error.js . r=ckerschb.
There's no good reason for the message to be duplicated, and it turns out that
this test was actually asserting a bug that occured with CSP violation messages
(see Bug 1645745).
We change the test so it only waits for a single message, which should fix the
intermittent on windows7 (the message wasn't "repeated" but duplicated).

Differential Revision: https://phabricator.services.mozilla.com/D79651
2020-06-15 08:25:31 +00:00
Masayuki Nakano e51cdb3ca3 Bug 1642594 - part 5: Implement first version of new white-space normalizer which simulates Blink's one r=m_kato
This patch tries to implement Blink-compat white-space normalizer for
`HTMLEditor`.

It's difficult to list up our traditional white-space normalization rules
because `WSRunObject` touches white space sequence only when there is not
acceptable case, e.g., an ASCII white-spaces will be adjacent to another
one, and replaces only unacceptable white-space only.  Therefore, whether
white-space sequence may start with either an ASCII white-space or an NBSP.
On the other hand, Blink and WebKit makes white-space sequence always
starts with an NBSP or an ASCII white-space (unfortunately, they behave
differently!).  So, for web-compat, we should simulate Blink's behavior
because either behavior is reasonable but Blink have more market share.

This patch simply adds new white-space normalization path for the new one,
and it's switchable with a pref, and still disabled by default.

The other reason why we should do this is, our traditional white-space
normalizer touches the DOM a lot of times per edit action, and the timing
is both before and after touches the DOM tree.  Therefore, it's difficult
to compute actual deleting range for `InputEvent.getTargetRanges()` and
touching a lot of times causes running mutation event listeners a lot and
creates a lot of transaction class instances.  So, new one have a lot of
merits:

1. Improve web-compat
2. Improve the peformance
3. Improve the security
4. Improve the footprint (but this is now worse then traditional one)
5. Simplify the implementation

The new normalizer is mostly implemented with only 3 `HTMLEditor` methods.

One is `HTMLEditor::DeleteTextAndNormalizeSurroundingWhiteSpaces()`.  This is
semi-public method for the edit action handlers.  This takes a range with
2 `EditorDOMPoinInText` to delete the range simply.  This also replaces
surrounding white-space sequence if necessary.  For inserting text case,
this method also handles only white-space normalization when it's called
with collapsed range, i.e., same `EditorDOMPointInText`.  This tries to use
`RepaceTextWithTransaction()` as far as possible to reduce creation cost of
transaction classes and the footprint.

Another one is `HTMLEditor::ExtendRangeToDeleteWithNormalizingWhiteSpaces()`.
This tries to extend the given range to normalize surrounding white-spaces.
This is currently not optimized for footprint because this may include
white-spaces which do not need to be replaced.  This optimization should be
done before shipping, but for now, enabling `InputEvent.getTargetRanges()` in
Nightly channel is more important.  So that it should be done in a follow-up
bug.

The other is `HTMLEditor::GenerateWhitepaceSequence()`.  This creates
normalized white-space sequence with surrounding character information.
For keeping this method simple as far as possible, we shouldn't optimize
the range of generation even in follow-ups.

Finally, the white-space sequence is not tested in mochitests, so that we
can enable this new normalizer when we run mochitests under
`editor/libeditor/tests`.  However, WPT has some tests.  We should keep
them running with current normalizer for checking regression.  Instead,
we should enable the pref only for the new WPT added by the previous patch.

Depends on D78655

Differential Revision: https://phabricator.services.mozilla.com/D78656
2020-06-15 07:37:56 +00:00
Masayuki Nakano e01c0de610 Bug 1642594 - part 4: Stop using "whitespace" in under libeditor r=m_kato
I realized that there is no word "whitespace" in formal English.  This patch
replaces it with "white-space" in comments, and change method names to use
"WhiteSpace".

Depends on D78654

Differential Revision: https://phabricator.services.mozilla.com/D78655
2020-06-10 13:44:10 +00:00
Masayuki Nakano abb8192418 Bug 1642594 - part 3: Add tentative WPT tests which test compatibility with Chrome r=m_kato
This patch adds new tentative WPTs which test Chrome's behavior at modifying
around white spaces.  As mentioned in the test files, these tests just check
compatibility with Chrome, not suggesting any standards.

Depends on D77987

Differential Revision: https://phabricator.services.mozilla.com/D78654
2020-06-10 06:47:09 +00:00
Masayuki Nakano 3d4e1bc4bb Bug 1642594 - part 2: Make `WSRunObject::ReplaceASCIIWhitespacesWithOneNBSP()` take range of collapsible ASCII whitespaces instead of a position in it r=m_kato
This patch makes the method not smart intentionally because we need only the
range without DOM mutation.

Differential Revision: https://phabricator.services.mozilla.com/D77987
2020-06-08 11:31:37 +00:00
Masayuki Nakano 5cfc474a9c Bug 1642594 - part 1: Split `WSRunObject::GetASCIIWhitespacesBounds()` and redesign them r=m_kato
Callers of `WSRunObject::GetASCIIWhitespacesBounds()` may want to scan only
previous or next whitespaces.  Therefore, we can split it to save creation
cost of `EditorDOMPointInText`.

Additionally, this makes them scan whitespace sequence in a text node until
hitting its end for avoiding to use expensive API of `WSRunScanner`.

Differential Revision: https://phabricator.services.mozilla.com/D77986
2020-06-08 11:30:37 +00:00
Lars T Hansen 070a7af22c Bug 1644759 - Add ToJSValue_v128. r=rhunt
While JS can't observe v128 values, the debugger API can, so
implement a case in ToJSValue for this.  Other guards will
ensure that these values (which are somewhat wrong) are not
seen by JS.

Differential Revision: https://phabricator.services.mozilla.com/D79261
2020-06-15 07:10:36 +00:00
Nicholas Nethercote a15b81b965 Bug 1572508 - Convert `ui.touch.*` and `ui.mouse.*` VarCache prefs to static prefs. r=KrisWright,kats,geckoview-reviewers,agi.
This is a weird conversion because the existing VarCache mirror prefs are in a
two static structs, one for touch prefs and one for the equivalent mouse prefs,
and we dynamically select the appropriate struct in `GetPrefsFor()`.

(But note that `ui.mouse.radius.reposition` and
`ui.mouse.radius.inputSource.touchOnly` do not have corresponding `touch`
prefs! For touch events they are always considered to be false.)

The commit make the following changes.
- It makes the prefs into static prefs.
- It moves the code in `GetPrefsFor()` into a constructor for
  `EventRadiusPrefs`, and copies the pref values into a temporary object of
  that type. Those copied values are then used by the subsequent code.
- It removes the two static `EventRadiusPrefs` structs.
- It renames some fields in `EventRadiusPrefs` to make them more closely match
  the pref names.

Differential Revision: https://phabricator.services.mozilla.com/D79405
2020-06-15 06:23:48 +00:00
Mark Hammond 0278934973 Bug 1645729 - avoid printing a warning to the console about a log level's preference. r=rfkelly
Specifically:
> Log warning: The log 'Services.Common.RESTRequest' is configured to use the preference 'services.common.log.logger.rest.request' - you must adjust the level by setting this preference, not by using the level setter

This is because the hawkrequest module attempts to explicitly set the level
from the preference value, but these days Log.jsm manages that itself.

Also skips obtaining the log itself until it's needed, as it almost never
actually is.

Differential Revision: https://phabricator.services.mozilla.com/D79633
2020-06-15 04:51:02 +00:00
Noemi Erli e73a8dbb70 Backed out changeset df0d6b993ad6 (bug 1642121) for causing build bustages 2020-06-15 06:44:42 +03:00
Steve Fink 7fc47d901c Bug 1642121 - Remove directory dependence of GDB init files. r=nalexander
I wrote this patch to address two problems:

  1. if I do `mach run` from a directory other than $topsrcdir, $objdir, or
     $objdir/dist/bin, then .gdbinit will not be loaded.
  2. Debugging the firefox binary will never load the JS prettyprinters in any
     case.

I believe this patch fixes other problems as well, such as .gdbinit_python not being found, and the gdbpp pretty-printers not getting loaded in various situations.

The main changes of this patch are:

  1. Move .gdbinit into build/ (and $objdir/build/) to delay it from getting
     loaded until the search path is configured.
  2. Move libxul.so-gdb.py into the correct directory.
  3. Use either libxul.so-gdb.py or js-gdb.py to configure the correct
     search path then load .gdbinit, and have .gdbinit load all of the
     pretty-printers (Gecko and JS).
  4. Use a single preprocessed file to configure the source directory. Use
     relative paths within the objdir for everything else.

Differential Revision: https://phabricator.services.mozilla.com/D77589
2020-06-15 03:27:49 +00:00
sotaro ff041549ae Bug 1640901 - Update CompositorBridgeID when ImageHost is async in ImageLayerComposite::SetLayerManager() r=mattwoodrow
When Tab is moved to another window, all async ImageHosts need to update CompositorBridgeID. It is used for calling ScheduleComposition().

Differential Revision: https://phabricator.services.mozilla.com/D79068
2020-06-14 07:29:20 +00:00
Emilio Cobos Álvarez ffec6f608b Bug 1643656 - Remove prefers-color-scheme: no-preference. r=gl,remote-protocol-reviewers,hiro,whimboo
It was removed from the spec.

Differential Revision: https://phabricator.services.mozilla.com/D78834
2020-06-14 23:26:04 +00:00
Timothy Nikkel fdba166d63 Bug 1641682. Don't kick off a validation network request if the original image network request hasn't finished. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D78858
2020-06-13 08:15:45 +00:00
Tom Schuster 9ae2e482aa Bug 1644878 - Don't define Map/Set identical iterator methods in self-hosted JS. r=arai
I think we were defining those methods in self-hosted JS, because that automatically gives
us the property that they all have the same identity. This causes bad error messages.
Instead redefine them in the finishInit ClassSpec hook. We still have the "wrong" methods
in the 'methods' array so that JSXray tests continue to pass.

Differential Revision: https://phabricator.services.mozilla.com/D79615
2020-06-14 18:59:08 +00:00
Sonia Singla 4f63eefcef Bug 1638360 - Only show bookmark menu items for nodes with a bookmarkGuid. r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D79605
2020-06-14 16:50:12 +00:00
Jonathan Kew 52874b4df6 Bug 1645587 - Add missing null-check for family in FontList::SetLocalNames, in case font families are blocked by the font whitelist or visibility prefs. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D79595
2020-06-14 13:08:21 +00:00
Chris Martin 16126fa7a5 Bug 1400317 - Add new async calls/singleton for remoting system parameters r=jmathies
There are a number of system parameters that return simple floats and bools
and are just different forms of system parameter query.

This introduces a new singleton and IPDL calls to send these values from parent
to content processes and cache them in content.

I started with these 2 variables because their values don't go stale. In a
later changeset, I will add more logic to invalidate cached values that go
stale, such as for the SPI_GETFLATMENU metric.

Differential Revision: https://phabricator.services.mozilla.com/D76639
2020-06-14 14:23:03 +00:00
Emilio Cobos Álvarez 58bb0b25d9 Backed out 2 changesets (bug 477157) for border rendering regressions.
Backed out changeset 04543b8ded50 (bug 477157)
Backed out changeset 5df17ecbcaa1 (bug 477157)

MANUAL PUSH: backout
2020-06-14 11:45:06 +02:00
longsonr 3de35fd000 Bug 1642234 - Convert various SVG methods to take a DOMMatrix2DInit r=emilio
See https://github.com/w3c/svgwg/issues/326

Differential Revision: https://phabricator.services.mozilla.com/D77618
2020-06-14 07:26:27 +00:00
Jon Coppeard e05acc89b8 Bug 1644985 - Clean up WeakRef and FinalizationRegistry data when cross compartment wrappers are nuked r=sfink
This crash happens because we try and clean up the map from target to WeakRef in the WeakRef finalizer, and the target can be dead by this point if it's a nuked CCW (before it is nuked the CCW ensures this sweep order does not happen).

The fix is to fix up the map when CCWs to WeakRefs are nuked. Fortunately there's already a hook where the GC is told about this.

The same issue applies to FinalizationRecordObjects. This fix is slightly different because they don't have a target pointer so we can't find the map entry. Instead we clear the record and cleanup happens later when it gets swept.

Differential Revision: https://phabricator.services.mozilla.com/D79533
2020-06-13 23:05:15 +00:00
Logan Smyth 25d491b792 Bug 1601179 - Enable async stacks but limit captured async stacks to debuggees. r=jorendorff,smaug
The 'asyncStack' flag on JS execution contexts is used as a general switch
to enable async stack capture across all locations in SpiderMonkey, but
this causes problems because it can at times be too much of a performance
burden to general and track all of these stacks.

Since the introduction of this option, we have only enabled it on Nightly
and DevEdition for non-mobile builds, which has left a lot of users unable
to take advantage of this data while debugging.

This patch enables async stack traces across all of Firefox, but introduces
a new pref to toggle the scope of the actual expensive part of async stacks,
which is _capturing_ them and keeping them alive in memory. The new pref
limits the capturing of async stack traces to only debuggees, unless an
explicit pref is flipped to capture async traces for all cases.

This means that while async stacks are technically enabled, and code could
manually capture a stack and pass it back to SpiderMonkey and see that stack
reflected in later captured stacks, SpiderMonkey itself and related async
DOM APIs, among others, will not capture stacks or pass them to SpiderMonkey,
so there should be no general change in performance by enabling the broader
feature itself, unless the user is actively debugging the page.

One effect of this patch is that if you have the debugger open and then close
it, objects that have async stacks associated with them will retain those
stacks and they will continue to show up in stack traces, no _new_ stacks
will be captured. jorendorff and I have decided that this is okay because
the expectation that the debugger fully revert every possible effect that it
could have on a page is a nice goal but not a strict requirement.

Differential Revision: https://phabricator.services.mozilla.com/D68503
2020-06-14 02:41:45 +00:00
Yura Zenevich dbf76d8e3e Bug 1598026 - add OOP frame mutation tests. Re-enable oop tree expansion test. r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D78596
2020-06-12 17:32:45 +00:00
Steve Fink 7c46c9c1a3 Bug 1633625 - Implement a Find50Sequencer that searches for the garbagePerFrame resulting in 50% frame drop at 60fps r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D75444
2020-06-13 22:56:16 +00:00
Eden Chuang c11069be93 Bug 1626425 - enable COEP reporting web-platform-tests r=dom-workers-and-storage-reviewers,ttung
Differential Revision: https://phabricator.services.mozilla.com/D78859
2020-06-13 21:13:22 +00:00
Ting-Yu Lin 6a5e27c380 Bug 1644819 Part 3 - Add a crashtest. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D79586
2020-06-13 19:26:07 +00:00