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

706833 Коммитов

Автор SHA1 Сообщение Дата
Bogdan Tara ee479fe473 Backed out changeset 40cdffbbff0e (bug 1593186) for browser_getActor.js and browser_sendQuery.js failures CLOSED TREE 2020-05-12 01:13:20 +03:00
Hiroyuki Ikezoe 34c6fd1e8c Bug 1636838 - Undef CurrentTime and define X11CurrentTime instead. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D74585
2020-05-11 19:34:02 +00:00
Emilio Cobos Álvarez eb40a0a258 Bug 1636357 - Clean up cascade rule iteration. r=nordzilla
The current API was pretty awkward as a result of two things:

 * Not being able to create empty iterators for smallbitvec.
 * We used to call the `F` function multiple times, but turns out that
   collecting the declarations in a SmallVec was a perf win.

So clean this up so that it looks more similar to other APIs, taking an
iterator directly.

This is a bit more code, but hopefully easier to understand (and also hopefully
easier to optimize).

The motivation for this work is that I plan to investigate rebasing / landing
https://github.com/servo/servo/pull/20151, and I don't want more instantiations
of apply_declarations and such.

Differential Revision: https://phabricator.services.mozilla.com/D74369
2020-05-11 21:33:31 +00:00
Agi Sferro 3655bb2674 Bug 1636581 - Enable tabs_goBack_goForward disabled by mistake. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D74472
2020-05-11 21:47:31 +00:00
Bogdan Tara a823ee6545 Backed out 2 changesets (bug 1628068) for ViaductRequest.cpp related bustages CLOSED TREE
Backed out changeset 013a469557c1 (bug 1628068)
Backed out changeset dcda2ce7b7f9 (bug 1628068)
2020-05-12 00:44:58 +03:00
Etienne Bruines 2dcc34270a Bug 1635806 - [testing] Expose eventName in BrowserTestUtils.waitForContentEvent r=ahal
This should make it easier to write tests for race-conditions, as
the resolving value now indicates which event was received.

This required updating a test which for some reason asserted
undefined being the resolving value, as a way of "testing" if the
Promise resolved at all. Since await already throws Errors when it
is rejected, and the test throws a timeout if it doesn't resolve in
time, this assertion was removed. It did not add any value.

Differential Revision: https://phabricator.services.mozilla.com/D74124
2020-05-11 21:29:05 +00:00
Gerald Squelart bc2c84ac2b Bug 1636398 - Tweak default profiler buffer size in tests - r=canaltinova
Also removed explicit size in test_feature_nativeallocations, as we want a reasonably-big buffer in this test.

Other tests with small buffer sizes are fine, since the profiler imposes a minimum size that should be big enough to capture at least 8 large stacks (see bug 1571171).

Differential Revision: https://phabricator.services.mozilla.com/D74588
2020-05-11 13:09:50 +00:00
Krystle Salazar a33d75ae27 Bug 1570678 - Replace (i) icon for a file icon on potentially trustworthy pages. r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D70932
2020-05-11 20:12:55 +00:00
Micah Tigley 89c6fbb773 Bug 1629729 - Use BrowserTestUtils.loadURI to navigate to a new URL. r=bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D74721
2020-05-11 20:24:21 +00:00
Ricky Stewart f46e54c22a Bug 1636797 - Improve error message when artifacts cannot be downloaded r=froydnj
The current error message leaves you with basically no recourse besides filing a bug if you're already at the latest HEAD. Meanwhile, `mach clobber` will fix it but in doing so you're taking a very blunt sledgehammer to the problem. Instead, I've updated this error message to tell you you can `mach clobber python`. I also removed the explicit reference to "artifact builds" because you can encounter this error outside of artifact builds as well. Finally, I added another reminder that `mach bootstrap` and `mach artifact` don't work for old revisions of central because I keep getting bugs about it and more screaming about how it's unsupported can't hurt.

Differential Revision: https://phabricator.services.mozilla.com/D74732
2020-05-11 20:44:30 +00:00
Benoît Chauvet 1854f52b7c Bug 1626753 - WaveShaperNode.cpp : removed else after return. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D74741
2020-05-11 21:17:24 +00:00
David Teller 79225f24da Bug 1593186 - Invoke JS{Parent, Window}Actor.actorCreated;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D74639
2020-05-11 21:12:10 +00:00
Hiroyuki Ikezoe 381be17fdb Bug 1608194 - Add a test case for a visible animation on a position:fixed element in an iframe. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D73974
2020-05-11 20:35:50 +00:00
Hiroyuki Ikezoe 832bb1a408 Bug 1636815 - Drop |aOrigin| and |aFlags| arguments from GetResultingTransformMatrixInternal. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D74575
2020-05-11 20:25:34 +00:00
Glenn Watson ea0a125055 Bug 1636320 - Part 3 - Remove Push/PopClipChain display items. r=Bert
Building on the work in parts 1 and 2, the Push/PopClipChain
display items are no longer required.

Instead, we can use the clip chain builder to push the clip
from any redundant stacking contexts onto the clip stack. This
ensures that primitives within the redundant stacking context
will get that clip applied to the primitive.

This also relies on being able to determine if a stacking
context is redundant during push_stacking_context. Previously
this was not feasible due to mix-blend-mode changing the
isolation mode of parent stacking context. However, this is
now known due to recent work to support blend containers.

This patch doesn't contain functional changes, but should be
a slight performance improvement during both scene building
and frame building. It also simplifies a lot of the clip
handling code related to picture caching, opening up some
more optimization opportunities in future.

Differential Revision: https://phabricator.services.mozilla.com/D74583
2020-05-11 20:42:59 +00:00
J.C. Jones 638a597baa Bug 1636656 - land NSS e3444f4cc638 UPGRADE_NSS_RELEASE,
Differential Revision: https://phabricator.services.mozilla.com/D74716
2020-05-11 18:20:52 +00:00
Bogdan Tara bf91ff2f3f Backed out changeset 60e4890ac49a (bug 1636348) for browser_aboutdebugging_navigate_to_url.js failures CLOSED TREE 2020-05-12 00:09:23 +03:00
Edouard Oger 1493d71e42 Bug 1628068 p2 - Implement viaduct gecko backend. r=tcsc,dragana,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D70257
2020-05-11 21:01:19 +00:00
Edouard Oger 4e005845ab Bug 1628068 p1 - Vendor viaduct crate. r=lina
Differential Revision: https://phabricator.services.mozilla.com/D70256
2020-05-11 21:01:17 +00:00
sotaro 0ef8de9346 Bug 1636352 - Fix RenderThread::HandlePrepareForUse() calling r=jnicol
There could be a case that new RenderThread::PrepareForUse() and new WebRender transaction by WebRenderBridgeParent::MaybeGenerateFrame() achieve during calling UpdateAndRender().

Differential Revision: https://phabricator.services.mozilla.com/D74365
2020-05-11 20:58:51 +00:00
Tom Schuster 7824fc6e57 Bug 1277801 - Remove Object.prototype.toString classname fallback. r=jwalden
Similar to a patch by Robin Templeton <robin@igalia.com>

Differential Revision: https://phabricator.services.mozilla.com/D72459
2020-05-11 20:53:10 +00:00
Tom Schuster 25a8ce26ec Bug 1277801 - Introduce Cu.isOpaqueWrapper. r=peterv
With the following changes Object.prototype.toString is not using the JSClass' name
anymore. This means we now fail to detect opaque wrappers, because they just get the default string: [object Object]

Differential Revision: https://phabricator.services.mozilla.com/D74016
2020-05-11 20:53:10 +00:00
Bogdan Tara 3df4970bcc Backed out 2 changesets (bug 1628068) for ViaductRequest.cpp related bustages CLOSED TREE
Backed out changeset 928a5891c55d (bug 1628068)
Backed out changeset b6fe5d357bed (bug 1628068)
2020-05-11 23:52:47 +03:00
Emilio Cobos Álvarez fcb6f227f2 Bug 1636516 - When moving an element to another document, don't drop nsMappedAttributes from its sheet. r=edgar
That is, drop the reference to the sheet pointer. GetModifiableMapped
doesn't ever return anything that's on the hash. But trying to
DropMappedAttributes it will remove not that instance, but any other
instance that's already in the hash and matches it.

ThisDropSheetReference is always done in MakeMappedUnique if relevant.

On the original test-case it was about the -moz-user-modify property
that contenteditable maps, but it reproduces with any mapped attribute
like hidden, so I used that for WPT.

Differential Revision: https://phabricator.services.mozilla.com/D74498
2020-05-11 19:28:24 +00:00
Boris Chiou bfdb4fb6ed Bug 1540906 - Disable the pref of synchronizing transform animations with geometric animations on nightly. r=hiro
The original site issue (https://trello.com/) seems not obvious on nightly
now. (See Bug 1301305 for more details.) So perhaps we could give this a
trial to disable this pref, for the better performance in other cases.

Differential Revision: https://phabricator.services.mozilla.com/D74278
2020-05-11 20:40:48 +00:00
Jared Wein fefb771d56 Bug 1636909 - Update the Master Password OS authentication prompt string on Windows. r=MattN,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D74707
2020-05-11 20:37:39 +00:00
Edouard Oger d6e7e33f9a Bug 1628068 p2 - Implement viaduct gecko backend. r=tcsc,dragana,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D70257
2020-05-11 20:19:16 +00:00
Edouard Oger 3dc0990bbf Bug 1628068 p1 - Vendor viaduct crate. r=lina
Differential Revision: https://phabricator.services.mozilla.com/D70256
2020-05-11 20:19:11 +00:00
Iain Ireland 3b3ca714ac Bug 1635275: Add fuzzing target r=decoder
This patch adds a C++ libfuzzer target for differential testing between the interpreter and compiler of the new regexp engine.

Differential Revision: https://phabricator.services.mozilla.com/D73768
2020-05-11 09:41:13 +00:00
Michael Kaply ce7e5902d0 Bug 1635240 - Add policy for using SSO in private browsing. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D74112
2020-05-11 19:18:43 +00:00
Iain Ireland 52982ba943 Bug 1634135: Turn new regexp engine on by default in Nightly r=mgaudet
Pull the lever!

(After responsibly waiting for 78 to open.)

Differential Revision: https://phabricator.services.mozilla.com/D73120
2020-05-10 16:00:26 +00:00
Iain Ireland 32fe0cbefb Bug 1634135: Update expectations for wpt IndexedDB structured clone tests r=dom-workers-and-storage-reviewers,asuth
The regexp engine is adding support for the dotAll flag (/s). As a result, `/abc/gimsuy` in structured-clone.any.js (https://searchfox.org/mozilla-central/source/testing/web-platform/tests/IndexedDB/structured-clone.any.js#159) is no longer a syntax error, which means that the structured cloning tests don't all immediately fail.

Some of them still fail, presumably for different reasons. This patch is the result of running the wpt tests and updating the expected results according to the instructions here: https://searchfox.org/mozilla-central/source/testing/web-platform/README.md#158-173

Try build: https://searchfox.org/mozilla-central/source/testing/web-platform/README.md#158-173

Differential Revision: https://phabricator.services.mozilla.com/D74341
2020-05-10 16:00:27 +00:00
Iain Ireland c329847916 Bug 1634135: Update test_xrayToJS to handle Regexp.prototype.dotAll r=bholley
We are adding support for the dotAll (/s) RegExp flag, so the list of expected properties on the RegExp prototype has to be updated.

Differential Revision: https://phabricator.services.mozilla.com/D74149
2020-05-10 16:00:27 +00:00
Iain Ireland cb0db7ce7c Bug 1634135: Don't leak Isolate r=mgaudet
ASAN found a leak.

We destroy the isolate with a level of indirection through RegexpAPI so that JSContext doesn't have to be able to see the full definition of Isolate.

Differential Revision: https://phabricator.services.mozilla.com/D74151
2020-05-10 16:00:27 +00:00
Iain Ireland ea3297a5fd Bug 1634135: Update tests to expect RegExp.prototype.dotAll r=mgaudet
These two tests need to be updated to be aware of the new dotAll flag.

If we ever have to turn off the new engine, this patch should also be temporarily reverted.

Depends on D73118

Differential Revision: https://phabricator.services.mozilla.com/D73119
2020-05-10 16:00:26 +00:00
Iain Ireland bc9396b9ab Bug 1634135: Throw 'regexp too big' errors properly r=mgaudet
If a regular expression is too big, the assembler may fail with RegExpError::kTooLarge. When it does so, we want to throw an error: "regexp too big".

Until the most recent reimport of irregexp, we were actually reporting an OOM in these cases, because `CompilationResult::code` was default-constructed as an UndefinedValue and we took the "OOM in GetCode" path. Now `CompilationResult::code` is a Handle, so we crash if we try to access the value.

Making the situation slightly more complicated is the fact that we still have a macroassembler live, which means that we can't GC, which means that we can't report an error. The old code used an AutoSuppressGC for this (https://searchfox.org/mozilla-central/source/js/src/irregexp/RegExpEngine.cpp#1703), but that seems like an extremely blunt instrument.

Instead, I've refactored `CompilePattern` to call a separate `Assemble` function. This means that we clean up the macroassembler before we call `JS_ReportErrorASCII`. The new function is a straight copy-paste of the old code, except for error handling and `.` to `->` conversions for the values being passed by reference. Note that the order of checks has changed after calling `compiler->Assemble(...)`: now we check `result.Succeeded()` before examining `result.code`.

We also change the shared labels in SMRegExpMacroAssembler to be NonAssertingLabels. This suppresses assertions in the Label destructor that they are not used without being bound. The assertion is already suppressed for OOM (https://searchfox.org/mozilla-central/source/js/src/jit/Label.h#82-86), which is why we did not trigger it previously.

Differential Revision: https://phabricator.services.mozilla.com/D73758
2020-05-10 16:00:26 +00:00
Iain Ireland b682d4ed50 Bug 1634135: Update shim code r=mgaudet
There are a few changes here:

1. The code that used to be in wrapBody was moved to RegExpCompiler::PreprocessRegExp.

2. The `code` field in RegExpCompileData used to be a bare Object, and is now a Handle<Object>. (This makes named captures way easier to implement, because it lets us to allocate GC things while parsing a regexp without angering the hazard analysis.) I also took this opportunity to remove some dead code in the shim implementation of Handle.

3. Upstream V8 made a change to simplify the interface with the interpreter. Previously, the caller of IrregexpInterpreter::MatchForCallFromRuntime was responsible for allocating enough memory to hold both the capture results and the scratch registers. Now, the interpreter has the same interface as the compiler: the caller passes in a buffer large enough to hold the capture results, and the memory for the scratch registers is allocated internally. This requires a few small additions to the shim (IsInRange plus new methods on JSRegExp and SmallVector).

Depends on D73117

Differential Revision: https://phabricator.services.mozilla.com/D73118
2020-05-10 16:00:26 +00:00
Iain Ireland c382d6024a Bug 1634135: Fresh import of irregexp r=mgaudet
This is as good a time as any to pull in some recent upstream changes (many of which I wrote). This patch was auto-generated using import-irregexp.py. The necessary changes to the shim code are in the next patch.

Depends on D73116

Differential Revision: https://phabricator.services.mozilla.com/D73117
2020-05-10 16:00:25 +00:00
Iain Ireland 07213c14be Bug 1634135: Eagerly tier up for long regexp inputs r=mgaudet
Interpreted bytecode is ~3-5 times slower than compiled code, but ~5-10 times smaller. In general it seems like this is a good trade-off for the first few iterations, but for particularly long input strings this can cause a significant slowdown before we tier up. V8 eagerly tiers up to compiled code when the input string is 1000+ characters long. Following their lead on this fixes a significant regression in sunspider-regexp-dna.

Differential Revision: https://phabricator.services.mozilla.com/D73116
2020-05-10 16:00:25 +00:00
Iain Ireland b53b307279 Bug 1634135: Disable named capture parsing until fully supported r=mgaudet
The engine supports parsing named captures, but we don't have the code in place to expose the captured groups. Until we do, this code will make sure that we get a syntax error when parsing them.

Differential Revision: https://phabricator.services.mozilla.com/D73115
2020-05-10 16:00:25 +00:00
Iain Ireland c649d7049e Bug 1634135: Fix look-behind back-references r=jandem
If a look-behind back-reference succeeds, we have to subtract the length of the capture from the current position (so that the current position points to the beginning of the capture). We don't have the length in a register, so we have to read it from the capture registers, which are stored on the stack. However, we pushed the initial value of the current position, so the stack pointer is offset by one word from where we expect.

The fix is to pop the saved value *before* subtracting the length.

With this fix, we pass all the test262 tests for look-behind assertions, dotAll, and unicode property escapes. (I will turn them on in a separate bug.)

Depends on D73112

Differential Revision: https://phabricator.services.mozilla.com/D73113
2020-05-10 16:00:25 +00:00
Iain Ireland 465770d528 Bug 1634135: Fix dummy TokenStream r=djvj
This was broken by changes to token streams in bug 1592105.

Differential Revision: https://phabricator.services.mozilla.com/D73112
2020-05-10 16:00:24 +00:00
Kartikaya Gupta 3ad1f35d5c Bug 1622360 - Remove remaining render root stuff in APZ. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D74406
2020-05-11 20:08:16 +00:00
Kartikaya Gupta caba8fb538 Bug 1622360 - Remove render roots from APZ sampling codepath. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D74405
2020-05-11 20:08:15 +00:00
Kartikaya Gupta 6e66eea2d4 Bug 1622360 - Remove render root arguments from ScheduleRender functions. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D74404
2020-05-11 20:08:08 +00:00
Kartikaya Gupta cf2201e264 Bug 1622360 - Remove kRenderRoots. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D74403
2020-05-11 20:08:05 +00:00
Kartikaya Gupta d99067c4b7 Bug 1622360 - Remove mRenderRootRectMutex. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D74402
2020-05-11 20:07:58 +00:00
Kartikaya Gupta d0cb7d8424 Bug 1622360 - Remove RenderRootArray. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D74186
2020-05-11 20:07:50 +00:00
Kartikaya Gupta e4338bab1c Bug 1622360 - Downgrade mStateManagers. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D74185
2020-05-11 20:07:43 +00:00
Kartikaya Gupta 919613a9ac Bug 1622360 - Downgrade mLastDisplayListSize. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D74184
2020-05-11 20:07:40 +00:00