Commit Graph

1193 Commits

Author SHA1 Message Date
Cameron McCormack
d5752992c6 Bug 1364361 - Part 1: Refactor frame anon box restyling machinery so it can return a list of anon boxes. r=bholley,bz
MozReview-Commit-ID: 3InVAUw8djN
* * *
Bug 1364361 - Followup to address review comment. r=me

MozReview-Commit-ID: IpdoSon9MAj
2017-06-16 17:22:33 +08:00
Sebastian Hengst
93e7f53982 Backed out changeset e7ec499159f7 (bug 1364361) for bustage at nsIFrame.h:3348: bad implicit conversion constructor for 'OwnedAnonBox'. r=backout 2017-06-16 11:19:03 +02:00
Cameron McCormack
df3c33576a Bug 1364361 - Part 1: Refactor frame anon box restyling machinery so it can return a list of anon boxes. r=bholley,bz
MozReview-Commit-ID: 3InVAUw8djN
* * *
Bug 1364361 - Followup to address review comment. r=me

MozReview-Commit-ID: IpdoSon9MAj
2017-06-16 15:32:40 +08:00
Sebastian Hengst
2e4ae50c3e Backed out changeset 12db2d364b64 (bug 1364361) for heap write hazard. r=backout 2017-06-16 09:27:42 +02:00
Cameron McCormack
4e8ef7f9fb Bug 1364361 - Part 1: Refactor frame anon box restyling machinery so it can return a list of anon boxes. r=bholley,bz
MozReview-Commit-ID: 3InVAUw8djN
2017-05-22 13:14:32 +08:00
Alexis Beingessner
3117218f13 Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-13 11:00:10 -04:00
Sebastian Hengst
1b1d14e565 Backed out changeset 3d1ce85e6348 (bug 1088760) for bustage, at least on Android at layout/generic/nsPluginFrame.cpp:1612. r=backout 2017-06-13 00:30:03 +02:00
Alexis Beingessner
c6fbc5e17e Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-12 17:32:48 -04:00
Morris Tseng
fd2f178876 Bug 1367747 - Create nsDisplayTableBorderCollapse when there is collapse border to draw. r=mstange
MozReview-Commit-ID: 29g6HqAn0ej
2017-06-06 14:11:41 +08:00
Morris Tseng
76f8dff088 Bug 1367747 - Create nsDisplayBorder when there are borders to draw. r=mstange
MozReview-Commit-ID: H5PYj8ErRto
2017-06-06 14:11:41 +08:00
Morris Tseng
273e4157e7 Bug 1369141 - Add dirty rect intersection checks so that we don't build unnecessary table part display items. r=mstange
MozReview-Commit-ID: DoPptE60BD4
2017-06-04 14:42:11 +08:00
Jonathan Kew
4dcf0fe444 Bug 1365982 - Attach frame properties to each frame instead of looking them up in a hashtable on the prescontext. r=mats 2017-05-27 12:36:00 +01:00
Mats Palmgren
6a8fbc8c30 Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame
MozReview-Commit-ID: 1RSDoc3pQXf
2017-05-26 12:11:11 +02:00
Mats Palmgren
450c7ae245 Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame
nsIFrame::mClass is of type enum class nsQueryFrame::ClassID which is
a strict subset of the nsQueryFrame::FrameIID values.  For a concrete
frame class, its FrameIID is the same numeric value as its ClassID.

MozReview-Commit-ID: 1N0AkCGo1ol
2017-05-26 12:11:11 +02:00
Mats Palmgren
bd90393cc1 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz
MozReview-Commit-ID: IbwWM0FL6HF
2017-05-21 17:15:00 +08:00
Carsten "Tomcat" Book
1aa86b3e0e Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
Mats Palmgren
473a358067 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz 2017-05-21 17:15:00 +08:00
Morris Tseng
456e3fe0e5 Bug 1344082 - Create webrender commands for nsDisplayTableBorderCollapse. r=mstange
Gecko only draw one line for each collapsed border. In order to draw
only one line border in webrender, I create normal border webrender
command but only show top side of border for inline direction and left
side for block direction.

MozReview-Commit-ID: 7QChXuzVbg7
2017-05-12 09:39:01 +08:00
Neerja Pancholi
b440518e62 Bug 1361229 - Add explanatory comments and assertion to nsTableFrame to ensure that the value of both smallerIter and aDeletedRowStoredIndex remains valid. r=dbaron
MozReview-Commit-ID: A0dqwpqB2Q0
2017-05-01 18:46:05 -07:00
Morris Tseng
d33628664e Bug 929484 - Create nsDisplayTableFixedPosition to avoid display list collision when processing background image of table. r=mattwoodrow
MozReview-Commit-ID: 2DKdqk5kbHt
2017-05-05 14:30:16 +08:00
Morris Tseng
72752d3cba Bug 929484 - Remove nsTableBorderBackground displayitem and nsTablePainter. r=mstange
MozReview-Commit-ID: 1HmfGyBqWnf
2017-05-05 14:30:15 +08:00
Morris Tseng
6476db5de7 Bug 929484 - Draw each table's background on their own display item. r=mstange
This patch do following things:
1. Create nsDisplayTableBorderCollapse that draws all collapse border of
table.
2. Don't use nsDisplayTableBorderBackground.
3. Let column and column group frame generate display items.
4. When traversing the table, also traverse the column and column group
frames.
5. For each type of table frame (col group, col, row group, row and
cell), draw their own background.

MozReview-Commit-ID: 1s2VLv6G8xi
2017-05-05 14:30:15 +08:00
Carsten "Tomcat" Book
075b27fbe3 Backed out changeset 93acd240b578 (bug 929484) for reftest failures in border-separate-opacity-table-column-group.html 2017-05-04 17:00:20 +02:00
Carsten "Tomcat" Book
4f8774de65 Backed out changeset 3dc8c2aea9bf (bug 929484) 2017-05-04 16:59:59 +02:00
Carsten "Tomcat" Book
e9262ed642 Backed out changeset e41fa1543360 (bug 929484) 2017-05-04 16:59:57 +02:00
Morris Tseng
4f5d0a34cc Bug 929484 - Create nsDisplayTableFixedPosition to avoid display list collision when processing background image of table. r=mattwoodrow
MozReview-Commit-ID: 2DKdqk5kbHt
2017-05-04 17:32:08 +08:00
Morris Tseng
e6760ea6c7 Bug 929484 - Remove nsTableBorderBackground displayitem and nsTablePainter. r=mstange
MozReview-Commit-ID: 1HmfGyBqWnf
2017-05-04 17:32:08 +08:00
Morris Tseng
c7ae09f56f Bug 929484 - Draw each table's background on their own display item. r=mstange
This patch do following things:
1. Create nsDisplayTableBorderCollapse that draws all collapse border of
table.
2. Don't use nsDisplayTableBorderBackground.
3. Let column and column group frame generate display items.
4. When traversing the table, also traverse the column and column group
frames.
5. For each type of table frame (col group, col, row group, row and
cell), draw their own background.

MozReview-Commit-ID: 1s2VLv6G8xi
2017-05-04 17:32:08 +08:00
Emilio Cobos Álvarez
643f3f8618 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk
2017-05-01 19:32:52 +02:00
Emilio Cobos Álvarez
3731858edf Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle
2017-04-30 17:30:08 +02:00
L. David Baron
e764ff99c9 Bug 1353187 - Give frame properties the const-ness semantics of member variables. r=dholbert
This makes it so that, given a |const nsIFrame*|, a caller can retrieve
properties but not set or remove them, but with an |nsIFrame*| all
operations are allowed.  I believe this is sensible since properties act
as extended member variables for things that are needed rarely, and
these are the const-ness semantics of member variables.

This also avoids the need for const_cast<nsIFrame*> to cast away const
in the following patch, which guards property access with a frame state
bit.

MozReview-Commit-ID: IJ9JnGzdH51
2017-04-04 20:59:21 -07:00
Carsten "Tomcat" Book
26963de473 Backed out changeset a86c4218ca5f (bug 1353187) 2017-04-04 09:54:51 +02:00
L. David Baron
01cade6800 Bug 1353187 - Give frame properties the const-ness semantics of member variables. r=dholbert
This makes it so that, given a |const nsIFrame*|, a caller can retrieve
properties but not set or remove them, but with an |nsIFrame*| all
operations are allowed.  I believe this is sensible since properties act
as extended member variables for things that are needed rarely, and
these are the const-ness semantics of member variables.

This also avoids the need for const_cast<nsIFrame*> to cast away const
in the following patch, which guards property access with a frame state
bit.

MozReview-Commit-ID: IJ9JnGzdH51
2017-04-03 20:43:30 -07:00
Mats Palmgren
4729a520a5 Bug 1333482 part 2 - [css-ui] Change all consumers of StyleDisplay::mAppearance to use the accessor UsedAppearance() instead, and make mAppearance/mMozAppearance private. r=dholbert
MozReview-Commit-ID: 8JwLsY1CLDJ
2017-03-23 22:11:18 -07:00
Cameron McCormack
757b14f5d7 Bug 1302054 - Part 2: Remove no longer useful nsStyleContext::CalcDifference optimization that handles the same-rule-node case. r=dbaron
nsStyleContext::CalcDifference had an optimization where, when we knew
that the old and new style context have the same rule node, we knew that
the only change hints that would need to be handled are those in the
"not handled for descendants" category, generated due to explicit
'inherit' values on reset properties.  This was because any changes due
to differences in inherited properties should only have generated
"handled for descendants" change hints (and thus would already have been
handled on an ancestor).

Before bug 931668, this let us avoid calling CalcDifference on structs
that only would have generated hints that we knew we already would have
handled.  However, after bug 931668, we compare all structs anyway so
that we can set the aEqualStructs outparam, so we don't gain anything
from this optimization.  We can still return these change hints we know
will not need to be handled, and rely on ElementRestyler::CaptureChange
to filter them out.

MozReview-Commit-ID: Ld1s2Js0i6r
2017-03-21 16:33:05 +08:00
Miko Mynttinen
ff346ce6b0 Bug 1343596 - Part 2: Refactor nsDisplayList sorting r=mattwoodrow
MozReview-Commit-ID: DlUSf0iQm06
2017-03-07 11:30:12 +01:00
Jeremy Chen
3b904b6395 Bug 1342873 - label runnables of nsDelayedCalcBCBorders for nsTableFrame. r=heycam
This is the only runnable that we need to label in layout/tables/ folder.

MozReview-Commit-ID: FbWztSLzIOy
2017-03-09 18:06:07 +08:00
Carsten "Tomcat" Book
e4b904f6a6 merge mozilla-inbound to mozilal-central a=merge 2017-03-09 11:23:25 +01:00
Boris Zbarsky
60be80cd9e Bug 1345362 part 4. Rename ResolveAnonymousBoxStyle to ResolveInheritingAnonymousBoxStyle. r=heycam
MozReview-Commit-ID: GVA1fTh0RDv
2017-03-08 23:50:28 -05:00
Boris Zbarsky
76369661b5 Bug 1337696. Fix change hint computation for table-outer frames to be more correct. r=emilio
MozReview-Commit-ID: LgRmTlWsM6o
2017-03-03 15:54:47 -05:00
Neerja Pancholi
61d0dcc7e6 Bug 1285874 - Maintain a map of removed table-rows and use it to lazily recalculate row indices. r=dbaron
MozReview-Commit-ID: Jt6QJTp0YGe
2017-03-02 15:09:30 -08:00
Mats Palmgren
89416847ae Bug 1340771 part 2 - Introduce a WeakFrame class for heap allocated weak frame pointers, stored in a hashtable for fast lookup. r=tn
* * *
Bug 1340771 part 3 - Change existing heap allocated AutoWeakFrame instances to use WeakFrame instead.  r=tn

MozReview-Commit-ID: GSuUiy98jBa
2017-03-01 18:03:14 +01:00
Mats Palmgren
7c43dcf986 Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn
MozReview-Commit-ID: 8pl4nyeGEkr
2017-03-01 18:03:14 +01:00
Neerja Pancholi
60d00733e5 Bug 1344628 - Remove RecalculateRowIndex() and combine its functionality with ResetRowIndices(). r=dbaron
MozReview-Commit-ID: BokshmpqH7N
2017-03-06 16:06:20 -08:00
Ting-Yu Lin
e6769617e9 Bug 775624 Part 22 - Remove NS_FRAME_COMPLETE. r=dholbert
This patch is written by the following script with some manual adjustment to
the comment in nsRubyTextContainerFrame.cpp and nsRubyFrame.cpp, and
nsColumnSetFrame's constructor.

function rename() {
find layout\
     -type f\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "nsReflowStatus *([a-zA-Z0-9]*) = NS_FRAME_COMPLETE" "nsReflowStatus \1"
rename "([a-zA-Z0-9.*]*) *= NS_FRAME_COMPLETE;" "\1.Reset();"
rename "([a-zA-Z0-9.*]*) == NS_FRAME_COMPLETE" "\1.IsEmpty()"

MozReview-Commit-ID: 9tqQAHvdQex
2017-02-14 17:55:48 +08:00
Ting-Yu Lin
323098e251 Bug 775624 Part 21 - Remove NS_FRAME_NOT_COMPLETE. r=dholbert
To preserve the semantics, Reset() is called to clear other bits in the
status prior to set the incomplete bit. Though some of them might not be
necessary.

MozReview-Commit-ID: InNDwcpp28A
2017-02-14 17:30:56 +08:00
Ting-Yu Lin
1d4509ad47 Bug 775624 Part 16 - Convert NS_INLINE_IS_BREAK_BEFORE to a method. r=dholbert
MozReview-Commit-ID: 8vxRpqbZNnk
2017-02-14 16:05:24 +08:00
Ting-Yu Lin
f87f7e111c Bug 775624 Part 12 - Add bit-fields for inline break status, and convert NS_INLINE_LINE_BREAK_BEFORE. r=dholbert
NS_INLINE_LINE_BREAK_BEFORE() was replaced by the help of the following script.

function rename() {
find layout\
     -type f\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename " = NS_INLINE_LINE_BREAK_BEFORE\(\);" ".SetInlineLineBreakBeforeAndReset();"

MozReview-Commit-ID: mz6L8zay7q
2017-02-14 11:52:53 +08:00
Ting-Yu Lin
8d6d261f9f Bug 775624 Part 5 - Remove NS_FRAME_IS_COMPLETE. r=dholbert
This patch is written by the help of the following script.

function rename() {
find layout\
     -type f\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "NS_FRAME_IS_COMPLETE\(([a-zA-Z0-9.*]*)\)" "\1.IsComplete()"

MozReview-Commit-ID: GOd4y2N6dcz
2017-02-11 22:45:07 +08:00
Ting-Yu Lin
cd7928dc29 Bug 775624 Part 4 - Remove NS_FRAME_IS_FULLY_COMPLETE. r=dholbert
This patch is written by the help of the following script.

function rename() {
find layout\
     -type f\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "NS_FRAME_IS_FULLY_COMPLETE\(([a-zA-Z0-9.*]*)\)" "\1.IsFullyComplete()"

MozReview-Commit-ID: GOd4y2N6dcz
2017-02-11 22:38:48 +08:00