Commit Graph

1444 Commits

Author SHA1 Message Date
Ting-Yu Lin
d93880e505 Bug 1341009 - Add nsReflowStatus::IsEmpty() assertions to all nsIFrame::Reflow() methods and some reflow helpers, and remove unneeded Reset(). r=dholbert
nsReflowStatus::IsEmpty() assertions are added after DISPLAY_REFLOW in the
beginning of the Reflow().

A few Reflow() implementations have Reset() calls at the end which are left
in place by this patch (with an explanatory comment added to each). These
ending Reset()s are only needed for cases where a non-splittable frame
passes its own nsReflowStatus to a child's reflow method. Just in case the
child leaves a "not fully complete" value in the nsReflowStatus, the
non-splittable parent frame must clear out the nsReflowStatus before
returning, so that its own parent doesn't then try to split it.

MozReview-Commit-ID: 6Jj3jfMAqj4
2017-09-13 18:00:25 +08:00
Ting-Yu Lin
89d0f62aaa Bug 1341009 - Reset aStatus before calling nsContainerFrame::ReflowChild(). r=dholbert
This ensures the Reflow() call in nsContainerFrame::ReflowChild() is using
an empty reflow status.

MozReview-Commit-ID: K2Ln2i4XkB5
2017-09-14 14:15:03 +08:00
Sebastian Hengst
fc53f3bd53 Backed out changeset f34a52244cf9 (bug 1393031) 2017-09-14 23:17:35 +02:00
Nicolas Silva
8c829d94a4 Bug 1393031 - Remove unused nsTArray<WebRenderParentCommand>& parameter all over the place. r=jrmuizel 2017-09-14 20:21:54 +02:00
Nicolas Silva
7100d343f6 Bug 1393031 - Use shared memory to pass resource update data. r=jrmuizel 2017-09-14 18:48:55 +02:00
Sebastian Hengst
b2d95c824e merge mozilla-central to autoland. r=merge a=merge 2017-09-14 00:11:28 +02:00
Ya-Chieh Wu
75dce64b3a Bug 895096 - Part 1: Round border-collapsed table borders to device pixels rather than CSS pixels, as for other borders, and store them (as BCPixelSize) as device pixels rather than CSS pixels. r=dbaron
MozReview-Commit-ID: 3yqj8gAAGYv
2017-09-12 19:48:00 -04:00
Morris Tseng
3c23941cbe Bug 1394249 - SetNeedToCalcHasBCBorders to true when initialize nsTableFrame. r=mats
In the printing preview, we create continuous table frame if table is too
long to containing in a page. But the default value of
NeedToCalcHasBCBorders is false which means we don't calculate
HasBCBorders for continuous table frame. Thus, the border collapse is
not shown when printing preview.

MozReview-Commit-ID: IqhLSYuWj30
2017-09-13 17:05:52 +08:00
Miko Mynttinen
1d15e14450 Bug 1359584 - Part 3: Improve nsDisplayItem const correctness and fix surrounding whitespace r=mstange
MozReview-Commit-ID: 3GkWiu6C4Zo
2017-08-24 17:09:44 +02:00
Neerja Pancholi
bb48ee0cd8 Bug 1389029 - Create custom change hint and post restyle event for rowspan, colspan attribute changes. r=dbaron
MozReview-Commit-ID: IwUlgDa3DAj
2017-09-05 13:30:40 -07:00
Boris Zbarsky
96847a0c67 Bug 1387568. Remove unused nsTableColGroupType value. r=mats
Before this change, we used eColGroupContent for both colgroups created by table-column-group elements and anonymous colgroups wrapping table-column elements.  eColGroupAnonymousCell was used for colgroups created to handle cells that are not in any other colgroup already.   eColGroupAnonymousCol was unused.
2017-09-01 16:30:57 -04:00
Boris Zbarsky
c62dc63d66 Bug 1395650. Make anonymous column groups into non-inheriting anon boxes, to better match the behavior of other browsers. r=heycam 2017-09-01 00:53:33 -04:00
Boris Zbarsky
ad1763d800 Bug 1395312 part 2. Table backgrounds should be drawn or not based on the visibility of the relevant cell, not of the column/row/colgroup/rowgroup they come from. r=heycam
MozReview-Commit-ID: B863KFWjLLW
2017-08-31 09:12:35 -04:00
Kartikaya Gupta
0779a96def Bug 1395218 - Make the bevel side parameters more strongly-typed. r=dholbert
MozReview-Commit-ID: 5rymg5uTMC1
2017-08-30 12:22:18 -04:00
Boris Zbarsky
98d0f7d7c3 Bug 1394662. Make ::-moz-table-column a non-inheriting anonymous box. r=heycam
In our UA sheet the only style we apply to ::-moz-table-column is "display: table-column".

Per spec, the only styles that apply to table columns are border props,
background props, 'width', and 'visibility'.

The only one of those that inherits is 'visibility'.  And the only relevant
value per spec is "collapse".  But an anonymous column can only be "visibility:
collapse" in Gecko right now if its colgroup is, and then the colgroup will get
collapsed away as a whole.  So it doesn't matter whether the column inherits the
visibility style.

In practice, we do something special for "hidden" on a table-column as well,
during display list building, which affects hit-testing.  Per
https://github.com/w3c/csswg-drafts/issues/1763 it's not clear that we should be
doing this at all, but for now we just keep our existing behavior and ensure
that the parent colgroup's visibility style is taken into account for anonymous
columns when building display lists.
2017-08-29 22:04:05 -04:00
Kartikaya Gupta
941c8c93a8 Bug 1393836 - Remove unneeded doubling of border thickness. r=mtseng
MozReview-Commit-ID: 7ZczsYj2oDm
2017-08-25 15:06:06 -04:00
Wes Kocher
399a13fd39 Merge inbound to central, a=merge
MozReview-Commit-ID: GArkKmOFIVH
2017-08-11 13:15:33 -07:00
Boris Zbarsky
61956be23e Bug 1388625 part 2. During a stylo restyle, update the style of the anonymous cols in a colgroup, if any. r=heycam
MozReview-Commit-ID: 4H2NzhCyygU
2017-08-10 12:43:05 -04:00
Boris Zbarsky
d5a7c6c002 Bug 1388625 part 1. During a stylo restyle, update the style of the trailing anonymous colgroup of a table, if any. r=heycam
MozReview-Commit-ID: 4rz4AlPEsjR
2017-08-10 12:42:53 -04:00
Sylvestre Ledru
132ccae277 Bug 1387002 - Replace .size() by .empty() when applicable in layout/tables/ r=kats
MozReview-Commit-ID: 2O9BJcQSRIY
2017-08-03 12:06:35 +02:00
Kartikaya Gupta
a089506a3a Bug 1370682 - Allow passing in LayoutDeviceSize to wr::ToBorderRadius for convenience. r=jrmuizel,mstange
There's no real reason to restrict this to LayerSize, since we use
use Layer and LayoutDevice coordinate spaces interchangeably for
webrender. With the templating of the function the compiler doesn't know
what type to use for {0, 0} so I added a new function to deal with that.

MozReview-Commit-ID: BA83Sy9UjYH
2017-08-10 14:00:01 -04:00
Sebastian Hengst
9c958f85c7 Backed out changeset e5936d7c91ba (bug 1370682) for bustage: missing return statement at WebRenderTypes.h:361. r=backout on a CLOSED TREE 2017-08-10 18:30:00 +02:00
Kartikaya Gupta
649d603af3 Bug 1370682 - Allow passing in LayoutDeviceSize to wr::ToBorderRadius for convenience. r=jrmuizel,mstange
There's no real reason to restrict this to LayerSize, since we use
use Layer and LayoutDevice coordinate spaces interchangeably for
webrender. With the templating of the function the compiler doesn't know
what type to use for {0, 0} so I added a new function to deal with that.

MozReview-Commit-ID: KyabB6P6LiA
2017-08-09 19:19:03 -04:00
Jonathan Watt
f2776a4168 Bug 1379474 - Update various ReflowInput variable names to match the new type name. r=xidorn
MozReview-Commit-ID: 1pMLInpeMGY
2017-07-25 12:02:35 +01:00
Matt Woodrow
e62cf6dd69 Bug 1388161 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList. r=mstange 2017-08-07 14:23:35 +12:00
Sebastian Hengst
2e92d940f4 Backed out changeset 8f2dd8f13b53 (bug 1388161) for failing chrome's test_animation_performance_warning.html | preserve-3d transform. r=backout 2017-08-10 14:40:21 +02:00
Matt Woodrow
61b7fddb66 Bug 1388161 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList. r=mstange 2017-08-07 14:23:35 +12:00
Bevis Tseng
2ecbda13e2 Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm 2017-07-26 16:13:35 +08:00
Ya-Chieh Wu
30e89ce362 Bug 1375518 - Fix border-radius on table row groups, rows, column groups, or columns. r=dbaron
Before bug 929484, border-radius on row groups, rows, column groups,
or columns don't apply to the background of each cell, yet the
border-radius on the cell itself does. After bug 929484, the behaviors
changed. In this patch, I tried to revert the behaviors of border-radius
on table row groups, rows, column groups, or columns back to
what happened before bug 929484.

MozReview-Commit-ID: 1Xg1qHde3lk
2017-07-14 15:50:04 +08:00
Wes Kocher
e93069274c Merge m-c to inbound, a=merge
MozReview-Commit-ID: Ah48RzFU8Mt
2017-07-21 18:20:46 -07:00
Sylvestre Ledru
576cac5ec7 Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL
2017-07-15 19:03:04 +02:00
Cameron McCormack
bf30ce65e2 Bug 1380133 - Part 4: Make CalcStyleDifferenceInternal not cache any new structs on ServoStyleContexts when in a traversal. r=emilio
MozReview-Commit-ID: Eu4MvdQUBor
---
 layout/generic/nsFrame.cpp      |  8 ++++++++
 layout/style/nsStyleContext.cpp | 11 +++++++----
 layout/tables/nsTableFrame.cpp  |  8 ++++++++
 3 files changed, 23 insertions(+), 4 deletions(-)
2017-07-21 11:42:43 +08:00
Sebastian Hengst
3c1e966ccf Backed out changeset cc720d72d024 (bug 1380133) 2017-07-20 15:40:06 +02:00
Cameron McCormack
2f25a9fd35 Bug 1380133 - Part 4: Make CalcStyleDifferenceInternal not cache any new structs on ServoStyleContexts when in a traversal. r=emilio
MozReview-Commit-ID: Eu4MvdQUBor
2017-07-19 15:11:09 +08:00
Ryan Hunt
4f99dd56fd Bug 1382128 part 6 - Remove WrBorderSides, WrBorderRadius, WrBorderWidths, WrNinePatchDescriptors. r=kats
MozReview-Commit-ID: 7YkHoNs64T9
2017-07-19 01:56:20 -04:00
Ryan Hunt
ed849c9399 Bug 1382128 part 2 - Remove WrPoint, WrSize, WrRect, WrMatrix, and WrColor. r=kats
MozReview-Commit-ID: 9koNScu4CyE
2017-07-18 18:32:46 -04:00
Ryan Hunt
9c7583cc1a Bug 1382128 part 1 - Use a namespace in webrender_bindings. r=kats
MozReview-Commit-ID: 3JTMa9Ix5S7
2017-06-27 19:20:36 -04:00
Manish Goregaokar
63c907be23 Bug 1367904 - Part 11: stylo: Use ServoStyleContext in ServoStyleSet/ServoRestyleManager; r=bholley
MozReview-Commit-ID: JJOBixTSCZq
2017-07-17 21:00:54 -07:00
L. David Baron
f198b106d9 Bug 1308876 - Avoid initiating special-height reflow as a result of new paginated non-dirty reflows. r=dholbert
Previously, in paginated mode, all reflows were dirty reflows, since
tables do not split outside of printing, and prior to the primary patch
in bug 1308876, all reflows during printing are dirty reflows.  (The
isPaginated test here is actually for real pages, not fragmentation in
general.  However, the use here is appropriate for the meaning of
whether it's possible for the table to fragment.)

The fact that all reflows were dirty reflows meant that the
NS_FRAME_CONTAINS_RELATIVE_BSIZE flag was always cleared immediately
before reflow in ReflowInput::InitResizeFlags (which might also have set
the flag on *ancestors*).  This meant that, prior to the primary patch
in bug 1308876, the initial value of needToInitiateSpecialReflow that
was initialized from the presence of the
NS_FRAME_CONTAINS_RELATIVE_BSIZE flag was always false.  This patch
preserves that initialization in the presence of the change in the
primary patch in bug 1308876.

This caused a failure in a single test in our test suite, and in a
rather complicated way.  The test was
layout/base/crashtests/470851-1.xhtml, in which there was both a
difference in assertion count (due to the bogus assertion "data loss -
incomplete row needed more height than available, on top of page" in
nsTableRowGroupFrame::SplitRowGroup, whose companion assertion "data
loss - complete row needed more height than available, on top of page"
is already just an NS_WARNING) that caused a test failure, and a
difference in layout (the test split across 3 pages rather than 2) that
did not cause a test failure.

This patch fixes the difference in layout.  The immediate cause of the
layout difference was that a cell (the second outermost) on the second
page had a height, computed in CalcUnpaginatedBSize, that was large
enough to cause it to need to continue onto the third page.  This height
came (via nsTableRowFrame::GetUnpaginatedBSize) from the
UnpaginatedHeightProperty stored on the first-in-flow of its row, on the
first page, stored by CacheRowBSizesForPrinting called in
nsTableRowGroupFrame::ReflowChildren during the reflow of its row group
on the first page, in a special height reflow initiated during the
second-pass constrained-height reflow of the table (still,
second-outermost) on the first page, due to the change being fixed in
this patch.

MozReview-Commit-ID: 3E84VwdXuPs
2017-07-12 19:37:12 -07:00
L. David Baron
11f75fa3b7 Bug 1308876 - Prevent tables from trying to do incremental reflow when fragmented, since they can't. r=dholbert
I noticed this while debugging the assertion count failure of
layout/base/crashtests/470851-1.xhtml .  It doesn't help that failure,
but it still seems like the safe thing to do.

MozReview-Commit-ID: 6xHxUJCjUHh
2017-07-12 19:37:12 -07:00
Carsten "Tomcat" Book
871eef6e12 Backed out changeset 31c43a9ffa8b (bug 1379474) for bustage 2017-07-10 08:06:30 +02:00
Jonathan Watt
f40111138b Bug 1379474 - Update various ReflowInput variable names to match the new type name. r=xidorn
MozReview-Commit-ID: 1pMLInpeMGY
2017-06-13 11:45:17 +01:00
Ethan Lin
596418d7bd Bug 1372118 - Part2. Use new interface of CreateWebRenderCommands for non-image display items. r=jrmuizel, r=kats
MozReview-Commit-ID: BcmRjQhDEyf
2017-06-30 17:23:20 -07:00
sotaro
966edad229 Bug 1357734 - Change argument of DisplayListBuilder::PushBorder() to bypass compiler bug r=jrmuizel
Visual Studio 2015 Update 3 has a bug that PGO build generates movaps to unaligned address. The patch just bypasses the compiler bu
2017-06-30 16:22:25 -07:00
Emilio Cobos Álvarez
3adff9373d Bug 1375674: Don't use the table change hints for the table wrapper frame. r=heycam
MozReview-Commit-ID: 7Qe07N6zvIt
2017-06-23 19:30:16 +02:00
Carsten "Tomcat" Book
372571d466 merge mozilla-inbound to mozilla-central a=merge 2017-06-27 10:56:41 +02:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Kartikaya Gupta
c4fd192cd9 Bug 1376215 - Stop exposing the WrClipRegionToken in WebRenderAPI.h APIs. r=jrmuizel
No functional changes intended in this patch. It merely simplifies the
additional patch that we'll need to update gecko past WR cset 0bf6655,
and saves some potential manual rebasing work.

MozReview-Commit-ID: Km8dBotP3NQ
2017-06-26 07:49:52 -04:00
Carsten "Tomcat" Book
050bc3b644 Backed out changeset 504e5b1de987 (bug 1376215) for bustage 2017-06-26 13:07:09 +02:00
Kartikaya Gupta
44a6c1a913 Bug 1376215 - Stop exposing the WrClipRegionToken in WebRenderAPI.h APIs. r=jrmuizel
No functional changes intended in this patch. It merely simplifies the
additional patch that we'll need to update gecko past WR cset 0bf6655,
and saves some potential manual rebasing work.

MozReview-Commit-ID: AgMyNapY2Og
2017-06-25 14:45:54 -04:00