750336 Commits

Author SHA1 Message Date
Mike Hommey
8f946602e9 Bug 1699380 - Add an arm64 mac toolchain task for dump-syms. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D108922
2021-03-24 05:15:10 +00:00
Csoregi Natalia
024e0b2323 Backed out 10 changesets (bug 1581859) for causing hazard failures. CLOSED TREE
Backed out changeset 93fe6801a5e2 (bug 1581859)
Backed out changeset 0a33cb185fb3 (bug 1581859)
Backed out changeset 9ceaad6dab5b (bug 1581859)
Backed out changeset ee611f0839ca (bug 1581859)
Backed out changeset 4199963fe477 (bug 1581859)
Backed out changeset b4c5ace21b9e (bug 1581859)
Backed out changeset 6003469dc449 (bug 1581859)
Backed out changeset 826c62b783c0 (bug 1581859)
Backed out changeset e1d7851295fd (bug 1581859)
Backed out changeset 9796577af27a (bug 1581859)
2021-03-24 08:48:00 +02:00
Butkovits Atila
9fc0210ad3 Backed out changeset 2a3316bd2409 (bug 1686191) for causing bustages on QuotaCommon.h. CLOSED TREE 2021-03-24 07:12:55 +02:00
Butkovits Atila
779fd20cc0 Bug 1689101 - disable browser_webconsole_network_messages_expand_before_updates.js on Windows for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D109566
2021-03-24 04:56:01 +00:00
Jan Varga
6edcf204fd Bug 1686191 - Have a way to specifically report warnings around QM_TRY; r=asuth,sg,dom-storage-reviewers
This patch:
- adds QM_WARNONLY_TRY/QM_NOTEONLY_TRY macros
- adds QM_WARNONLY_TRY_UNWRAP/QM_NOTEONLY_TRY_UNWRAP macros
- adds QM_OR_ELSE_WARN/QM_OR_ELSE_NOTE sub macros
- replaces non-propagating uses of NS_WARNING with redundant messages by
  QM_WARNONLY_TRY
- replaces uses of QM_TRY with orElse by QM_TRY(QM_OR_ELSE_WARN(...))
- replaces uses of QM_TRY inside an extra lambda with QM_WARNONLY_TRY
- replaces uses of QM_TRY with QM_VOID with QM_WARNONLY_TRY.
- replaces uses of QM_TRY with unwanted warnings with QM_NOTEONLY_TRY
- replaces uses of QM_TRY with additional Maybe wrapping for doing a
  fallback with QM_TRY(QM_OR_ELSE_WARN(...))

Differential Revision: https://phabricator.services.mozilla.com/D108424
2021-03-24 04:40:10 +00:00
Tooru Fujisawa
1b4f665f90 Bug 1692130 - Move DelazifyCanonicalScriptedFunction into frontend, and categorie the entire function as delazification in profiler. r=tcampbell
Depends on D105910

Differential Revision: https://phabricator.services.mozilla.com/D107302
2021-03-24 04:14:47 +00:00
Masayuki Nakano
d68f6fc838 Bug 1220696 - part 6: Support insertLineBreak and insertParagraphSeparator commands in <textarea> r=smaug
Those command handlers just check whether the given editor is an `HTMLEditor`
or not.  Therefore, we should make them check whether the given editor is
a single line editor or not instead.

Differential Revision: https://phabricator.services.mozilla.com/D108572
2021-03-24 01:55:09 +00:00
Masayuki Nakano
fad3ed3447 Bug 1220696 - part 5: Support "contentReadOnly" and "getHTML" commands in <input> and <textarea> r=smaug
Although these commands supported supported only by Gecko, we shouldn't stop
supporting them unless we know the usage in the wild.  Therefore, this patch
adds the handling code for `TextEditor` too.

Differential Revision: https://phabricator.services.mozilla.com/D108571
2021-03-24 01:55:09 +00:00
Masayuki Nakano
b2fd51c051 Bug 1220696 - part 4: Make Document consider whether the target is editable or not-editable with target editor r=smaug
Currently, `Document` checks it only with whether the document is editable
or not.  Only with this check, `execCommand` and the other related methods
work only when there is `contenteditable`.

Therefore, this patch makes it to check whether the target is editable or not
with target editor.

Differential Revision: https://phabricator.services.mozilla.com/D108570
2021-03-24 01:55:08 +00:00
Masayuki Nakano
f956ee81ea Bug 1220696 - part 3: Make AutoEditorCommandTarget consider command handling editor with command and focused TextEditor or HTMLEditor r=smaug
For making `execCommand` and related methods with `<input>` and `<textarea>`
even if they are in `contenteditable` and focused, command should be handled
in active editor (focused editor if in foreground window and tab).

However, some commands should be handled by `HTMLEditor` even if an `TextEditor`
has focus.  Therefore, this patch adds new enum class which have 3 state into
`InternalCommandData` and makes `AutoEditorCommandTarget` consider it with the
enum class.

Note that the new failures about `contentReadOnly` command will be fixed by
a following patch.

Differential Revision: https://phabricator.services.mozilla.com/D108569
2021-03-24 01:55:08 +00:00
Masayuki Nakano
11e0a6e76c Bug 1220696 - part 2: Make related methods of Document::ExecCommand use AutoEditorCommandTarget r=smaug
This will guarantee that when `<input>` or `<textarea>` is in `contenteditable`,
`execCommand` and the other related methods work with same command class
instance and same command context (in this case, it's editor instance).

Differential Revision: https://phabricator.services.mozilla.com/D108568
2021-03-24 01:55:07 +00:00
Masayuki Nakano
4c7c22c5b9 Bug 1220696 - part 1: Split off the code considering EditorCommand in Document::ExecCommand r=smaug
Editor command should be handled in same command table between `ExecCommand`
and the other related methods.  However, currently, only `ExecCommand` does
optimized things.  For using same logic in the other methods, the code should
be in an independent stack class.

Differential Revision: https://phabricator.services.mozilla.com/D108567
2021-03-24 01:55:07 +00:00
Masayuki Nakano
0da46f4723 Bug 1220696 - part 0: Update exec-command-with-text-editor.tentative.html for testing the following patches more r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D108566
2021-03-24 01:55:06 +00:00
Butkovits Atila
87e6f49fe0 Backed out changeset 9904b1dafade (bug 1699858) for causing failures at browser_styleinspector_tooltip-background-image.js. CLOSED TREE 2021-03-24 03:15:07 +02:00
Butkovits Atila
6cc3507063 Backed out 3 changesets (bug 1700472) for causing reftest failures.
Backed out changeset df4d74e9669f (bug 1700472)
Backed out changeset ec476bf43984 (bug 1700472)
Backed out changeset 168b31448423 (bug 1700472)
2021-03-24 03:12:44 +02:00
Kris Maglione
3be6ccef53 Bug 1581859: Part 5 - Add js/Value.h include to PromiseNativeHandler.h. r=nika
The IPDL source added in this stack changes the unified protocol chunking and
triggers problems caused by the missing include.

Differential Revision: https://phabricator.services.mozilla.com/D109024
2021-03-23 23:57:13 +00:00
Kris Maglione
ff1b1ae970 Bug 1581859: Part 4f - Migrate to the native WebNavigation implementation. r=zombie
This migrates WebNavigation.jsm to use messages from PExtensionsParent
generated by the native WebNavigationContent class, and removes the now-unused
WebNavigationContent.js frame script.

Differential Revision: https://phabricator.services.mozilla.com/D103217
2021-03-23 23:57:13 +00:00
Kris Maglione
fd37e6e69c Bug 1581859: Part 4e - Add DOMContentLoaded listener to WebNavigationContent. r=zombie,nika
This ports the last remaining piece of WebNavigationContent.js, the
DOMContentLoaded event listener, to C++ and adds IPC messages to notify the
parent process of the events. Linkage between the parent IPDL endpoints and
the parent WebNavigation.jsm listeners is added in a subsequent patch.

Differential Revision: https://phabricator.services.mozilla.com/D103216
2021-03-23 23:57:13 +00:00
Kris Maglione
547cfc9377 Bug 1581859: Part 4d - Add web progress listeners to WebNavigationContent. r=nika
This ports the WebProgressListener logic from WebNavigationContent.js to the
C++ implementation, and adds IPC messages to send them to the parent process.
Linkage between the parent IPDL endpoints and the listeners in
WebNavigation.jsm is added in a subsequent patch.

Differential Revision: https://phabricator.services.mozilla.com/D103215
2021-03-23 23:57:12 +00:00
Kris Maglione
9dec8af14b Bug 1581859: Part 4b - Add skeleton WebNavigationContent class. r=zombie,nika
This is a skeleton class which will be instantiated at startup in each
process, and eventually track the same events that the deprecated
WebNavigationContent.js frame script currently tracks.

Actual implementation is added in follow-up patches.

Differential Revision: https://phabricator.services.mozilla.com/D103213
2021-03-23 23:57:12 +00:00
Kris Maglione
8ea270e4b4 Bug 1581859: Part 4a - Add skeleton PExtensions actor. r=zombie,nika
This is the start of an actor which will be automatically instantiated in the
parent and each content process which can be used to route most process-level
IPC traffic needed by the extensions framework. It should allow the extensions
framework to keep its IPC glue close to the code that uses it, and simplify
matters for child-side code which needs to run in both parent and content
processes.

Differential Revision: https://phabricator.services.mozilla.com/D103212
2021-03-23 23:57:11 +00:00
Kris Maglione
6e2223e151 Bug 1581859: Part 3b - Update existing GetPropertyAsInterface callers to use typesafe do_GetProperty instead. r=mccr8,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D103211
2021-03-23 23:57:11 +00:00
Kris Maglione
4abddadf18 Bug 1581859: Part 3a - Add do_GetProperty helper for nsIPropertyBag2. r=mccr8
There currently isn't a typesafe way to get a property with a given interface
from a property bag from C++. This patch adds one, following the pattern of
similar helpers, like `do_GetInterface`.

Differential Revision: https://phabricator.services.mozilla.com/D103210
2021-03-23 23:57:10 +00:00
Kris Maglione
94b544ff0f Bug 1581859: Part 2b - Add LOAD_FLAGS_IS_REFRESH to all navigations triggered by meta refreshes. r=nika
The extension framework needs to set specific flags on navigations triggered
by meta refresh headers. Adding this to the load type of all navigations
triggered by meta refreshes allows it to do this without tracking docshells on
which refreshes are attempted so that it can make inferences.

Differential Revision: https://phabricator.services.mozilla.com/D108726
2021-03-23 23:57:10 +00:00
Kris Maglione
18ffa4a411 Bug 1581859: Part 2a - Add LOCATION_CHANGE_HASHCHANGE onLocationChange flag. r=nika
The naming scheme references the hashchange event. This is required by the
extensions framework to call the appropriate navigation listeners when only
the reference fragment is updated by a navigation.

Differential Revision: https://phabricator.services.mozilla.com/D108725
2021-03-23 23:57:10 +00:00
Keefer Rourke
8103aca07d Bug 1649593: Use IOUtils instead of OS.File in ExtensionParent.jsm r=zombie,rpl
Differential Revision: https://phabricator.services.mozilla.com/D87483
2021-03-23 22:59:32 +00:00
Harry Twyford
9333311aa6 Bug 1616700 - Part 3 - Update the placeholder string on the handoff input to read "Search with {engine} or enter address" r=fluent-reviewers,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D108266
2021-03-23 22:56:54 +00:00
Harry Twyford
e52efdbba9 Bug 1616700 - Part 2 - Apply a disabled appearance to the handed-off input rather than hiding it. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D108826
2021-03-23 22:56:54 +00:00
Harry Twyford
35161ada24 Bug 1616700 - Part 1 - Use default address bar search mode for new tab search handoff r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D108825
2021-03-23 22:56:54 +00:00
Sam Foster
c5f8501ed8 Bug 1699858 - Avoid using the toolkit/global icons which are about to change for proton. r=nchevobbe,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D109186
2021-03-23 22:48:24 +00:00
Timothy Nikkel
52941487d7 Bug 1700250. Dump the uri when we are dumping the display list. r=mstange,miko
Differential Revision: https://phabricator.services.mozilla.com/D109450
2021-03-23 22:43:12 +00:00
Emilio Cobos Álvarez
966d0f4dfc Bug 1700472 - Remove -moz-scrolled-page-sequence. r=dholbert
This is needed for bug 1700379, because otherwise we create a reference
frame with the root's scrolled content (the
::-moz-scrolled-page-sequence), and that breaks some display list
invariants.

Always create a canvas frame instead, (doesn't matter when printing
since we print off the page sequence frame directly), and create a
single ::-moz-page-sequence box.

Differential Revision: https://phabricator.services.mozilla.com/D109512
2021-03-23 22:31:08 +00:00
Emilio Cobos Álvarez
0bdcb35e12 Bug 1700472 - Add braces to SetPaginatedScrolling. r=dholbert
Drive-by fixup while I was reading related code.

Depends on D109545

Differential Revision: https://phabricator.services.mozilla.com/D109546
2021-03-23 22:31:07 +00:00
Emilio Cobos Álvarez
96b57ed405 Bug 1700472 - Minor cleanup in ConstructDocElementFrame. r=dholbert
No behavior change, just compute the different things we need upfront.
At first I was going to use this in the following patch but it ended up
not being needed.

Differential Revision: https://phabricator.services.mozilla.com/D109545
2021-03-23 22:31:07 +00:00
Butkovits Atila
3361c11f7d Backed out 7 changesets (bug 1220696) for causing build bustages. CLOSED TREE
Backed out changeset 1ad2d5c0f253 (bug 1220696)
Backed out changeset 5e2f62a11d95 (bug 1220696)
Backed out changeset 07012ed7a30e (bug 1220696)
Backed out changeset a4e90de9355d (bug 1220696)
Backed out changeset 63ec6c3d05fd (bug 1220696)
Backed out changeset f165f45f8e1a (bug 1220696)
Backed out changeset ade95bf58db4 (bug 1220696)
2021-03-24 01:34:56 +02:00
Glenn Watson
fe7eef8441 Bug 1699603 - Switch dirty region tracking from bitmask to rects. r=gfx-reviewers,nical
Previously, we used a bitmask stored in the primitive visibility
state to determine which alpha batchers a primitive should be
added to, based on dirty regions.

The problem with this is that we had a limited number of bits that
could store visibility. If we overflowed that, all primitives that
touched any dirty rect would get added to the final bit group. This
was a performance cost in this edge case, but didn't affect the
correctness of rendering.

However, in future we'll have alpha tiles behind and in front of
compositor surfaces, if the compositor surface itself is not
opaque. This means we'll have more tiles that we need to add
prims to, and we must ensure the dirty rect tracking only adds
prims to tiles that the prim definitely belongs to.

This patch removes the bitmask, and instead stores a rect that
the prim occupies, which is intersected with the dirty rect
for the specific alpha batcher. No extra space in consumed in
the visibility state enum, as there was already padding in the
Detailed enum kind. There is a slight extra cost in terms of
the comparison for dirty primitives, but this is mitigated by
the ability to early out during Coarse -> Detailed prim visibility.

Long term, we want to change how tiles store this information so
that an index buffer is stored of dirty prims, negating the need
to walk the entire picture tree during batching.

Differential Revision: https://phabricator.services.mozilla.com/D109023
2021-03-23 20:24:43 +00:00
Emilio Cobos Álvarez
6ed1fcf4d1 Bug 1700478 - Fix geometry-properties-in-css.html by restoring a call to IsSVGTransformed.
And also fix the relevant comment.

MANUAL PUSH: Orange in a CLOSED TREE
2021-03-24 00:17:45 +01:00
Butkovits Atila
fc5147c0c6 Backed out changeset 4d707f323366 (bug 1699603) for causing build bustages. CLOSED TREE 2021-03-24 01:12:43 +02:00
Masayuki Nakano
5b18850f6e Bug 1686662 - Stop starting autoscroll if requested browsing context is not in foreground tab anymore r=smaug,Gijs
`AutoScrollParent` starts autoscroll even if the requested tab has already
been in background tab.  In this case, it does not make sense to start
autoscrolling in new foreground window since it may not be scrollable.

Additionally, our `mousedown` event default action activates the DOM window,
but in the DuckDuckGo's case, focus shouldn't be backed to the clicked tab.

Differential Revision: https://phabricator.services.mozilla.com/D106590
2021-03-23 22:21:29 +00:00
Emilio Cobos Álvarez
5a6212f1ce Bug 1700478 - Make IsTransformed cheaper for non-transformed frames. r=longsonr
Remove a bit of the aStyleDisplay gunk that shouldn't be needed because
of two reasons:

 * Stylo is faster / has the style display one pointer-chase away, as
   opposed to the old style system.

 * We now check the MAY_BE_TRANSFORMED bit first now, and we deal with
   SVG-transformed frames, so for non-transformed frames IsTransformed
   should just be a bit-check now.

Differential Revision: https://phabricator.services.mozilla.com/D109511
2021-03-23 22:01:25 +00:00
Dave Hunt
32520f2b09 Bug 1700333 - Remove facebook-redesign from browsertime desktop page load suite r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D109535
2021-03-23 21:55:09 +00:00
Iain Ireland
f3124f58cc Bug 1699851: Inline ArrayIteratorNext r=jandem
We improve by ~40% on a microbenchmark because we can scalar-replace the result object.

Differential Revision: https://phabricator.services.mozilla.com/D109166
2021-03-23 21:18:32 +00:00
Iain Ireland
04f27e8e84 Bug 1699851: Improve scalar replacement of objects r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D109165
2021-03-23 21:18:32 +00:00
Iain Ireland
8ca301f628 Bug 1697696: Support pruning with OSR r=nbp
The change in `guessPhiType` is necessary because after pruning the path from the entry block to the OSR preheader, phis in the preheader only have one operand and can be simplified by phi elimination, making it possible for a phi elsewhere in the CFG to have two distinct OsrValues as its operands.

The alternative to this patch and the previous one is to add code in PruneUnreachableBlocks to bail out of pruning if the non-OSR predecessor of the OSR preheader is unreachable. This lets us do branch pruning in a subset of OSR compilations. (Top-level scripts are the most likely to be unprunable.)

Differential Revision: https://phabricator.services.mozilla.com/D108898
2021-03-23 21:18:31 +00:00
Iain Ireland
405985586c Bug 1697696: Add MBasicBlock::NewFakeLoopPredecessor r=nbp
In OSR compilations, if branch pruning eliminates the path from the entry block to the OSR preheader block, we can end up with loop headers with a backedge but no other predecessors. This breaks our dominator tree implementation. (Specifically, we crash in `IntersectDominators` with the header as `block1` and the OSR entry as `block2`.)

GVN solves this problem by adding fake unreachable predecessors to loop headers. This patch factors out the GVN code so that the next patch can use it to support branch pruning with OSR.

In the existing implementation, we create zero-input phis to use as inputs for any phis in the loop header. The zero-input phis were a problem for branch pruning, which runs before phi specialization, so I replaced them with MUnreachableResults. To avoid problems during lowering, I added a simple pass that removes the fake blocks after they are no longer needed.

(This removes one of the cases where visitBlock can visit an unreachable block; I verified that the no-GVN case is still possible and updated the assertions.)

Differential Revision: https://phabricator.services.mozilla.com/D108897
2021-03-23 21:18:31 +00:00
Iain Ireland
a07253a821 Bug 1697696: Refactor FlagAllOperandsAsHavingRemovedUses r=nbp
When we prune unreachable code, we mark the operands of removed instructions to ensure that they can be recovered if we bail out. The previous implementation of branch pruning always eliminated entire blocks. For blocks that always bail out, the new approach will only remove the instructions after the first MBail. We can therefore be a bit more precise about which operands we flag as having removed uses.

Differential Revision: https://phabricator.services.mozilla.com/D108896
2021-03-23 21:18:31 +00:00
Iain Ireland
b9540969f5 Bug 1697696: Prune branches based on unconditional bailouts r=nbp
We mark blocks as bailout blocks in WarpBuilder when we add an unconditional bailout. In branch pruning, we remove all the unreachable instructions (everything in a basic block after a bail), and remove any unreachable blocks.

I used a worklist approach to marking blocks instead of ReversePostOrderIterator because it gives us a more precise result for the reachability of a block header in the presence of OSR.

`optimized-out-03.js` was fragile and depended on compiling at exactly the right time. The new version should be a little more robust.

The TODO about over-marking is addressed in the next patch. The TODO about supporting OSR is addressed in the two patches after that.

Differential Revision: https://phabricator.services.mozilla.com/D108895
2021-03-23 21:18:30 +00:00
Iain Ireland
ad0cfe3b99 Bug 1697696: Remove dead branch-pruning code r=nbp
We don't use code coverage hitcounts for PGO in Warp, so HitState is always NotDefined.

Drive-by: Removing `JSScript::incHitCount`. Its only caller was removed in part 9 of bug 1682767.

Differential Revision: https://phabricator.services.mozilla.com/D108894
2021-03-23 21:18:30 +00:00
Mike Conley
07732430d8 Bug 1698981 - Show focus rings for panel footer buttons, both normal and menulike. r=Itiel,desktop-theme-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D109390
2021-03-23 20:59:36 +00:00
Mike Conley
1d7883aaba Bug 1699528 - Restyle password panels for Proton. r=sfoster,Itiel
This restyling mainly focuses on the text inputs, but also adjusts some
margins so that they apply more consistently between permission panels
and the password panel.

Differential Revision: https://phabricator.services.mozilla.com/D109105
2021-03-23 20:51:31 +00:00