Commit Graph

64576 Commits

Author SHA1 Message Date
Lee Salzman
d273b4ddcc Bug 1467552 - make VectorImage::Show force OP_OVER. r=bas 2018-06-08 12:38:13 -04:00
Dorel Luca
15a5c575ac Backed out changeset b664f1fdec85 (bug 1467536) for build bustage 2018-06-08 16:22:47 +03:00
Emilio Cobos Álvarez
da289eeb40 Bug 1467536: followup: Use a more specific capture for the lambda. r=xidorn
MozReview-Commit-ID: 8ykWCzCO0yw
2018-06-08 15:07:19 +02:00
Emilio Cobos Álvarez
34c03a8f17 Bug 1467536: Serialize properties flagged as SerializedByServo from getComputedStyle. r=xidorn
MozReview-Commit-ID: 9hnxejljlhG
2018-06-08 14:18:11 +02:00
Emilio Cobos Álvarez
4b3dd55620 Bug 1467536: Split GetPropertyValue from GetPropertyCSSValueWithoutWarning. r=xidorn
And remove the later.

MozReview-Commit-ID: BO3epOMe70w
2018-06-08 14:18:06 +02:00
Emilio Cobos Álvarez
a9104d20df Bug 1467536: Add CssPropFlags::SerializedByServo and use it on some simple properties. r=xidorn
The idea is to turn the simple properties into a blacklist instead really soon,
and fix the offending ones soon after, so that only shorthands and properties
with layout dependence (and maybe the scrollbar properties, because the poke at
LookAndFeel) are not serialized by Servo.

MozReview-Commit-ID: JTLNnmXzny8
2018-06-08 14:18:00 +02:00
Emilio Cobos Álvarez
aaae119167 Bug 1467536: Add a Servo API to get the serialized style of a property. r=xidorn
This is intended to be used by GetComputedStyle when there's no layout
dependency.

MozReview-Commit-ID: 3GAbjo1uQ34
2018-06-08 14:17:52 +02:00
arthur.iakab
a64c89a490 Merge mozilla-central to inbound 2018-06-08 12:58:41 +03:00
arthur.iakab
edbf2c0099 Merge inbound to mozilla-central a=merge 2018-06-08 12:55:49 +03:00
Xidorn Quan
d3cefe8ea5 Bug 1466963 followup - Make RawServoUnlockedDeclarationBlock an alias to PropertyDeclarationBlock in Servo side. r=emilio
--HG--
extra : rebase_source : 93e4d83a4401cab5d010cfd3fb2494af33118ce8
extra : source : 78af6231a95c253e7087b879b901798642af81bd
2018-06-08 19:19:28 +10:00
Doug Thayer
13f95591c1 Bug 1467619 - Track and adjust layerization on repaint triggers r=mattwoodrow
To avoid creating a bunch of layers when we don't need to, this
tracks when a frame needs to be repainted, and invalidates the
IsStyleAnimated logic around mRestyleCounts if the frame is also
being invalidated.

MozReview-Commit-ID: 5Q96Cx6f3V0

--HG--
extra : rebase_source : 4512ef0c6cb50a730f7d5974ef6364d54b6c49b4
2018-06-07 11:44:03 -07:00
Kartikaya Gupta
1fb51dfb2b Bug 1461311 - Undo reftest/harness changes from bug 1437036 as they are not needed any more. r=hiro
MozReview-Commit-ID: 3YvyZPNOCzF

--HG--
extra : rebase_source : f49e09dda2924b99dbf6b63a958086b934e23523
2018-06-07 08:23:17 -04:00
Jeff Walden
799a518e22 Bug 745089 - Replace nscoord-specific positive-infinity/is-nan primitives with FloatingPoint.h uses. r=dbaron
--HG--
extra : rebase_source : bcc17dc96be6449116cf26c772a020d3eddd2bd3
2018-06-06 16:03:48 -07:00
Ciure Andrei
25ae31a366 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-08 00:54:06 +03:00
Kartikaya Gupta
829cd9912f Bug 1465935 - Handle another edge case with hit-testing inside fixed-pos items. r=mstange
Transforms are containing blocks for fixed-pos items, so if a fixed-pos
item is inside a scrolled transform, then it should use that scrollframe
as the scroll target for hit-testing. This patch handles this case for
WebRender by stashing the appropriate ASR on the nsDisplayFixedPosition
item and using it instead of the presShell's root scrollframe in this
scenario.

The patch also adds a mochitest (which is basically a mochitested
version of the reftest in fixed-pos-scrolled-clip-3.html, with a
hit-test check to ensure that it's hitting the right scrollframe).

MozReview-Commit-ID: 7YQAeOiMMuP

--HG--
extra : rebase_source : 8d1c89d0c03c3e7d9383d0731f65a327a2c11a8d
2018-06-07 13:06:33 -04:00
Kartikaya Gupta
9b664db1ff Bug 1465935 - Fix hit-testing for fixed-pos items inside iframes. r=mstange
Without this patch, the scrollId for display items inside a fixed-pos
item end as the ASR of the item. In the case of fixed-pos items that are
inside iframes, the ASR is the outer document's root scrollframe. This
means that e.g. wheel-scrolling while over a fixed-pos item inside an
iframe ends up scrolling the outer document's root scrollframe instead
of the iframe's root scrollframe.

In the non-WR codepath, there some APZ machinery that walks up in the
HitTestingTreeNode tree from the hit result, looking to see if that node
has a fixed-pos ancestor, and if so, uses the fixed-pos item's target
APZ as the real hit result. This machinery doesn't exist in WR, because
we don't use the HitTestingTreeNode tree for hit-testing in APZ.
Instead, we need to make sure that the item tag for those display items
already has the appropriate scrollid set.

This patch accomplishes this by introducing a new RAII class that is
pushed into the wr::DisplayListBuilder while we are building display
items inside a nsDisplayFixedPosition, and allows the desired scroll id to
be set on the hit-testing display items.

This behaviour is exercised by test_group_wheelevents, which can now be
enabled with this fix.

MozReview-Commit-ID: L2erPVzJeql

--HG--
extra : rebase_source : 1db630513cb1dc16d4e38649812e81f62c8da99c
2018-06-07 13:06:33 -04:00
Mats Palmgren
e95647ed68 Bug 1467526 - Add a few MOZ_DIAGNOSTIC_ASSERT in nsLineBox::DeleteLineList to enforce our invariants better. r=emilio 2018-06-07 20:20:34 +02:00
Mats Palmgren
b6ef1b3ae7 Bug 1467483 - Assert that PresArena is only used on the main thread. r=mattwoodrow 2018-06-07 22:39:11 +02:00
Lee Salzman
0512c7822e Bug 1465305 - ensure nsDisplayBackgroundColor::Paint begins a new path before adding rectangle. r=jfkthame 2018-06-07 11:49:39 -04:00
Mats Palmgren
3f4e2f6df4 Bug 1467239 - [css-grid] Null-check GetContentInsertionFrame() return value. r=emilio 2018-06-07 17:41:20 +02:00
Coroiu Cristina
92d50008c6 Merge mozilla-central to inbound a=merge on a CLOSED TREE 2018-06-07 13:00:49 +03:00
Dan Glastonbury
81d488f721 Bug 1465307 - P2: Fix nsStyleBorder::mBorderColor for GCC. r=xidorn
GCC doesn't like StyleComplexColor with constructor in an anonymous
struct in an anonymous union.  Replace the use of a union to access
`mBorder[..]Color` fields as an array with an accessor methods.

MozReview-Commit-ID: 1Wulh1qKYCZ

--HG--
extra : rebase_source : 390b8f852d144a54d9d374bcf3ae70ab6d145d50
2018-06-05 11:24:12 +10:00
Emilio Cobos Álvarez
0fbd75e65f Bug 1466963: Provide a before-mutation closure to C++. r=xidorn,smaug
MozReview-Commit-ID: H2jwIeZoiBZ
2018-06-07 11:22:31 +02:00
Emilio Cobos Álvarez
f33e5c0e87 Bug 1466963: Inline DeclarationBlock's methods since they just forward to Servo. r=xidorn
MozReview-Commit-ID: 1IObGPXljuM
2018-06-07 11:22:30 +02:00
Emilio Cobos Álvarez
f6ea851e33 Bug 1466963: Use consistent indentation in DeclarationBlock, and make the copy-constructor private. r=xidorn
MozReview-Commit-ID: JhTymV72jHn
2018-06-07 11:22:29 +02:00
Narcis Beleuzu
7fdbc8641e Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-06 20:04:08 +03:00
Dan Glastonbury
7811112058 Bug 1465307 - P1: Extend StyleComplexColor to support additive blending. r=hiro,xidorn
Refactored StyleComplexColor to support "complex" blending between
background (numeric) color and foreground color (currentColor).
Made explicit the distinction between numeric, currentColor and a
complex blend in Gecko and Stylo.

This is to support SMIL animation, for example, of the form:

     <animate from="rgb(10,20,30)" by="currentColor" ... />

MozReview-Commit-ID: IUAK8P07gtm

--HG--
extra : rebase_source : d3648101c6f65479b21e6f02945731cd5bb57663
2018-05-23 15:23:26 +10:00
Gurzau Raul
70a6147545 Backed out changeset 9bdd12949711 (bug 1465250) for multiple failures on /css-contain/contain-paint-002.html on a CLOSED TREE 2018-06-07 06:40:03 +03:00
Yusuf Sermet
f215910786 Bug 1465250 - Make contain:paint trigger clipping independent of the overflow property. r=mattwoodrow
MozReview-Commit-ID: 2QbfZD1jnWX

--HG--
extra : rebase_source : c3a61463a25d9160adde3f04abc4b6b59bf42b6a
2018-05-30 14:28:53 -07:00
Hiroyuki Ikezoe
c1fc73bb2d Bug 1253164 - Make nsIFrame allow running async animations once the frame is able able to run animations on the compositor again. r=birtles
For example, we don't run transform animations on large frames but once
the frame size is small enough we should run transform animations on the frame.

MozReview-Commit-ID: DkfB9g2Gcdi

--HG--
extra : rebase_source : 93a884c3063d4a6c2626e6695583664b24fe11c8
2018-06-07 09:30:33 +09:00
Joel Maher
0ddcbb8f81 Bug 1392106 - fix w3c-css received tests manifest conflicts. r=me, a=testonly CLOSED TREE 2018-06-06 06:41:27 -04:00
Narcis Beleuzu
cce21bfe40 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-06 12:52:15 +03:00
Narcis Beleuzu
2783aa1322 Merge inbound to mozilla-central. a=merge 2018-06-06 12:36:55 +03:00
Joel Maher
d113b6d4a4 Bug 1392106 - random-if(win7) reftest font rendering failures. r=RyanVM 2018-06-06 05:30:44 -04:00
Boris Zbarsky
e90034d3a0 Bug 1466851 part 3. Remove some nsITreeBoxObject properties that are unused except via webidl bindings. r=mossop
These properties are unused from C++ apart from webidl bindings and the
FakeTreeBoxObject implentations in comm-central are throwing stubs.  But
they're used in JS.  They are safe to remove from nsITreeBoxObject but we need
to keep an implementation webidl can call into.  Properties in this bucket:
selectionRegion, ensureCellIsVisible, scrollToRow, scrollByLines,
scrollByPages, getRowAt, removeImageCacheEntry.
2018-06-05 23:01:55 -04:00
Boris Zbarsky
2ad1f5686f Bug 1466851 part 2. Remove some nsITreeBoxObject properties that are unused from C++. r=mossop
These properties are unused from C++ and the FakeTreeBoxObject implementations
in comm-central are throwing stubs.  So it's safe to remove the properties from
nsITreeBoxObject (but not TreeBoxObject.webidl, since they're used in JS).
Properties in this bucket: horizontalPosition, getPageLength.
2018-06-05 23:01:52 -04:00
Boris Zbarsky
fcd02e0cc5 Bug 1466851 part 1. Remove some unused tree box object properties. r=mossop
These properties are not used from either JS or C++, and hence can be
removed from both nsITreeBoxObject and TreeBoxObject.webidl.  Properties in
this bucket: scrollToCell, scrollToColumn, scrollToHorizontalPosition,
invalidateColumnRange.
2018-06-05 23:01:49 -04:00
Boris Zbarsky
e6d7462233 Bug 1466727 part 7. Remove nsITreeColumn. r=mossop 2018-06-05 23:01:37 -04:00
Boris Zbarsky
5945884066 Bug 1466727 part 6. Stop using nsITreeColumn in layout. r=mossop 2018-06-05 23:01:37 -04:00
Boris Zbarsky
95d71b5b2f Bug 1466727 part 3. Stop pretending like the mContent of an nsTreeColumn can be null. r=mossop 2018-06-05 23:01:36 -04:00
Boris Zbarsky
3473c823b2 Bug 1466727 part 2. Remove use of nsITreeColumn in xpidl interfaces. r=mossop
There is one actual behavior change here, in the webidl version of
TreeBoxObject::GetCellAt.  I believe this change fixes a leak of the
nsTreeColumn, but could use careful review.

I tried to avoid changes not needed to get this compiling.  There will be a lot
more cleanup in the next few changesets.
2018-06-05 23:01:36 -04:00
Boris Zbarsky
67d5a3d8ba Bug 1466727 part 1. Mark nsITreeColumn builtinclass. r=mossop
The only JS implementation seems to be in a test, and we can stop doing that.
2018-06-05 23:01:36 -04:00
arthur.iakab
fade8462cb Merge mozilla-central to inbound on a CLOSED TREE 2018-06-06 01:10:33 +03:00
arthur.iakab
fd0ee7c9b8 Merge inbound to mozilla-central a=merge 2018-06-06 00:58:30 +03:00
Mats Palmgren
81f9403270 Bug 1465290 part 3 - [css-grid-2] Add frame bits to nsGridContainerFrame that are set if it has an item that is a subgrid in that axis. r=dholbert 2018-06-05 21:46:28 +02:00
Mats Palmgren
1bc6740ba2 Bug 1465290 part 2 - [css-grid-2] Add bits to the GridItemInfo state that are set if the item is a subgrid in the container's axis. r=dholbert 2018-06-05 21:46:28 +02:00
Mats Palmgren
59ec467d3a Bug 1465290 part 1 - [css-grid-2] Add frame bits to nsGridContainerFrame that is set if it's a subgrid in an axis. r=dholbert 2018-06-05 21:46:28 +02:00
Boris Zbarsky
0ee5c15150 Bug 1466673 part 5. Remove the nsITreeColumns interface. r=mossop 2018-06-05 13:30:17 -04:00
Boris Zbarsky
d20d5e61f5 Bug 1466673 part 4. Stop using nsITreeColumns in various other C++ code. r=mossop 2018-06-05 13:30:17 -04:00
Boris Zbarsky
362122ad32 Bug 1466673 part 2. Remove use of nsITreeColumns in other xpidl interfaces. r=mossop 2018-06-05 13:30:17 -04:00