2678 Commits

Author SHA1 Message Date
L. David Baron
ffe839138c 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
f427f5ad3c Bug 1116104 - Null-check the do_QueryFrame result before using it. r=roc 2014-12-31 07:10:11 +00:00
Mats Palmgren
6aa40ed676 Bug 1116236 - Fix a typo. r=me 2014-12-30 07:29:40 +00:00
Mats Palmgren
042c1202a1 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
ee39486143 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
3423968662 Fix a layout bug with columnset, transforms, and fixed positions. (bug 1112501, r=dbaron) 2014-12-20 19:14:03 -08:00
Nicholas Nethercote
208ab0c4e1 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.

--HG--
extra : rebase_source : 9abb8704ba03f455d6b77c5735fcb6cde4f8fef8
2014-12-18 14:14:31 -08:00
Xidorn Quan
27fa8603a2 Bug 1087872 - Reconstruct ruby frames for frame insertion when necessary. r=bz
--HG--
extra : rebase_source : dfbb5179a5e3f438214e3d41e2f43ed9ff2331c4
extra : source : d82b661ffdba5319d98e363b18266b118b9072a0
2014-12-10 15:58:40 +11:00
Xidorn Quan
465fe16671 Bug 1087872 - Reconstruct ruby frames for frame removal when necessary. r=bz
--HG--
extra : rebase_source : 321d6249be4ec89bcb8f43c9a8c1c59ab52bce36
extra : source : 97115d9d8217f7ffbed866e11648299c47b97862
2014-12-10 15:58:40 +11:00
Xidorn Quan
56d367a884 Bug 1088489 - Implement ruby pseudo box generation. r=bz
--HG--
extra : rebase_source : 3d722db5a9f896a7083d385e65f0d1d7b694d9e2
extra : source : c7f276c6f764aa28e8b178230f0a9f12372f1db0
2014-12-08 21:45:56 +11:00
Xidorn Quan
6213868258 Bug 1088489 - Separate wrapping frame construction items into a method. r=bz
--HG--
extra : rebase_source : bee1cea6a9f11399369fbebc0b17d96e0165841e
extra : source : 9950c01c8d222d2df50667ba44d0d821c321574c
2014-12-08 21:45:56 +11:00
Mats Palmgren
a222d49570 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
e464df4013 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
0574ed0fc4 Bug 1083004 - Create anonymous ruby base container when necessary. r=bz 2014-11-26 15:52:07 +11:00
Mats Palmgren
b0f013a10d 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
debd2f3e4d 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
96ad0f2c46 Bug 907396 - Frame constructor changes for display:contents. r=bzbarsky 2014-11-20 18:24:09 +00:00
Mats Palmgren
994ddfd821 Bug 907396 - Frame manager support for display:contents. r=bzbarsky 2014-11-20 18:24:09 +00:00
Carsten "Tomcat" Book
ed5d6b9e18 Backed out changeset 61fa2ff606b8 (bug 1083004) 2014-11-12 11:25:51 +01:00
Xidorn Quan
f06648f619 Bug 1083004 - Create anonymous ruby base container when necessary. r=bz 2014-11-12 17:31:37 +11:00
Xidorn Quan
07ac0c4e67 Bug 1088489 - Meet the specification for pseudo ruby box generation. r=bz 2014-11-12 14:44:36 +11:00
Mats Palmgren
3f61e03687 Bug 1083855 - part 6, Make RecreateFramesForContent params non-optional. r=bz 2014-10-23 13:19:26 +00:00
Mats Palmgren
3be9dbfbb8 Bug 1083855 - part 3, Implement nsIPresShell::DestroyFramesFor/CreateFramesFor. r=bz 2014-10-23 13:19:25 +00:00
Mats Palmgren
565da376d4 Bug 1083855 - part 2, Add a REMOVE_DESTROY_FRAMES value to RemoveFlags. Make RecreateFramesForContent skip recreating the frames when aFlags has that value. r=bz 2014-10-23 13:19:25 +00:00
Mats Palmgren
250b34decf Bug 1083855 - part 1, Add an aDestroyedFramesFor out param to ContentRemoved and propagate it (and aFlags) to RecreateFramesForContent etc. (idempotent change) r=bz 2014-10-23 13:19:25 +00:00
Kearwood (Kip) Gilbert
66cbd490cf Bug 1010538 - Part 2 - Add scroll-behavior to ScrollbarStyles. r=mstange
- ScrollbarStyles extended to support the scroll-behavior CSS property
- Corrected naming of parameters to ScrollbarStyles CTOR
2014-09-15 12:30:00 -07:00
Alexander Surkov
d205486a00 Bug 1040735 - DOM node reinsertion under anonymous content may trigger a11y child adoption, r=bz, tbdaunde, davidb 2014-09-19 20:02:30 -04:00
Nick Lebedev
ac745b44f1 Bug 1024808 - Part 1: Remove OOM null checks of CounterListFor return result. r=dholbert 2014-09-12 01:25:00 -04:00
Mats Palmgren
3ba14a8d9d Bug 1061028 - IsInlineFrame() is a synonym for IsFrameOfType(nsIFrame::eLineParticipant) so it matches text frames too, which are not nsContainerFrames. r=roc 2014-09-03 14:14:01 -04:00
Ehsan Akhgari
60360fc645 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
Olli Pettay
d72906c30d Bug 314095 - Eliminate nsIContent::GetDocument, r=jst
--HG--
extra : rebase_source : dd8f690940825b298a478b65b68a57418a9962ff
2014-08-22 23:11:27 +03:00
Daniel Holbert
4752030d6b Bug 1053035: Don't give <body> its own scroll frame, when it's styled as 'flex' or 'grid' and we've propagated its scrollability to the viewport. r=mats 2014-08-20 08:01:32 -07:00
Daniel Holbert
171665617d Bug 1054563: Remove unnecessary nsresult return value from BuildScrollFrame, and de-indent it. r=tn 2014-08-15 20:22:09 -07:00
Susanna Bowen
c622b18e05 Bug 1030993 - Fix assertion failure in reftest css-ruby/ruby-whitespace-1.html. r=dbaron
Fixes the assertion failure with text:
"###!!! ASSERTION: Wrong line container
hint: '!aForFrame || (aLineContainer == FindLineContainer(aForFrame) ||
aLineContainer->GetType() == nsGkAtoms::rubyTextContainerFrame ||
(aLineContainer->GetType() == nsGkAtoms::letterFrame &&
aLineContainer->IsFloating()))', file
/home/sgbowen/builds/mozilla-central/layout/generic/nsTextFrame.cpp, line 1259"
which occasionally appears when opening pages with ruby or when running ruby
reftests.

Updates the manifest for ruby reftests to the current expectations (adjust
assertion counts, etc.)
2014-08-15 10:34:20 -07:00
Susanna Bowen
779f8cef59 Bug 1030993 - Basic reflow implementation for ruby frame classes. r=dbaron
To account for spacing between bases or text boxes during reflow, the line
layout which manages the bases updates its inline direction coordinate based on
the preferred inline size for the corresponding text boxes. Next, the base is
reflowed at the correct inline coordinate. Each paired text box is then also
reflowed at the proper inline position determined by (1) the current position of
its corresponding base and (2) its own preferred width.

In computing intrinsic widths, accounting for spacing is less complicated. The
minimum intrinsic width is the width of the widest ruby column, and the
preferred intrinsic width is the sum of all the ruby column widths. Each ruby
column width is the maximum width of its base box and text boxes. These
individual widths are determined using GetPrefISize on the base and text boxes.

Ruby base container frames store a list of pointers to the ruby text container
frames in the segment they denote. This list of pointers is created in the ruby
frame reflow method before calling the reflow method for the ruby base
container. The list exists and is used only during reflow of the main ruby frame
and is cleared before returning from reflow.
2014-08-15 10:34:20 -07:00
L. David Baron
70c4a5a6b9 Bug 625289 patch 11 - Call RestyleManager::TryStartingTransition during frame construction. r=heycam 2014-08-13 15:39:02 -07:00
L. David Baron
f09205e661 Bug 625289 patch 9 - Convert nsCSSFrameConstructor::ResolveStyleContext away from early returns. r=heycam 2014-08-13 15:39:02 -07:00
L. David Baron
7f3d0a2286 Bug 625289 patch 8 - Add FIXME comments suggesting additional use of ResolveStyleContext when resolving the root frame. r=heycam
This isn't actually a problem for this patch series because the root
element can't have an ancestor that's reframed because it has no
ancestors, and reframes of the element itself trigger a restyling
operation that does actually start transitions.

That said, later patches in this bug hook in to ResolveStyleContext, and
other things might as well in the future, thus the FIXME.
2014-08-13 15:39:02 -07:00
Seth Fowler
3be514e0be Bug 981924 - Update ReportToConsole calls in layout code to use the right category. r=dbaron 2014-08-11 16:52:01 -07:00
Susanna Bowen
ee6cb50c8a Bug 1039017 - Remove whitespace according to the CSS ruby spec when performing anonymous box generation. r=dholbert,f=bz 2014-08-11 13:07:51 -07:00
Olli Pettay
87b818700b Bug 1026164, improve focus handling in shadow dom, r=wchen
--HG--
extra : rebase_source : 026b9ee49cdce82a703700593d7a1f0e5d27969f
2014-08-06 02:23:02 +03:00
William Chen
b120db058e Bug 1022866 - Fix insertion point frame for content distributed to insertion points. r=bz 2014-08-04 21:37:25 -07:00
Susanna Bowen
bf06af5d74 Bug 1021952 - Generate anonymous boxes to preserve proper ruby structure r=bz 2014-07-22 19:08:08 -07:00
Susanna Bowen
a3e95afeef Bug 1021952 - Add ruby display values and ruby frames. r=dholbert,bz 2014-07-22 19:08:01 -07:00
Mats Palmgren
32fe7d9bf6 Bug 767593 - Don't call SetUndisplayedContent() when aState.mCreatingExtraFrames is true because we should have already done that. r=bz 2014-07-16 14:10:48 +00:00
Seth Fowler
22dabfaad3 Bug 1027611 (Part 1) - Don't use a frame before initializing it in CreateContinuingTableFrame. r=bz 2014-07-02 17:58:53 -07:00
Kyle Huey
b1e3198eed Bug 737976: Remove nsINodeInfo. r=smaug
--HG--
rename : content/base/src/nsNodeInfo.cpp => dom/base/NodeInfo.cpp
rename : content/base/public/nsINodeInfo.h => dom/base/NodeInfo.h
rename : content/base/src/nsNodeInfo.h => dom/base/NodeInfoInlines.h
2014-06-19 19:01:40 -07:00
Susanna Bowen
64b0116f8b Bug 1025308 - Rename the variables associated with skipping style fixups for children element's based on parent display value. r=mats 2014-06-16 09:55:00 -04:00
Xidorn Quan
c011970f03 Bug 966166 - Part 3: Link to other parts. r=dbaron 2014-06-11 21:12:00 -04:00
Jonathan Watt
730ae601c6 Bug 1016680, part 3 - DeCOMify nsGenConNode::mText. r=dholbert 2014-06-11 23:11:15 +01:00