Commit Graph

63471 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
46e051dd40 Bug 1450705: Don't go through the binding manager to see if our parent is an SVG element. r=bz
We don't extend svg elements, except in a lone test, that isn't really impacted
by this.

I agree this should look at the frame btw, though that looks a bit out of scope
for this bug.

MozReview-Commit-ID: MbvIE5TszB
2018-04-04 07:49:21 +02:00
Emilio Cobos Álvarez
93307076b0 Bug 1450617: No need to ResolveTag to disable first-line on fieldsets. r=bz
We don't extend HTML fieldsets with XBL, and I don't think we want to start
doing that now.

MozReview-Commit-ID: GiltTWXUBzZ
2018-04-04 07:48:31 +02:00
Emilio Cobos Álvarez
364d1d533b Bug 1450617: Only allow extending from / to XUL elements. r=bz
MozReview-Commit-ID: JaFKQDkLGgw
2018-04-04 07:48:31 +02:00
Emilio Cobos Álvarez
f004e39cd6 Bug 1441136: Add a fast way to enumerate ShadowRoots in a document. r=smaug
MozReview-Commit-ID: 7QffP56jsyk
2018-04-04 07:40:34 +02:00
Matt Woodrow
0c3b21fb32 Bug 1370575 - Do less manual invalidation when tables changes, and rely on DLBI instead. r=mstange 2018-04-04 16:17:49 +12:00
Matt Woodrow
199c2a649c Bug 1450189 - Don't invalidate display items when we get a new style context. r=miko 2018-04-04 16:17:25 +12:00
Matt Woodrow
cc659a75b9 Bug 1442844 - Don't mark display items invalid when temporarily setting the frame size in FinishAndStoreOverflow. r=dbaron 2018-04-04 16:17:01 +12:00
Matt Woodrow
8eb6516c62 Bug 1443380 - Don't mark all descendant frames modified for display list building when invalidating a frame subtree since marking just the root is sufficient. r=miko 2018-04-04 16:15:49 +12:00
Ciure Andrei
5ffac2bcd3 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-04-04 00:58:50 +03:00
Ciure Andrei
7208a2fee8 Merge inbound to mozilla-central. a=merge 2018-04-04 00:54:16 +03:00
Sebastian Hengst
6b9a810251 merge mozilla-central to autoland 2018-04-03 20:04:13 +03:00
Sebastian Hengst
a0665934fa Backed out 2 changesets (bug 1443027) for frequent crashes on OS X. a=backout
Backed out changeset 1e3dc6112e76 (bug 1443027)
Backed out changeset d2734042605a (bug 1443027)
2018-04-03 19:51:49 +03:00
arthur.iakab
b310d9523e Merge inbound to mozilla-central. a=merge 2018-04-03 12:31:23 +03:00
Nicholas Nethercote
94289ab246 Bug 1448225 - Convert StylePrefs to StaticPrefs. r=emilio
The new StaticPrefs machinery means that StylePrefs can be removed.

Note that this approach mirrors all static prefs into Rust, but I have only
updated structs.rs for the prefs that Stylo uses.

On a CLOSED TREE, since a sheriff closed the tree while I was about to land this
via autoland.

MozReview-Commit-ID: G1SY0987WJ7
2018-04-03 09:06:20 +02:00
Cameron McCormack
c14a8ffa84 Bug 1450859 - Remove layout.css.expensive-style-struct-assertions.enabled pref. r=emilio
With the old style system removed, this pref has no effect.

--HG--
extra : rebase_source : ddc8462a0044225a46522f53f4bbb131627fb7f1
2018-04-03 15:58:32 +10:00
Boris Zbarsky
9bb77bdfc7 Bug 1450418. Get rid of nsIDOMScreen. r=qdot
MozReview-Commit-ID: A5Rq0BSQt4V
2018-04-03 00:42:41 -04:00
Dorel Luca
ae1dc5307b Merge mozilla-central to mozilla-inbound 2018-04-03 07:24:53 +03:00
Dorel Luca
d8a4cfd361 Merge mozilla-inbound to mozilla-central. a=merge 2018-04-03 07:04:18 +03:00
Matt Woodrow
82c740d1b1 Bug 1450360 - Respect the z-index property set on scrollbars. r=mstange
--HG--
extra : rebase_source : 0288513aaa2216c14de501417ff3b9f405ee97a5
2018-04-03 12:13:48 +12:00
Ryan VanderMeulen
d9d59209a6 Backed out changeset d85b5825a721 (bug 1440753) for frequent OSX iframe-scrolling-attr-2.html failures on a CLOSED TREE. 2018-04-02 17:59:30 -04:00
Ryan VanderMeulen
e5ec40f40c Backed out 11 changesets (bug 1404222) for static analysis failures on a CLOSED TREE.
Backed out changeset a6a99136300c (bug 1404222)
Backed out changeset 7183b8104399 (bug 1404222)
Backed out changeset a1e4294c1c59 (bug 1404222)
Backed out changeset b79d6e8318db (bug 1404222)
Backed out changeset 0450620fdabd (bug 1404222)
Backed out changeset 026c74a92d04 (bug 1404222)
Backed out changeset 50ac4167f702 (bug 1404222)
Backed out changeset 59038f2db68a (bug 1404222)
Backed out changeset f6b9096da915 (bug 1404222)
Backed out changeset 4e0baffdd79b (bug 1404222)
Backed out changeset 57eeb849ab88 (bug 1404222)
2018-04-02 17:57:27 -04:00
Daniel Holbert
2f5d7919b0 Bug 1404222 followup: add 'explicit' keyword to fix static analysis build error. (no review, trivial bustagefix) 2018-04-02 14:08:33 -07:00
Nicholas Nethercote
9ea93c4f7b Bug 1449395 - Remove nsStaticAtomSetup. r=froydnj
Each nsStaticAtomSetup contains a pointer to a static atom, and also a pointer
to the canonical pointer to that static atom. Which is pretty weird! The
notable thing thing about it is that these structs are in an array, and that
gives us the only way to iterate over all static atoms in a single class, for
registration and lookups.

But thanks to various other recent changes to the implementation of static
atoms, we can now put the static atoms themselves into an array, which can be
iterated over. So this patch does that. With that done, nsStaticAtomSetup is no
longer necessary.

According to the `size` utility, on Linux64 this reduces the size of libxul.so
by the following amounts:

> text:  62008 bytes
> data:  20992 bytes
> bss:   21040 bytes
> total: 104040 bytes

- The bss reduction is one word per atom, because the canonical static atom
  pointers (e.g. nsGkAtoms::foo) have moved from .bss to .data, because they're
  now initialized at compile time instead of runtime.

- The data reduction is one word per atom, because we remove two words per atom
  for the nsStaticAtomSetup removal, but gain one word per atom from the
  previous bullet point.

- I'm not sure about the text reduction. It's three words per atom. Maybe
  because there is one less relocation per atom?

Other notable things in the patch:

- nsICSSAnonBoxPseudo and nsICSSPseudoElement now inherit from nsStaticAtom,
  not nsAtom, because that's more precise.

- Each static atoms array now has an enum associated with it, which is used in
  various ways.

- In the big comment about the macros at the top of nsStaticAtom.h, the pre-
  and post-expansion forms are now shown interleaved. The interleaving reduces
  duplication and makes the comment much easier to read and maintain. The
  comment also has an introduction that explains the constraints and goals of
  the implementation.

- The SUBCLASS macro variations are gone. There are few enough users of these
  macros now that always passing the atom type has become simpler.

MozReview-Commit-ID: 1GmfKidLjaU

--HG--
extra : rebase_source : 2352590101fc6693ba388f885ca4714a42963943
2018-03-29 11:48:18 +11:00
Nicholas Nethercote
4b941e22d0 Bug 1449395 - Remove unnecessary nsStaticAtom.h includes. r=froydnj
For nsCSSAnonBoxes.cpp, nsCSSPseudoElements.cpp, nsDirectoryService.cpp, the
corresponding .h file includes nsStaticAtom.h. For the other files in this
patch, nsStaticAtom.h is not needed at all.

MozReview-Commit-ID: IpMmbXwZHhu

--HG--
extra : rebase_source : 46d0a6b40a41ee233adad7c205cf907fa27de34a
2018-03-29 09:08:54 +11:00
Dorel Luca
465b8a1f5d Merge mozilla-central to autoland 2018-04-03 01:12:17 +03:00
Ben Kelly
9d0c860356 Bug 1450271 Make MediaQueryList bind to its document's inner window. r=baku 2018-04-02 08:35:52 -07:00
Hiroyuki Ikezoe
2b9a5049f3 Bug 1443358 - Consider that the target frame is scrolled out if scrollable parent frame size is empty. r=birtles
This patch adds three test cases;

1) Animation on position:absolute element in a zero-height iframe
  This animation should be throttled.
2) Animation on a non-zero width and hight position:absolute element but whose
   parent has a zero height
  This animation should NOT be throttled since the animation is visible
3) Animation on a zero-height position:absolute element whose parent also has
   zero height.
  This animation should be throttled since the animation is invisible

The first test fails without this fix and passes with the fix.
The second one passes regardless of the fix
The third one is marked as 'todo' since it doesn't pass with this fix.

MozReview-Commit-ID: 8pNUFQ71ivj

--HG--
extra : rebase_source : d1d37e5324247efc20a39d86a0f8849450cc7533
2018-04-02 13:34:14 +09:00
Daniel Holbert
88257ab3d9 Bug 1105111 part 5: Add reftests for 'flex-basis:content' in column-oriented flex container. r=mats
MozReview-Commit-ID: 6TMrmisHOUr
2018-04-02 04:30:39 +02:00
Daniel Holbert
a3d3fde5cc Bug 1105111 part 4: Add reftests for 'flex-basis:content' in row-oriented flex container. r=mats
MozReview-Commit-ID: 93pZdfzai93
2018-04-02 04:30:39 +02:00
Daniel Holbert
3074065ec2 Bug 1105111 part 3: Add support for 'flex-basis:content' in layout. r=mats
BACKGROUND:
Early in flex layout, we have to resolve the 'flex-basis' value to produce the
"flex base size" (basically, the flex-basis resolved to an absolute length).

This resolution happens in two "phases" (which both happen within
nsFlexContainer::GenerateFlexItemForChild()):

First phase: we try to resolve the flex-basis by creating a ReflowInput for the
flex item (which gets us some other things as well).  Under the hood, we use
the flex-basis when resolving this ReflowInput's main-axis size.  The code for
this lives in nsFrame::ComputeSize (and in
nsFrame::ComputeSizeWithIntrinsicDimensions, via some frame classes' overrides of
ComputeSize).

Second phase: If the first phase didn't get us a definite size, then that means
we have to do reflow to measure the content size & produce a resolved flex base
size, which we do via ResolveAutoFlexBasisAndMinSize().

NOTES ON THIS PATCH:
To add 'flex-basis:content' support to layout, this patch only needs to modify
the first phase discussed above. If it turns out we also have some second-phase
work to do (i.e. if we need to do reflow to resolve 'flex-basis:content'), this
patch causes that reflow to happen by simply making us use eStyleUnit_Auto in
the main axis's nsStyleCoord in the first phase.  (And then, if that 'auto'
nsStyleCoord really does require reflow, then that first phase will end up
producing an unconstrained main-size in the flex item's ReflowInput, which will
automatically trigger the second phase.)

MozReview-Commit-ID: 2nH4Fh78C81
2018-04-02 04:30:38 +02:00
Daniel Holbert
81c1d19a77 Bug 1105111 part 2: Add support for 'flex-basis:content' in the style system (gecko / getComputedStyle side). r=mats
MozReview-Commit-ID: E0crFCy7Jfk
2018-04-02 04:30:37 +02:00
Mats Palmgren
4fd8ffd48e Bug 1398537 part 2 - [css-multicol] Implement percentages for 'column-gap' (Gecko part). r=dholbert 2018-04-02 01:56:19 +02:00
Robert Longson
f725679a94 Bug 1446617 - support the SVG 2 path attribute for textPath elements r=dholbert 2018-03-31 18:50:10 +01:00
Brad Werth
e5a53e119f Bug 1298008 Part 3: Update ReflowInput::CalculateBlockSideMargins to store computed values in the UsedMargin property. r=dholbert
MozReview-Commit-ID: 74u7rFkiVln

--HG--
extra : rebase_source : 09c1bab7bf09a9db71926a4dc52f95c99ebe197a
2018-03-23 12:09:48 -07:00
Brad Werth
15154e29fb Bug 1298008 Part 2: Make nsFlexContainer update UsedMargin property after final reflow. r=dholbert
MozReview-Commit-ID: HV4uhJqWjfj

--HG--
extra : rebase_source : 8dd4d384ed78dcea6093cb4f86f5a84d03048fa5
2018-03-08 17:35:47 -08:00
Dorel Luca
baf0da3fea Merge mozilla-central to autoland 2018-04-03 07:22:33 +03:00
Jim Chen
de337ec2e1 Bug 1441279 - 6. Register accessible caret observers across docshell tree; r=bz
AccessibleCaretManager uses scroll and reflow observers to detect when
to update the position of carets. However, it currently only registers
the observers on the leaf docshell, so only changes in the innermost
iframe are detected; that is, it fails to update caret position when an
ancestor iframe is scrolled. This patch makes it register observers on
all ancestor docshells so that changes in ancestor iframes are detected
as well.

MozReview-Commit-ID: bwiSjj8936

--HG--
extra : rebase_source : d567f1d8df67f79769c6532b061e2df1e5ab878f
2018-04-02 17:13:46 -04:00
Matt Woodrow
8e39fcdbe0 Bug 1443027 - Fix the merging algorithm to pass the new tests correctly. r=mstange
MozReview-Commit-ID: JnglCbdhZzE
* * *
[mq]: update-test

--HG--
extra : rebase_source : 1db0cc9843edd9654154d400b578a0432e5d765f
2018-03-23 16:47:37 +13:00
Matt Woodrow
7a24890fe5 Bug 1443027 - Add two new tests for merging behaviour. r=mstange
MozReview-Commit-ID: G5vgtSCdRZP

--HG--
extra : rebase_source : e89b192cc6ca0ef48b529d8d38ff665f3327d81d
2018-03-23 12:20:40 +13:00
Ionut Goldan
c7032b6211 Bug 1436018 - Disable Stylo microbenchmark on Windows r=jmaher
MozReview-Commit-ID: 2AJ0lUxMMZb

--HG--
extra : rebase_source : a503d2763c23487a683da8afe926f61b6fb7523b
2018-04-02 15:07:20 +03:00
Brad Werth
d0b51c156c Bug 1404222 Part 7: Turn off a 'todo' in a mochitest. r=dholbert
MozReview-Commit-ID: 18bkqA6rxoZ
2018-02-07 14:59:43 -08:00
Brad Werth
a4dd74b531 Bug 1404222 Part 7: Turn off a 'todo' in a mochitest. r=dholbert
MozReview-Commit-ID: 18bkqA6rxoZ
2018-02-07 14:59:43 -08:00
Marco Castelluccio
bacd0a5f80 Bug 1436413 - Remove inDOMView as it is no longer used. r=bz
--HG--
extra : rebase_source : 8eb8f07f99b9daf33a27b73dcc6fc92d3ef8f172
2018-02-07 15:46:30 +01:00
Dorel Luca
4e6205407f Backed out changeset cd40ea4d0a95 (bug 1446617) for Reftest failure on build/tests/reftest/tests/layout/reftests/svg/textPath-path-attribute-01.svg 2018-03-31 16:02:10 +03:00
Robert Longson
76c8556c39 Bug 1446617 - support the SVG 2 path attribute for textPath elements r=dholbert 2018-03-31 11:55:18 +01:00
Ting-Yu Lin
2a48bcd518 Bug 1404222 Part 6: Add a crashtest. r=dholbert
The browser should not crash if there's no width and height set on the div
with linear-gradient.

MozReview-Commit-ID: 2DbfpV7JT2m
2018-01-25 15:01:08 +08:00
Ting-Yu Lin
441df3bbaa Bug 1404222 Part 6: Add a crashtest. r=dholbert
The browser should not crash if there's no width and height set on the div
with linear-gradient.

MozReview-Commit-ID: 2DbfpV7JT2m
2018-01-25 15:01:08 +08:00
Ting-Yu Lin ext:(%2C%20Brad%20Werth%20%3Cbwerth%40mozilla.com%3E)
cf9bd1c885 Bug 1404222 Part 3: Block onload when shape-outside images are requested for a frame, and keep it blocked until the frame is removed, the image fails to load, or reflow is complete. r=dbaron,dholbert
When we finish decoding an image frame, we need to trigger reflow for the
frame containing a float with shape-outside: <image>, and delay the firing
of the document's onload event until that reflow is complete.
2018-01-25 14:56:43 +08:00
Brad Werth
d38c3aac41 Bug 1404222 Part 2: Extend ImageLoader to associate flags with each request-frame relationship. r=dbaron 2018-03-16 11:01:57 -07:00
Ting-Yu Lin ext:(%2C%20Brad%20Werth%20%3Cbwerth%40mozilla.com%3E)
fe87490f1a Bug 1404222 Part 3: Block onload when shape-outside images are requested for a frame, and keep it blocked until the frame is removed or reflow is complete. r=dbaron,dholbert
When we finish decoding an image frame, we need to trigger reflow for the
frame containing a float with shape-outside: <image>, and delay the firing
of the document's onload event until that reflow is complete.
2018-01-25 14:56:43 +08:00