Commit Graph

20117 Commits

Author SHA1 Message Date
Cameron McCormack
c4adc9d346 Bug 1553731 - Part 1: Rename nsFrameIdList.h to FrameIdList.h. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D32603

--HG--
rename : layout/generic/nsFrameIdList.h => layout/generic/FrameIdList.h
extra : moz-landing-system : lando
2019-06-01 01:04:44 +00:00
Cameron McCormack
112bcc43db Bug 1554461 - Use an array to store nsContinuationStates when the number of them is low. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D32617

--HG--
extra : moz-landing-system : lando
2019-05-31 11:42:42 +00:00
Emilio Cobos Álvarez
6917a38081 Bug 1555216 - Change the signature of BindToTree to be (BindContext&, nsINode& aParentNode). r=bzbarsky
BindContext was going to have way more information at first, but then I realized
that most of the things I wanted to know were basically a flag away using the
parent node.

Still I think it's worth it, now experimenting with BindToTree will only mean
adding a field to a struct that's included from a couple cpp files, instead of a
massive pain.

I also think this is clearer, and doing this highlights quite a few
inconsistencies in our code which I've left untouched, but commented with
FIXMEs.

Steps are:

$ for file in $(rg 'nsresult BindToTree\(' | cut -d : -f 1 | sort | uniq); do sed -i 's#nsresult BindToTree(Document\* aDocument, nsIContent\* aParent,#nsresult BindToTree(BindContext\&, nsINode\& aParent)#g' $file; done
$ for file in $(rg 'nsresult BindToTree\(' | cut -d : -f 1 | sort | uniq); do sed -i 's#                      nsIContent\* aBindingParent) override#override#g' $file; done
$ for file in $(rg '::BindToTree\(' | cut -d : -f 1 | sort | uniq); do sed -i 's#::BindToTree(Document\* aDocument, nsIContent\* aParent,#::BindToTree(BindContext\& aContext, nsINode\& aParent)#g' $file; done
$ for file in $(rg '::BindToTree\(' | cut -d : -f 1 | sort | uniq); do sed -i 's#nsIContent\* aBindingParent)##g' $file; done
$ for file in $(rg '::BindToTree\(' | cut -d : -f 1 | sort | uniq); do sed -i 's#::BindToTree(aDocument, aParent, aBindingParent)#::BindToTree(aContext, aParent)#g' $file; done
$ ./mach clang-format

Then manual fixups.

Depends on D32948

Differential Revision: https://phabricator.services.mozilla.com/D32949
2019-05-31 23:31:52 +02:00
Ehsan Akhgari
a9e9f5ccdb Bug 1415270 - Part 1: Move nsHTMLDocument editing APIs to Document; r=farre,masayuki
Differential Revision: https://phabricator.services.mozilla.com/D32911

--HG--
extra : moz-landing-system : lando
2019-05-31 01:37:26 +00:00
Ryan Hunt
e7da3a1bef Bug 1519546, part 7 - Gather EffectsInfo for remote browsers in a paint and apply them. r=mattwoodrow
WebRender support will be finished in the following commit.

Differential Revision: https://phabricator.services.mozilla.com/D32476

--HG--
extra : rebase_source : f40ab9946e946d137aa2522f9fce0aa268e22937
extra : intermediate-source : ea63d3d6b85fd3c4456275638e968e0eed045b37
extra : source : 79be6c27e0f9e262b75723c120786e2256ee4700
2019-05-24 09:28:23 -05:00
Jonathan Watt
39945059b3 Bug 1552785. Remove printing related isFramesetDocument and isFramesetFrameSelected code. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D33696

--HG--
extra : rebase_source : 2e7f854a808059b4955ffaad425fe8b68263883e
2019-05-21 23:25:57 +01:00
Brad Werth
80409f33ea Bug 1555511 Part 2: Remove a float division in MVM::ScaleZoomWithDisplayWidth. r=botond
This is a drive-by fix to turn a division into a multiplication. It also
is more correct in that the existing code attempts a divide-by-zero if
aNewViewport.width is zero. The updated code will instead return a zoom
of zero in such a case.

Differential Revision: https://phabricator.services.mozilla.com/D32909

--HG--
extra : rebase_source : 83ab76092596d7feda11f66d83c022d3d1e4acd3
extra : source : 2a85e3af81bbe475217ecdf16ce7c5a1a7985a21
2019-06-04 22:25:06 +00:00
Brad Werth
b376db90f4 Bug 1555511 Part 1: Make MVM::UpdateResolution clamp viewport zoom for the new display size later in the calculation. r=botond
The existing math is attempting to adjust the display scale ratio to
prevent the new size from landing outside the min/max zoom bounds. This
introduces unwanted side effects that can be avoided by simply clamping
to min/max at the end. The remaining math correctly handles the case
where the zoom has ALREADY been clamped, which is the only important
case.

Differential Revision: https://phabricator.services.mozilla.com/D32908

--HG--
extra : rebase_source : 3767a50a7d88ceced7b0b3d5979020296f91d7a2
extra : source : 262d2cad64079c343e35b757ac642b231d50e0df
2019-06-04 22:23:47 +00:00
Ting-Yu Lin
55c5622538 Bug 1555823 - Remove bug 1323652 annotations from crashtest.lists. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D33213

--HG--
extra : moz-landing-system : lando
2019-05-30 22:18:01 +00:00
Boris Zbarsky
d2959ecb98 Bug 1553018 part 2. Make various gfx preferences bindings use in Pref annotations on interfaces follow the StaticPrefs naming convention for getters. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32943

--HG--
extra : moz-landing-system : lando
2019-05-30 17:21:57 +00:00
Emilio Cobos Álvarez
a384dedd93 Bug 1552708 - Use cbindgen for URIs. r=heycam
This doesn't clean up as much as a whole, but it's a step in the right
direction. In particular, it allows us to start using simple bindings for:

 * Filters
 * Shapes and images, almost. Need to:
   * Get rid of the complex -moz- gradient parsing (let
     layout.css.simple-moz-gradient.enabled get to release).
 * Counters, almost. Need to:
   * Share the Attr representation with Gecko, by not using Option<>.
     * Just another variant should be enough (ContentItem::{Attr,Prefixedattr},
       maybe).

Which in turn allows us to remove a whole lot of bindings in followups to this.

The setup changes a bit. This also removes the double pointer I complained about
while reviewing the shared UA sheet patches. The old setup is:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
 * UrlValueSource
   * Arc<CssUrlData>
   * load id
   * resolved uri
   * CORS mode.
   * ...
```

The new one removes the double reference to the url data via URLValue, and looks
like:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
     * CorsMode
     * LoadData
       * load id
       * resolved URI
```

The LoadData is the only mutable bit that C++ can change, and is not used from
Rust. Ideally, in the future, we could just use rust-url to resolve the URL
after parsing or something, and make it all immutable. Maybe.

I've verified that this approach still works with the UA sheet patches (via the
LoadDataSource::Lazy).

The reordering of mWillChange is to avoid nsStyleDisplay from going over the
size limit. We want to split it up anyway in bug 1552587, but mBinding gains a
tag member, which means that we were having a bit of extra padding.

One thing I want to explore is to see if we can abuse rustc's non-zero
optimizations to predict the layout from C++, but that's something to explore at
some other point in time and with a lot of care and help from Michael (who sits
next to me and works on rustc ;)).

Differential Revision: https://phabricator.services.mozilla.com/D31742
2019-05-29 21:22:04 +02:00
Mark Banner
c270f7d551 Bug 1554224 - Enable some ESLint rules for more of layout/. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D32496

--HG--
extra : moz-landing-system : lando
2019-05-29 10:50:49 +00:00
Edgar Chen
33d303678c Bug 1543439 - Part 2: Move is-user-interaction checks out of PresShell::EventHandler::PrepareToDispatchEvent; r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D32019

--HG--
extra : moz-landing-system : lando
2019-05-27 10:14:06 +00:00
Edgar Chen
4b1ff2f791 Bug 1543439 - Part 1: Move special handling for MouseDown/Up event out of AutoHandlingUserInputStatePusher; r=masayuki
PresShell::EventHandler::HandleEventWithCurrentEventInfo is the only possible
place will do such handling; other places pass either a nullptr or a
non-MouseDown/Up event.

Differential Revision: https://phabricator.services.mozilla.com/D32431

--HG--
extra : moz-landing-system : lando
2019-05-29 07:48:16 +00:00
Botond Ballo
9ef9fc2fd8 Bug 1554794 - Add PresShell::UsesMobileViewportSizing() and use it in place of GetIsViewportOverridden() where appropriate. r=kats,hiro
With desktop zooming, we need to separate the concepts of "may have a distinct
visual viewport" from "has mobile viewport sizing logic applied to it".

This can be thought of as completing the disentanglement of zooming from meta
viewport support started in bug 1459260.

Differential Revision: https://phabricator.services.mozilla.com/D32770

--HG--
extra : moz-landing-system : lando
2019-05-28 13:31:59 +00:00
Brindusan Cristian
40a5b04ab5 Backed out 3 changesets (bug 1552708, bug 1552878) for build bustages and compiler issues. CLOSED TREE
Backed out changeset 9d4f178bfcbd (bug 1552878)
Backed out changeset 80db9f845237 (bug 1552708)
Backed out changeset 1bdbfbb5b342 (bug 1552708)
2019-05-27 17:00:03 +03:00
Emilio Cobos Álvarez
f2190857bb Bug 1552708 - Use cbindgen for URIs. r=heycam
This doesn't clean up as much as a whole, but it's a step in the right
direction. In particular, it allows us to start using simple bindings for:

 * Filters
 * Shapes and images, almost. Need to:
   * Get rid of the complex -moz- gradient parsing (let
     layout.css.simple-moz-gradient.enabled get to release).
 * Counters, almost. Need to:
   * Share the Attr representation with Gecko, by not using Option<>.
     * Just another variant should be enough (ContentItem::{Attr,Prefixedattr},
       maybe).

Which in turn allows us to remove a whole lot of bindings in followups to this.

The setup changes a bit. This also removes the double pointer I complained about
while reviewing the shared UA sheet patches. The old setup is:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
 * UrlValueSource
   * Arc<CssUrlData>
   * load id
   * resolved uri
   * CORS mode.
   * ...
```

The new one removes the double reference to the url data via URLValue, and looks
like:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
     * CorsMode
     * LoadData
       * load id
       * resolved URI
```

The LoadData is the only mutable bit that C++ can change, and is not used from
Rust. Ideally, in the future, we could just use rust-url to resolve the URL
after parsing or something, and make it all immutable. Maybe.

I've verified that this approach still works with the UA sheet patches (via the
LoadDataSource::Lazy).

The reordering of mWillChange is to avoid nsStyleDisplay from going over the
size limit. We want to split it up anyway in bug 1552587, but mBinding gains a
tag member, which means that we were having a bit of extra padding.

One thing I want to explore is to see if we can abuse rustc's non-zero
optimizations to predict the layout from C++, but that's something to explore at
some other point in time and with a lot of care and help from Michael (who sits
next to me and works on rustc ;)).

Differential Revision: https://phabricator.services.mozilla.com/D31742

--HG--
extra : moz-landing-system : lando
2019-05-27 11:45:12 +00:00
Jean-Yves Avenard
022c57caf3 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

Differential Revision: https://phabricator.services.mozilla.com/D31468

--HG--
extra : moz-landing-system : lando
2019-05-26 14:31:53 +00:00
Jean-Yves Avenard
23436e1811 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-26 14:30:14 +00:00
Jean-Yves Avenard
04a34db033 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-26 14:29:42 +00:00
Sylvestre Ledru
d57d4905f1 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D30883

--HG--
extra : moz-landing-system : lando
2019-05-25 17:46:15 +00:00
Gurzau Raul
967bc2a754 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard
074aea57fe Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

Differential Revision: https://phabricator.services.mozilla.com/D31468

--HG--
extra : moz-landing-system : lando
2019-05-24 11:37:50 +00:00
Jean-Yves Avenard
8d5f292ab5 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-24 11:32:54 +00:00
Jean-Yves Avenard
af5790cf9b Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-25 00:03:32 +00:00
Brindusan Cristian
fd5a4a259a Merge inbound to mozilla-central. a=merge 2019-05-25 00:49:05 +03:00
Edgar Chen
800499a9f9 Bug 1554122 - Rename nsAutoPopupStatePusher* to AutoPopupStatePusher; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32457

--HG--
extra : moz-landing-system : lando
2019-05-24 12:42:29 +00:00
Mihai Alexandru Michis
35449f0689 Backed out changeset e52d041dc3de (bug 1553378) for causing build bustages in ContentEventHandler.cpp. CLOSED TREE
--HG--
extra : amend_source : 36025186ca5788f5889ff7d97252900eefab0a36
2019-05-24 14:32:27 +03:00
arthur.iakab
af8e458c5f Backed out changeset a296439a25ff (bug 1519636) for frequent Windows cppunit failures CLOSED TREE 2019-05-24 14:26:01 +03:00
Cameron McCormack
5bed2b0138 Bug 1553378 - Devirtualize calls to GetText() / TextLength() when we know we have a Text node. r=smaug,jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D32100

--HG--
extra : moz-landing-system : lando
2019-05-24 08:10:55 +00:00
Sylvestre Ledru
c82ea97226 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D30883

--HG--
extra : moz-landing-system : lando
2019-05-24 09:59:17 +00:00
Boris Chiou
3b51b642f3 Bug 1429301 - Implement offset-rotate. r=emilio
This includes style system and layout update. I add 3 extra reftests
because the original tests use ray() function as the offset-path, but we
don't support it. It'd be better to add tests using a different type of
offset-path.

The spec issue about the serialization:
https://github.com/w3c/fxtf-drafts/issues/340

Differential Revision: https://phabricator.services.mozilla.com/D32212

--HG--
extra : moz-landing-system : lando
2019-05-24 03:42:03 +00:00
Razvan Maries
234389cf17 Backed out changeset 82b18d61da00 (bug 1553378) for build bustages. CLOSED TREE 2019-05-24 06:50:14 +03:00
Cameron McCormack
f5dd691a74 Bug 1553378 - Devirtualize calls to GetText() / TextLength() when we know we have a Text node. r=smaug,jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D32100

--HG--
extra : moz-landing-system : lando
2019-05-24 03:18:44 +00:00
Emilio Cobos Álvarez
980074a5b2 Bug 1544242 - Cleanup selector-matching for nested pseudo-elements, match ::slotted correctly when there's no selector before it, and add tests. r=heycam,mats
D29542 fixed the bogus checks that was making nested pseudo-elements match
author rules. This adds tests and ends up being just a cleanup, though as it
turns out we it also fixes an issue with ::slotted() matched from
Element.matches.

Differential Revision: https://phabricator.services.mozilla.com/D27529

--HG--
extra : moz-landing-system : lando
2019-05-24 01:09:15 +00:00
Daniel Varga
af42676c4a Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-05-23 18:59:21 +03:00
Daniel Varga
4cbc287f63 Merge mozilla-inbound to mozilla-central. a=merge 2019-05-23 18:54:21 +03:00
Dorel Luca
262d881f83 Backed out 2 changesets (bug 1553772) for Geckoview failures in org.mozilla.geckoview.test.SelectionActionDelegateTest.collapseToStart[#designmode]
Backed out changeset 7286e18fbc17 (bug 1553772)
Backed out changeset 58d40da71355 (bug 1553772)
2019-05-23 18:30:54 +03:00
Emilio Cobos Álvarez
c0ba509142 Bug 1553772 - Bug 1549812 - Try to assert a bit harder about stuff not flushing under our nose. r=TYLin,mats
I think these should hold, everything that runs under them should just schedule
other stuff to some later date:

 * Synth mouse events -> scheduled as refresh driver observers.
 * Scroll events -> Scheduled as well.
 * Caret state change events -> Also scheduled after last patch.
 * IME and accessibility stuff -> I don't think they can reenter layout.

We can always revert this if it causes troubles, plus it shouldn't crash on
release so should be fine.

Differential Revision: https://phabricator.services.mozilla.com/D31090

--HG--
extra : moz-landing-system : lando
2019-05-23 09:45:56 +00:00
Emilio Cobos Álvarez
d9bcd0c1e9 Bug 1553772 - Bug 1549812 - Don't run arbitrary script from AccessibleCaretManager callbacks. r=TYLin
Instead, post the event for the next turn of the event loop.

In this case, what killed the frame is ActionBarHandler.jsm via
Selection.toString().

Depends on D31088

Differential Revision: https://phabricator.services.mozilla.com/D31089

--HG--
extra : moz-landing-system : lando
2019-05-23 09:45:47 +00:00
Gurzau Raul
74c555539e Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Jean-Yves Avenard
d59781ac33 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

Differential Revision: https://phabricator.services.mozilla.com/D31468

--HG--
extra : moz-landing-system : lando
2019-05-22 12:46:30 +00:00
Jean-Yves Avenard
2412878bd9 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-22 22:27:37 +00:00
Jean-Yves Avenard
2c0ce1b3ca Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-22 12:43:42 +00:00
Hiroyuki Ikezoe
d3e6eadc70 Bug 1546219 - Rename mScrollSnapType{X,Y} to mScrollSnapStrictness{X,Y}. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D31746

--HG--
extra : moz-landing-system : lando
2019-05-22 17:43:34 +00:00
Emilio Cobos Álvarez
649de5977c Bug 1549812 - ScrollFrameRectIntoView should handle the frame going away. r=mats
ScrollToShowRect already considers that possibility, so not doing it on the
caller is a bug.

Ideally scroll observers shouldn't be able to run script, more to that in a
second.

Differential Revision: https://phabricator.services.mozilla.com/D31088

--HG--
extra : moz-landing-system : lando
2019-05-17 16:33:26 +00:00
Cameron McCormack
e82b3826f9 Bug 1553378 - Devirtualize calls to GetText() / TextLength() when we know we have a Text node. r=smaug,jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D32100
2019-05-22 15:18:48 +10:00
Noemi Erli
98ff24cc58 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-05-22 06:45:38 +03:00
Emilio Cobos Álvarez
ca59532ce8 Bug 1553227 - Remove old CSS scroll snap implementation. r=hiro
This will save us some time from figuring out what's the best thing to do in
bug 1552587, so that other patches I have in flight (mainly bug 1552708) can
land, since we cannot add a single byte to nsStyleDisplay right now otherwise.

The code removed here is well isolated and not that complicated, so it seems to
me that should be easy to bring back should we have an emergency (and I commit
to doing that while preserving the nsStyleDisplay size limit if we need to :)).

Differential Revision: https://phabricator.services.mozilla.com/D32026

--HG--
extra : moz-landing-system : lando
2019-05-21 22:51:54 +00:00
Emilio Cobos Álvarez
6759592377 Bug 1552719 - Make nsBulletFrame::Ordinal() O(1) again. r=mats
I did this instead of just (ab)using the fact that every list item has at least
one counter-increment node because:

 * I don't have the bullet frame around by the time we initially compute the
   counter increment, which means that I'd need to grow nsBlockFrame / add a
   frame property for the list item ordinal, which I think would be unfortunate.

 * It feels more consistent with the way regular CSS counters work and with the
   way we want ::marker to eventually work.

Differential Revision: https://phabricator.services.mozilla.com/D31990

--HG--
extra : moz-landing-system : lando
2019-05-21 17:30:42 +00:00
Emilio Cobos Álvarez
07adac9c29 Bug 1552719 - Make nsGenConList::NodeAfter handle correctly nested pseudo-elements. r=mats
When you have a ::after::marker, and you compare one against the other we ended
up with the wrong result because of the pseudotype stuff.

I think this is cleaner now that DoCompareTreePosition handles pseudos properly
(which is really the thing this was working around).

Differential Revision: https://phabricator.services.mozilla.com/D31989

--HG--
extra : moz-landing-system : lando
2019-05-21 17:29:26 +00:00
Emilio Cobos Álvarez
f6e2bfc64b Bug 1552719 - Make nsLayoutUtils::DoCompareTreePosition handle pseudos more diligently. r=mats
I'm going to need it to fix the counters code in presence of nested
pseudo-elements.

Differential Revision: https://phabricator.services.mozilla.com/D31988

--HG--
extra : moz-landing-system : lando
2019-05-21 17:29:17 +00:00
Emilio Cobos Álvarez
2917763ba5 Bug 1552719 - Do some cleanup in the counter initializer code. r=mats
I thought I was going to need it but turns out I don't. Still this is worth it I
think.

Differential Revision: https://phabricator.services.mozilla.com/D31987

--HG--
extra : moz-landing-system : lando
2019-05-21 17:29:06 +00:00
Razvan Maries
fa4ff6f653 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-05-21 12:37:53 +03:00
Daniel Varga
f7e7132f8f Merge mozilla-central to mozilla-inbound 2019-05-21 07:22:34 +03:00
Matt Woodrow
42c9b79f0b Bug 1544995 - Always update overflow areas up to the preserve-3d root. r=dbaron
We don't store post-transform overflow areas for frames within preserve-3d, but we do store pre-transform overflow areas.
Rather than just recomputing the changed overflow for the root, we should recompute overflows for all ancestors up to the 3d root.

Differential Revision: https://phabricator.services.mozilla.com/D31213

--HG--
extra : moz-landing-system : lando
2019-05-19 22:39:58 +00:00
Boris Chiou
1842658992 Bug 1429299 - Part 3: Layout update for offset-distance. r=birtles
Just need to take offset-distance into account to get the final matrix.

Differential Revision: https://phabricator.services.mozilla.com/D30583

--HG--
extra : moz-landing-system : lando
2019-05-20 23:42:54 +00:00
Boris Chiou
718aaf17f9 Bug 1429299 - Part 1: Unpack StyleMotion and use cbindgen for OffsetPath. r=emilio
Unpack StyleMotion and move its members into nsStyleDisplay, use
cbindgen to generate StyleOffsetPath.

Differential Revision: https://phabricator.services.mozilla.com/D31164

--HG--
extra : moz-landing-system : lando
2019-05-20 23:42:50 +00:00
Sean Feng
170e44e58f Bug 1534012 - Use a low priority ThrottledEventQueue for postMessages during page load r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D27386

--HG--
extra : moz-landing-system : lando
2019-05-16 19:35:30 +00:00
Brendan Dahl
543c10a1d2 Bug 1551320 - Replace all CreateElement calls in XUL documents with CreateXULElement. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D31295

--HG--
extra : moz-landing-system : lando
2019-05-20 16:50:28 +00:00
Jonathan Watt
21321fb45e Bug 1552880 p1. Pass a document to nsPrintJob::PrintPreview instead of a window. r=bobowen
This stops nsPrintJob::PrintPreview from duplicating work done in
nsDocumentViewer::PrintPreview.

Differential Revision: https://phabricator.services.mozilla.com/D31811

--HG--
extra : rebase_source : 062cbac323a2a1a0bcc85039b3671c650c408efa
extra : amend_source : 39d5b8c316f518aa72d560ae4eeec171561ab8fd
2019-05-09 10:40:12 +01:00
Brian Birtles
050372ea8e Bug 1253476 - Don't composite removed animations; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D30324

--HG--
extra : moz-landing-system : lando
2019-05-20 05:55:52 +00:00
Brian Birtles
5b145a6de4 Bug 1253476 - Add remove events; r=boris,bzbarsky
This patch introduces the machinery for dispatching remove events but does not
actually cause removing to do anything to the output of the animation beyond
updating its replaceState member.

The expected behavior is defined in:

  https://drafts.csswg.org/web-animations-1/#removing-replaced-animations

And the corresponding IDL members are defined in:

  https://drafts.csswg.org/web-animations-1/#animation
  https://drafts.csswg.org/web-animations-1/#enumdef-animationreplacestate

Tests for these events are added in the next patch in this series.

Differential Revision: https://phabricator.services.mozilla.com/D30322

--HG--
extra : moz-landing-system : lando
2019-05-20 05:48:29 +00:00
Brian Birtles
25c05a66db Bug 1253476 - Run microtask checkpoint for updating timing after updating all timelines; r=hiro
According to the procedure to update animations and send events[1] the UA should
update all timelines first and _then_ run a microtask checkpoint.

As a result, when we run callbacks for the finished promise on an Animation they
should see the fully up-to-date state of all animations, regardless of which
timeline they are attached to.

However, that is currently not the case since we run a microtask checkpoint
after updating each individual timeline.

This difference will become more significant later in this patch series when we
introduce another step--removing replaced animations--that _also_ should happen
before we run the microtask checkpoint (so that the promise callbacks always see
a fully-up-to-date state).

This patch makes our handling a little more in line with the spec. It's not
quite the same because it's possible there may be other refresh driver observers
that trigger a microtask checkpoint in between ticking the different timelines
but that case is expected to be rare and fixing it would require maintaining
a separate queue for timeline observers that we run after all other observers--
so it is probably not necessary to fix that case at this stage.

The test added in this patch fails without the code changes in this patch.

[1] https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events

Differential Revision: https://phabricator.services.mozilla.com/D30319

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:03 +00:00
Emilio Cobos Álvarez
f4c39907e0 Bug 1552628 - Remove some more dead nsCSSValue code. r=xidorn
Most of it is not used at this point, this leaves the parts that are used by
MathML, which are minimal.

Differential Revision: https://phabricator.services.mozilla.com/D31706

--HG--
extra : moz-landing-system : lando
2019-05-19 00:47:18 +00:00
Miko Mynttinen
049dbbcc2c Bug 1529698 - Part 4: Add nsDisplayContainer r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30840

--HG--
extra : moz-landing-system : lando
2019-05-18 20:11:42 +00:00
Jonathan Watt
369d066b0e Bug 1552478. Stop printpreview_bug396024_helper.xul creating a print preview viewer in a normal document window. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D31613

--HG--
extra : rebase_source : 5c3d6ca99d38dd9e827c71cb18a8c0f31be883b5
2019-05-07 23:58:30 +01:00
Jonathan Watt
f3060a6671 Bug 1552449. Make the nsIDocShell interface to print preview less susceptible to inadvertent misuse. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D31598

--HG--
extra : rebase_source : 843908736fcaaab29bd16033d1c077850423521a
2019-05-07 14:12:44 +01:00
Timothy Nikkel
d205113458 Bug 1552104. Need to clear display items when we remove a document from the view tree but it sticks around. r=mattwoodrow
This happens in one test on try server that has some iframes that navigate.

I audited everywhere else that we change the view tree, this seems like the only place it can happen.

Differential Revision: https://phabricator.services.mozilla.com/D31399

--HG--
extra : moz-landing-system : lando
2019-05-16 21:14:19 +00:00
Emilio Cobos Álvarez
0b89333979 Bug 1550554 - Use OwnedSlice for will-change. r=heycam
We could use ArcSlice if wanted I guess, your call. Though will change is not
supposed to be used very frequently.

Differential Revision: https://phabricator.services.mozilla.com/D30548

--HG--
extra : moz-landing-system : lando
2019-05-16 23:23:28 +00:00
Emilio Cobos Álvarez
987519e4da Bug 1550554 - Add bindings for box shadows, and remove nsCSSShadowArray and friends. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D30547

--HG--
extra : moz-landing-system : lando
2019-05-16 23:04:32 +00:00
Emilio Cobos Álvarez
a4ef6a3540 Bug 1550554 - Use ArcSlice for quotes. r=heycam
This saves the intermediate allocation.

Differential Revision: https://phabricator.services.mozilla.com/D30546

--HG--
extra : moz-landing-system : lando
2019-05-16 23:04:31 +00:00
Csoregi Natalia
60874606d0 Merge mozilla-central to autoland. CLOSED TREE 2019-05-17 00:58:59 +03:00
Jonas Allmann
50275c5d2b Bug 1549326 - Remove simpletest.js from eval()-whitelist, r=ckerschb
Amend several test files for triggering eval() assertion through simpletest.js

Differential Revision: https://phabricator.services.mozilla.com/D30474

--HG--
extra : moz-landing-system : lando
2019-05-16 13:44:36 +00:00
Ciure Andrei
00a73f5055 Backed out 17 changesets (bug 1550554, bug 1549593, bug 1551991, bug 1529002) for failing multiple Android tests and Windows 2012 bustages CLOSED TREE
Backed out changeset 3bb3fafa62e2 (bug 1551991)
Backed out changeset e12a979de502 (bug 1551991)
Backed out changeset d81e4aa6bf0c (bug 1551991)
Backed out changeset c354e61f2a34 (bug 1551991)
Backed out changeset 37fd602bebc2 (bug 1551991)
Backed out changeset 6c1f00cc30ca (bug 1551991)
Backed out changeset 8a7a0329bdc3 (bug 1551991)
Backed out changeset 86159475ddd3 (bug 1551991)
Backed out changeset 35f91a9ea82a (bug 1529002)
Backed out changeset 6798155e71dc (bug 1529002)
Backed out changeset b90c2cf5b8c5 (bug 1550554)
Backed out changeset 882ab9868c95 (bug 1550554)
Backed out changeset b28a48e2ed21 (bug 1550554)
Backed out changeset 2c31fe18eefd (bug 1550554)
Backed out changeset 57f2362aa538 (bug 1550554)
Backed out changeset 45f171b26e95 (bug 1550554)
Backed out changeset 2e4b263c9410 (bug 1549593)
2019-05-16 13:17:10 +03:00
Ciure Andrei
a57772d544 Backed out changeset e6913f1de086 (bug 1552104) for causing test_bug660404.html and test_bug590573.html to perma fail CLOSED TREE 2019-05-16 12:54:55 +03:00
Emilio Cobos Álvarez
6634361c43 Bug 1550554 - Use OwnedSlice for will-change. r=heycam
We could use ArcSlice if wanted I guess, your call. Though will change is not
supposed to be used very frequently.

Differential Revision: https://phabricator.services.mozilla.com/D30548
2019-05-16 16:24:31 +02:00
Emilio Cobos Álvarez
0fe081bb39 Bug 1550554 - Add bindings for box shadows, and remove nsCSSShadowArray and friends. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D30547
2019-05-16 16:24:28 +02:00
Emilio Cobos Álvarez
49f795fd83 Bug 1550554 - Use ArcSlice for quotes. r=heycam
This saves the intermediate allocation.

Differential Revision: https://phabricator.services.mozilla.com/D30546
2019-05-16 16:24:24 +02:00
Timothy Nikkel
0e07abb5d9 Bug 1552104. Need to clear display items when we remove a document from the view tree but it sticks around. r=mattwoodrow
This happens in one test on try server that has some iframes that navigate.

I audited everywhere else that we change the view tree, this seems like the only place it can happen.

Differential Revision: https://phabricator.services.mozilla.com/D31399

--HG--
extra : moz-landing-system : lando
2019-05-16 09:39:03 +00:00
Boris Zbarsky
f62f4b6026 Bug 1551652. Stop using [array] in nsILayoutHistoryState. r=heycam
I read through
<https://searchfox.org/mozilla-central/search?q=%5B%5EA-Za-z_%5D%5BGg%5DetKeys%5B%5EA-Za-z_%5D&case=true&regexp=true&path=>
and as far as I can tell the only JS consumer is SessionHistory.jsm, which was
not passing the optional "count" arg already.  There are no C++ consumers.

Differential Revision: https://phabricator.services.mozilla.com/D31113

--HG--
extra : moz-landing-system : lando
2019-05-16 00:36:41 +00:00
Hiroyuki Ikezoe
eb76263d34 Bug 1551241 - Add a check for the case where the embedder element is nullptr. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D30982

--HG--
extra : moz-landing-system : lando
2019-05-15 10:55:34 +00:00
Matt Woodrow
3e231add81 Bug 1549909 - Use display list building order for walking parents in AddFramesForContainingBlock. r=kamidphish
Differential Revision: https://phabricator.services.mozilla.com/D30453

--HG--
extra : moz-landing-system : lando
2019-05-15 03:33:26 +00:00
Botond Ballo
1e0a063846 Bug 1459260 - Create a MobileViewportManager whenever apz.allow_zooming is set. r=kats
However, we continue to only respect a <meta name="viewport"> tag if
dom.meta-viewport.enabled is set.

Differential Revision: https://phabricator.services.mozilla.com/D30988

--HG--
extra : moz-landing-system : lando
2019-05-14 02:16:21 +00:00
Andrew McCreight
2841945140 Bug 1550860 - Mark implicit builtinclass interfaces explicitly. r=nika
If an XPIDL interface has a method or attribute that is [notxpcom],
then it is implicitly treated as [builtinclass], even if it is not
marked as such. For clarity, this patch goes through and marks every
place that relies on this behavior (aside from some test code).

Differential Revision: https://phabricator.services.mozilla.com/D30714

--HG--
extra : moz-landing-system : lando
2019-05-13 19:51:49 +00:00
Brad Werth
0cadd363db Bug 1548896 Part 1: Prevent MobileViewportManager::GetCompositionSize from returning negative sizes. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D30736

--HG--
extra : moz-landing-system : lando
2019-05-13 17:26:34 +00:00
Hiroyuki Ikezoe
863f6d62eb Bug 1518919 - Propagate CSS visibility information to descendant documents via IPC call for fission. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D30460

--HG--
extra : moz-landing-system : lando
2019-05-13 01:49:07 +00:00
Nicolas Silva
92e099dc31 Bug 1536021 - Gecko side changes. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D30618

--HG--
extra : source : d9c8971de6ad11a2f5c4331775c2d17c98a12b7e
extra : intermediate-source : b0fc3130f34b72fe01230ae0b231131111a9a9f1
2019-05-10 22:13:31 +02:00
Boris Zbarsky
928476d24c Bug 1550092 part 1. Stop using [array] in sendTouchEvent/sendTouchEventToWindow. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D30441

--HG--
extra : moz-landing-system : lando
2019-05-10 09:03:39 +00:00
Hiroyuki Ikezoe
ca71a531a1 Bug 1541253 - Test cases for CSS visibility propagation. r=tnikkel
There are three test cases;

 1) Two iframes are swapped
 2) Changing the visibility of the parent document doesn't clobber a child
    document's visibility in the case where the child document has been hidden
    by another element in the parent document
 3) an iframe is initially inside a visibility:hidden element in the parent
    document

Depends on D26253

Differential Revision: https://phabricator.services.mozilla.com/D27842

--HG--
extra : moz-landing-system : lando
2019-05-10 10:35:45 +00:00
Hiroyuki Ikezoe
a7b7f105b5 Bug 1541253 - Propagate CSS visivibility information to descendant documents. r=tnikkel
Depends on D26251

Differential Revision: https://phabricator.services.mozilla.com/D26252

--HG--
extra : moz-landing-system : lando
2019-05-10 11:15:43 +00:00
Hiroyuki Ikezoe
88e1c00d24 Bug 1541253 - Make PresShell::IsVisible const. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D26251

--HG--
extra : moz-landing-system : lando
2019-05-10 11:15:30 +00:00
Csoregi Natalia
6b3623045e Backed out changeset 7c1fce459b7a (bug 1549909) for crashtest failures on 1458028.html. CLOSED TREE 2019-05-10 14:21:07 +03:00
Matt Woodrow
6f7852c76c Bug 1549909 - Use display list building order for walking parents in AddFramesForContainingBlock. r=kamidphish
Differential Revision: https://phabricator.services.mozilla.com/D30453

--HG--
extra : moz-landing-system : lando
2019-05-10 04:58:39 +00:00
Masayuki Nakano
1fb845d129 Bug 1543315 - part 17: Mark PresShell::HandleDOMEventWithTarget() as MOZ_CAN_RUN_SCRIPT r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D30494

--HG--
extra : moz-landing-system : lando
2019-05-09 20:21:28 +00:00
Brindusan Cristian
ba4f64421f Backed out changeset 7fa8e33635fc (bug 1534012) for wpt failures at promise-rejection-events.html. CLOSED TREE 2019-05-10 01:10:40 +03:00
Sean Feng
87884c39a6 Bug 1534012 - Use a low priority ThrottledEventQueue for postMessages during page load r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D27386

--HG--
extra : moz-landing-system : lando
2019-05-09 14:43:40 +00:00
Brindusan Cristian
7f7d7f6a70 Backed out changeset e925cef1cadf (bug 1549326) for mochitest assertion failures at nsContentSecurityManager.cpp:205. CLOSED TREE 2019-05-09 21:05:40 +03:00
Jonas Allmann
4b72fd9bba Bug 1549326 - Remove simpletest.js from eval()-whitelist, r=ckerschb
Amend several test files for triggering eval() assertion through simpletest.js

Differential Revision: https://phabricator.services.mozilla.com/D30474

--HG--
extra : moz-landing-system : lando
2019-05-09 16:02:49 +00:00
Emilio Cobos Álvarez
38065025d9 Bug 1548691 - Use the owned slice type for basic shape polygon coordinates. r=TYLin,heycam
This enables destructors for tagged unions in cbindgen, implemented in:

 * https://github.com/eqrion/cbindgen/pull/333

Which allow us to properly generate a destructor for the cbindgen-generated
StyleBasicShape (which now contains an OwnedSlice).

For now, we still use the glue code to go from Box<BasicShape> to
UniquePtr<BasicShape>. But that will change in the future when we generate even
more stuff and remove all the glue.

I could add support for copy-constructor generation to cbindgen for tagged
enums, but I'm not sure if it'll end up being needed, and copy-constructing
unions in C++ is always very tricky.

Differential Revision: https://phabricator.services.mozilla.com/D29769

--HG--
extra : moz-landing-system : lando
2019-05-09 11:24:57 +00:00