Commit Graph

2458 Commits

Author SHA1 Message Date
Ting-Yu Lin
a6eca62d0f Bug 1161389 - Skip AccessibleCaret frame if nsDisplayListBuilder doesn't build caret. r=roc
When nsDisplayListBuilder doesn't build caret, we need to skip building
AccessibleCaret frames. We check that the content of the frame has
"moz-accessiblecaret" class.
2015-05-27 16:37:44 +08:00
Robert Longson
c5082c5154 Bug 1165750 - metadata tag should be allowed in clipPath. r=jwatt 2015-05-19 09:25:52 +01:00
Mats Palmgren
7e86280181 Bug 1009214 part 1 - [css-grid] Don't wrap placeholders in an anonymous grid item. r=dholbert 2015-05-05 21:53:22 +00:00
Timothy Nikkel
e657109f88 Bug 1159772. Don't let nsContainerFrame::SyncWindowProperties make widget calls that can result in synchronous painting during reflow or frame construction. r=mats
Specifically on Windows nsIWidget::SetTransparencyMode can result in sync painting.

So we give nsContainerFrame::SyncWindowProperties a sync or async option and use the view manager post pending update infrastructure to flush SyncWindowProperties calls async.
2015-05-04 14:29:19 -05:00
Xidorn Quan
166f3b8ee1 Backout df7c88910f47 (bug 1149009) for new patch. 2015-05-04 09:52:53 +12:00
Xidorn Quan
2e4686422b Bug 1159101 part 5 - Initialize writing mode of desired mode of table cell frame from its table frame on a CLOSED TREE. r=roc 2015-04-30 18:27:54 +12:00
L. David Baron
700408b375 Bug 1144410 - Remove finished transitions when a frame transitions away from being display:none. r=birtles
Since bug 960465 patch 14, we've retained finished transitions in order
to handle the issues described in
https://lists.w3.org/Archives/Public/www-style/2015Jan/0444.html .  The
code that did this made the assumption that the transition manager is
notified of the full sequence of style changes that happen to an
element.  However, when an element becomes part of a display:none
subtree and then later becomes displayed again, the transition manager
is not notified of a style change when it becomes displayed again (when
we do not have the old style context).

This patch introduces code to prune the finished transitions when that
happens.

This really fixes only part of the set of problems described in bug
1158431, which also affect running transitions.  However, it's the part
of that set that was a regression from bug 960465, which introduced the
retention of finished transitions, and which makes these issues
substantially easier to hit.

I'd like to fix this part quickly because it's a regression and we
should backport the fix.

Without the patch, I confirmed that the following two tests fail:
INFO TEST-UNEXPECTED-FAIL | layout/style/test/test_transitions_dynamic_changes.html | bug 1144410 test - opacity after starting second transition - got 0, expected 1
INFO TEST-UNEXPECTED-FAIL | layout/style/test/test_transitions_dynamic_changes.html | bug 1144410 test - opacity during second transition - got 0, expected 0.5

With the patch, all the added tests pass.
2015-04-26 19:20:19 -07:00
Xidorn Quan
e8df90d3ac Bug 1156222 - Check frame type instead of display type for ruby and simplify code. r=dholbert 2015-04-23 13:32:53 +12:00
Xidorn Quan
081671c691 Bug 1149009 - Fix line break suppression on whitespace not contained but wrapped in ruby boxes. r=dbaron 2015-04-20 15:04:09 +12:00
Xidorn Quan
c5eb13f53e Bug 1146112 - Mark ruby pseudo frames as line participant in frame constructor. r=roc 2015-03-31 09:20:01 +11:00
Xidorn Quan
ff95153fca Backout a6dbd23da598 (bug 1139283) since it is currently not needed. 2015-03-20 15:12:17 +11:00
Xidorn Quan
a22c833a7f Bug 1143535 - Fix condition of ruby leading/trailing whitespace trimming. r=bz a=kwierso 2015-03-20 09:45:41 +11:00
Robert O'Callahan
766f222f30 Bug 1125767. Clarify aContextFrame parameter to nsStylePosition::IsFixedPosContainingBlock and nsStylePosition::HasTransform and make nsCSSFrameConstructor actually honor it. r=mats 2015-03-11 00:18:49 +13:00
Robert O'Callahan
62f9945941 Bug 1125767. Centralize code into nsStylePosition::IsFixedPosContainingBlock. r=mats
Also renames IsPositioned to IsAbsPosContainingBlock.
2015-03-12 16:21:01 +13:00
Mats Palmgren
555a6959d6 Bug 1140579 - Additional tests and code comment update. 2015-03-09 17:29:00 +00:00
Xidorn Quan
9533554776 Bug 1139283 - Move some properties from nsStyleDisplay to nsStylePosition. r=dbaron
The moved properties are:
* clip
* transform-style
* transform-origin
* backface-visibility
* perspective
* perspective-origin
* will-change
2015-03-08 18:43:22 +11:00
Robert Longson
cd6cf3a3c7 Bug 1140080 - ensure we only create stop frames for gradients. r=dholbert 2015-03-08 06:49:33 +00:00
Mats Palmgren
0bcfb0110f Bug 1140579 - Make <legend>s have a legend frame when nearest ancestor frame is a fieldset frame. r=roc
IOW, drop the requirement that the parent *content* is a <fieldset>,
thus allowing a <legend> to become the fieldset legend also when it's
wrapped in one or more nodes that are styled with display:contents.
2015-03-07 14:53:46 +00:00
Mats Palmgren
5e38fcd7c9 Bug 1140579 - (backout rev 27ac269bb796 b/c wrong bug number in commit message) 2015-03-07 14:53:45 +00:00
Mats Palmgren
e74c8d0d9e Bug 1140198 - display:contents on the root element (but not else-where) should compute to 'block'. r=roc 2015-03-07 14:35:02 +00:00
Mats Palmgren
38e93c7810 Bug 1140198 - Make <legend>s have a legend frame when nearest ancestor frame is a fieldset frame. r=roc
IOW, drop the requirement that the parent *content* is a <fieldset>,
thus allowing a <legend> to become the fieldset legend also when it's
wrapped in one or more nodes that are styled with display:contents.
2015-03-07 14:35:01 +00:00
Mats Palmgren
671362db02 Bug 1140160 - Handle insertions into a <fieldset> child with display:contents correctly. r=roc 2015-03-07 14:35:01 +00:00
Kearwood (Kip) Gilbert
17eac97452 Bug 945584: Part 2 - Add CSS scroll snapping attributes to ScrollbarStyles (v10 Patch),r=mstange
- ScrollbarStyles now carries additional variables to support new
  CSS scroll snapping attributes:
  - scroll-snap-type / scroll-snap-type-x / scroll-snap-type-y
  - scroll-snap-points-x / scroll-snap-points-y
  - scroll-snap-destination
  - (scroll-snap-coordinate does not apply to the scroll container)
- Simplified the constructor and operator== for ScrollbarStyles.
2014-02-04 14:54:22 +13:00
Andrea Marchesini
d314931261 Bug 1134280 - Get rid of Tag() - patch 2.6 - layout/base and layout/form - Fix all the occurrences, m=smaug, r=surkov 2015-03-03 11:09:00 +00:00
Andrea Marchesini
6b10d5e43e Bug 1134280 - Get rid of Tag() - patch 1 - Is{HTML,XUL,MathML,SVG}Element and IsAnyOf{HTML,XUL,MathML,SVG}Elements, r=smaug 2015-03-03 11:08:59 +00:00
Frédéric Wang
0f61b94d26 Bug 1110056 - Merge nsMathMLmphantomFrame into nsMathMLmrowFrame. r=jkitch 2015-02-09 11:19:00 +01:00
Nicholas Nethercote
0247de46d8 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
Andrew McCreight
e048a7df33 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
40ab0270d5 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo. 2015-02-04 20:05:36 -08:00
Mats Palmgren
d64d0fdd12 Bug 1116714 part 3 - Use GetParentOrPlaceholderFor (not GetParent) so that reframing anonymous content frames works also for fixed pos frames. r=roc 2015-01-20 18:20:04 +00:00
L. David Baron
f06d6f0b98 Bug 1110277 patch 3 - Look for the GenConPseudos() property on the first continuation/ib-split so that we can find it when looking for the ::after frame. r=bzbarsky
The change to GetAfterFrameForContent prevents the reframe that is part
of the chain of events leading to this bug, and thus fixes the bug on
its own.  The change to GetBeforeFrameForContent seems desirable for
symmetry.

Note that patch 6 also independently fixes the reported bug.

This probably needs somewhat careful review.  We should examine:

 (1) what the rules for calling nsLayoutUtils::GetBeforeFrame and
     nsLayoutUtils::GetAfterFrame are, and whether both (or neither)
     need to be patched.

 (2) What the rules are for which frame the GenConProperty() lives on,
     and whether we should adjust nsIFrame::GetGenConPseudos() to either
     do something more intelligent, or assert about callers.

(We should probably clean up some of these things in a followup bug.)

Since the symptom of this bug is (once patch 4 is in the tree) only
causing extra reframes, it can only be tested using the new API (from
bug 1115691) for observing reframes.  I confirmed that the test for this
bug fails without the patch and passes with the patch (as noted by the
removal of its todo annotation).

This patch fixes the assertion on layout/generic/crashtests/600100.xhtml,
though I haven't investigated why.
2015-01-11 15:43:11 -08:00
Mats Palmgren
e7e2e4ca9e Bug 1116104 - Null-check the do_QueryFrame result before using it. r=roc 2014-12-31 07:10:11 +00:00
Mats Palmgren
3c041ce294 Bug 1116236 - Fix a typo. r=me 2014-12-30 07:29:40 +00:00
Mats Palmgren
26063830d9 Bug 1109571 part 4 - Frame construction bits to create the appropriate frame tree for table captions. r=roc
Note that this also makes IsPositioned() table captions be abs.pos.
containers, which was broken before.
2014-12-26 07:21:32 +00:00
Mats Palmgren
5e7a3ef78d Bug 1109571 part 2 - Remove nsGkAtoms::tableCaptionFrame. Implement nsIFrame::IsTableCaption() and use that instead. r=roc 2014-12-26 07:21:32 +00:00
David Anderson
4941a786b7 Fix a layout bug with columnset, transforms, and fixed positions. (bug 1112501, r=dbaron) 2014-12-20 19:14:03 -08:00
Nicholas Nethercote
a2ab398e5e Bug 1113010 (part 0) - Remove impossible path in AddFrameConstruct(). r=dholbert.
Infallible new ensures that |item| is always non-null. And even if it didn't,
AppendItem() dereferences |item| before this code is reached.
2014-12-18 14:14:31 -08:00
Xidorn Quan
be8c36e769 Bug 1087872 - Reconstruct ruby frames for frame insertion when necessary. r=bz 2014-12-10 15:58:40 +11:00
Xidorn Quan
6fcf958a96 Bug 1087872 - Reconstruct ruby frames for frame removal when necessary. r=bz 2014-12-10 15:58:40 +11:00
Xidorn Quan
fad0cb2389 Bug 1088489 - Implement ruby pseudo box generation. r=bz 2014-12-08 21:45:56 +11:00
Xidorn Quan
0255532617 Bug 1088489 - Separate wrapping frame construction items into a method. r=bz 2014-12-08 21:45:56 +11:00
Mats Palmgren
a0051e8d3e Bug 1108104 part 1 - Remove mFixedContainingBlock. Make GetAbsoluteContainingBlock() check for an ancestor with the right frame type instead. r=roc 2014-12-14 17:22:06 +00:00
Xidorn Quan
71052dfdb0 Bug 1052924 - Implement basic line breaking for ruby. r=dbaron
Known problem:
It would cause infinite loop if there is any line break happens inside
ruby base or annotation, or the width of container is not enough for
the widest pair/span. This might be fixed in bug 1098272.
2014-11-26 15:52:50 +11:00
Xidorn Quan
52c4635778 Bug 1083004 - Create anonymous ruby base container when necessary. r=bz 2014-11-26 15:52:07 +11:00
Mats Palmgren
249ccee969 Bug 907396 - Make RestyleManager::RestyleElement and nsCSSFrameConstructor::MaybeRecreateFramesForElement deal with display:contents elements. r=bzbarsky 2014-11-20 18:24:10 +00:00
Mats Palmgren
567ed3a34f Bug 907396 - Replace GetParentStyleContextFrame with GetParentStyleContext which can return frame-less display:contents style contexts. r=bzbarsky 2014-11-20 18:24:10 +00:00
Mats Palmgren
bfc9b6f5d9 Bug 907396 - Frame constructor changes for display:contents. r=bzbarsky 2014-11-20 18:24:09 +00:00
Mats Palmgren
e9a74a0340 Bug 907396 - Frame manager support for display:contents. r=bzbarsky 2014-11-20 18:24:09 +00:00
Carsten "Tomcat" Book
96fb57d49e Backed out changeset 61fa2ff606b8 (bug 1083004) 2014-11-12 11:25:51 +01:00
Xidorn Quan
11ef5e952f Bug 1083004 - Create anonymous ruby base container when necessary. r=bz 2014-11-12 17:31:37 +11:00