Commit graph

2537 commits

Author SHA1 Message Date
Xidorn Quan
4879d85cc1 Bug 1233135 - Do not touch display value of anonymous box for ruby. r=dbaron
--HG--
extra : source : 87f3c64200ab990efe341da44b70e0fc8f1c09f0
2016-01-26 20:31:45 +11:00
Nicholas Nethercote
fd7ca876ef Bug 1232852 (part 4) - Remove some unused parameters in and around layout/base/. r=heycam.
--HG--
extra : rebase_source : 68642322a9fc78bb7eace1501b75003241a44507
2016-01-05 16:08:17 -08:00
Nicholas Nethercote
3ba02d7a9b Bug 1232852 (part 3) - Remove unused parameters from some accessibility code. r=tbsaunde.
--HG--
extra : rebase_source : 7cdef8244e2b44b89e8061f66d45d40cbf245041
2015-12-15 21:24:06 -08:00
Karl Tomlinson
503849e75c bug 1230025 remove declaration of non-existant NS_NewThumbFrame r=dholbert
--HG--
extra : rebase_source : 4a9b29189fd57fae34e8b2c19eca5c353a18fcd2
2015-12-03 14:07:46 +13:00
Mats Palmgren
6008c786f7 Bug 1230672 part 3 - Add support for multicol layout on <fieldset> elements. r=bz 2015-12-15 02:51:03 +01:00
Mats Palmgren
028ecc5615 Bug 1230207 - Add support for display:grid/flex layout on <fieldset> elements. r=bz,dholbert 2015-12-15 02:51:02 +01:00
Boris Zbarsky
253dee13c4 Bug 1230466. Make sure to update our scrollbar styles when a <body> is removed from the DOM, since we might now need to propagate from some other element. r=roc 2015-12-08 14:55:50 -05:00
Nicholas Nethercote
16cd9db041 Bug 1230863 - Remove unused nsPresContext args from many functions. r=roc. 2015-12-06 17:15:53 -08:00
Ting-Yu Lin
78fb3c80ac Bug 1226875 - Remove nsIFrame::GetLastChild(). r=mats
--HG--
extra : commitid : J8NTL74JosY
extra : rebase_source : ea686ef5e1bd5d59701ffb4c309c9ff9d0435beb
2015-11-26 17:12:39 +08:00
Ting-Yu Lin
79afc81f6e Bug 1226875 - Remove nsIFrame::GetFirstChild(). r=mats
--HG--
extra : commitid : J8NTL74JosY
extra : rebase_source : 50a196905ac06d09fea17bb1aa17efe821cc7cbb
2015-11-26 17:12:39 +08:00
Chris Peterson
bfeb9f1127 Bug 1224951 - Part 2: Fix -Wunreachable-code warnings in layout. r=dholbert
layout/base/nsCSSFrameConstructor.cpp:12067:12: warning: will never be executed [-Wunreachable-code]
layout/base/nsPresContext.cpp:2861:10: warning: will never be executed [-Wunreachable-code]
layout/generic/nsFrameSetFrame.cpp:730:11: warning: will never be executed [-Wunreachable-code]
layout/generic/nsFrameSetFrame.cpp:725:11: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:268:62: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:269:66: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:270:68: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:271:75: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:272:73: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:273:81: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:274:69: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:275:60: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:276:68: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:277:68: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:279:18: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:290:62: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:291:66: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:292:68: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:293:75: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:294:73: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:295:81: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:296:69: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:297:60: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:5657:7: warning: will never be executed [-Wunreachable-code]
layout/mathml/nsMathMLmrootFrame.cpp:405:5: warning: will never be executed [-Wunreachable-code]
2015-11-14 00:06:58 -08:00
Cameron McCormack
edcec9eefe Bug 1223228 - Remove unused nsFrameManagerBase::mStyleSet. r=dholbert 2015-11-10 12:27:47 +11:00
Daniel Holbert
e322a540bd Bug 1219868: Don't warn for CreateAnonymousContent failure (due to e.g. detecting & breaking <use> reference loops). r=jwatt 2015-11-06 14:59:55 -08:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Xidorn Quan
3a11a2f307 Bug 1126230 part 5 - Give proper geometric parent for top layer frames. r=bz,dbaron
--HG--
extra : source : ad496022ecf04e001fcbedb70ef057a8c068ccb7
2015-10-07 14:04:32 +11:00
Xidorn Quan
761df5aae4 Bug 1126230 part 2 - Refactor part of nsFrameConstructorState::AddChild. r=bz
--HG--
extra : source : 1ac324a35bd2ecea3a0c4616b9c4c28fc5146fc7
2015-10-07 14:04:32 +11:00
Xidorn Quan
c0eb7d9a66 Bug 1126230 part 1 - Use delegated constructor to simplify constructor of nsFrameConstructorState. r=bz
--HG--
extra : source : a6d09835f9c0e76e01e71e46ac978f4e8e16f97f
2015-10-07 14:04:32 +11:00
Nigel Babu
a47d2e063f Backed out 9 changesets (bug 1126230) for Mulet Gij(25) and M(5) failures
Backed out changeset 8a9d8a556183 (bug 1126230)
Backed out changeset 441b55f015c2 (bug 1126230)
Backed out changeset 7bfa2a2d4e29 (bug 1126230)
Backed out changeset b55511536c65 (bug 1126230)
Backed out changeset ada76e419aac (bug 1126230)
Backed out changeset 745d659bef49 (bug 1126230)
Backed out changeset 7c303cc4c30b (bug 1126230)
Backed out changeset 8bf708acbad4 (bug 1126230)
Backed out changeset 590404aac357 (bug 1126230)
2015-10-02 13:39:20 +05:30
Xidorn Quan
b06998eb75 Bug 1126230 part 4 - Give proper geometric parent for top layer frames. r=bz,dbaron
--HG--
extra : source : ec5bca02e282f3b77ad7e9102d67379194c04ff0
2015-10-02 16:34:09 +10:00
Xidorn Quan
b806b81bd7 Bug 1126230 part 2 - Refactor part of nsFrameConstructorState::AddChild. r=bz
--HG--
extra : source : f018588f57974d343c5f9eea05e6b323024623b5
2015-10-02 16:34:09 +10:00
Xidorn Quan
23b3042d6c Bug 1126230 part 1 - Use delegated constructor to simplify constructor of nsFrameConstructorState. r=bz
--HG--
extra : source : 61ba01c276724584dc31c821106566f55d10285f
2015-10-02 16:34:09 +10:00
Xidorn Quan
5d040064dc Bug 1201798 part 2 - Update viewport scrollbar override for fullscreen and remove the leagcy css rule. r=roc
--HG--
extra : source : 339b4099bd0fa78b54befdfb55bebfbb98a46c14
2015-09-30 10:48:41 +10:00
Xidorn Quan
0e00ba39ac Bug 1201798 part 1 - Move PropagateScrollToViewport() from nsCSSFrameConstructor to nsPresContext as a public method. r=roc
--HG--
extra : source : bfbd88293e3701653f3f7ab393239f69265561a8
2015-09-30 10:48:41 +10:00
Xidorn Quan
0e69915329 Bug 1203405 - Ignore order of abs/fixed-pos frames in the frame list. r=roc
--HG--
extra : source : add7aa859385d64f677a8b186ac341357b2bb8be
extra : amend_source : 5033c9f432c58faf3a235daf63244df2727bdb3a
2015-09-23 10:38:56 +10:00
Boris Zbarsky
1b4d68bc0c Bug 1177819. Replace the warning about anon content being passed into frame construction with an assert plus whitelisting of the known-OK cases. r=dholbert 2015-07-23 11:51:09 -04:00
Cameron McCormack
2b9faf4b60 Bug 1182496 - Don't create frames for SVG <text> descendants with failing conditional processing attributes. r=dholbert 2015-07-17 11:29:22 +10:00
Mats Palmgren
cc260b44cf Bug 817406 part 1 - Let ApplyStyleFixups propogate 'direction' to the viewport. r=bz,heycam 2015-05-27 22:18:36 +00:00
Phil Ringnalda
4454c8f924 Back out 2 changesets (bug 817406) for b2g reftest-7 bustage
CLOSED TREE

Backed out changeset 1499a08f564a (bug 817406)
Backed out changeset d2f3cb3c0233 (bug 817406)
2015-05-27 19:11:54 -07:00
Kang-Hao (Kenny) Lu
0cec7a05cb Bug 817406 (part 1) - Let ApplyStyleFixups propogate 'direction' to the viewport. r=bz,heycam 2015-05-27 22:18:36 +00:00
Ting-Yu Lin
b9b5ab6f24 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
a17309da18 Bug 1165750 - metadata tag should be allowed in clipPath. r=jwatt 2015-05-19 09:25:52 +01:00
Mats Palmgren
57c61bb7d9 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
a792ad70d0 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
ffec696346 Backout df7c88910f47 (bug 1149009) for new patch.
--HG--
extra : source : f1d1ec017c872676ca90738f31f41d8f4a77f9cb
2015-05-04 09:52:53 +12:00
Xidorn Quan
0c5653824d Bug 1159101 part 5 - Initialize writing mode of desired mode of table cell frame from its table frame on a CLOSED TREE. r=roc
--HG--
extra : source : ad2134d545e36298124b6ec5aea600d3689022ad
extra : amend_source : 8bf117c8a17a8a9d0144a00709a8963f8b7efd14
2015-04-30 18:27:54 +12:00
L. David Baron
c1b1d10e7d 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.

--HG--
extra : transplant_source : %B4%A5%5Ck%E1%B7%F5Et%CF%9B%9F%40%97c%C5NM%D3%A8
2015-04-26 19:20:19 -07:00
Xidorn Quan
9c13d12b5e Bug 1156222 - Check frame type instead of display type for ruby and simplify code. r=dholbert
--HG--
extra : source : c00a44185d012b612271e0c64c444832c19d3b54
2015-04-23 13:32:53 +12:00
Xidorn Quan
1eac8d1918 Bug 1149009 - Fix line break suppression on whitespace not contained but wrapped in ruby boxes. r=dbaron
--HG--
extra : rebase_source : d523d7fb01b9ca6a0db9c2a99b05f5560a94e3aa
extra : source : b3028ab938b2269518a5fb1e124c2982f4afdd36
2015-04-20 15:04:09 +12:00
Xidorn Quan
3b4c0d5354 Bug 1146112 - Mark ruby pseudo frames as line participant in frame constructor. r=roc
--HG--
extra : source : f84d9fe6a62590e795c5e307fca17ef527490e56
2015-03-31 09:20:01 +11:00
Xidorn Quan
c9ec579ba2 Backout a6dbd23da598 (bug 1139283) since it is currently not needed.
--HG--
extra : source : 3acc263e7d18fc2946bd043edcf7ae865e3874fe
2015-03-20 15:12:17 +11:00
Xidorn Quan
6c553b0e05 Bug 1143535 - Fix condition of ruby leading/trailing whitespace trimming. r=bz a=kwierso
--HG--
extra : source : e3099e6a148be5c0e78e99686d313cf3b5eaa910
extra : amend_source : fce4db18aa4724df434f2f129d568b34896026db
2015-03-20 09:45:41 +11:00
Robert O'Callahan
77972f304e Bug 1125767. Clarify aContextFrame parameter to nsStylePosition::IsFixedPosContainingBlock and nsStylePosition::HasTransform and make nsCSSFrameConstructor actually honor it. r=mats
--HG--
extra : rebase_source : e71b72254a56d54fe95410c5ccb7855b7d42d675
extra : histedit_source : ffddeedc9f2ec5a4ccdfcc41444c28a1a9da01f3
2015-03-11 00:18:49 +13:00
Robert O'Callahan
c7d1538273 Bug 1125767. Centralize code into nsStylePosition::IsFixedPosContainingBlock. r=mats
Also renames IsPositioned to IsAbsPosContainingBlock.

--HG--
extra : rebase_source : b412f6291d34e30e8d57e054645bd1e04f43593f
extra : histedit_source : 01a2bd57de4eec4ecf3f3712ee609d70ca14cda4
2015-03-12 16:21:01 +13:00
Mats Palmgren
73069181c8 Bug 1140579 - Additional tests and code comment update. 2015-03-09 17:29:00 +00:00
Xidorn Quan
d4289c7714 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

--HG--
extra : source : 42bbf0328b450d1094250159fe9f7f0d07622290
2015-03-08 18:43:22 +11:00
Robert Longson
751b0c932b Bug 1140080 - ensure we only create stop frames for gradients. r=dholbert 2015-03-08 06:49:33 +00:00
Mats Palmgren
b1a684cc86 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
4c74b7ca6b Bug 1140579 - (backout rev 27ac269bb796 b/c wrong bug number in commit message) 2015-03-07 14:53:45 +00:00
Mats Palmgren
5bf718435c 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
c8890df726 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
baf253e663 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
2d11a5911a 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.

--HG--
extra : rebase_source : 91377588f8ae6b00f5ec0198000251820d4d2f85
2014-02-04 14:54:22 +13:00
Andrea Marchesini
e09c883eef 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
2c4f63331f 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
209cc4bfbd Bug 1110056 - Merge nsMathMLmphantomFrame into nsMathMLmrowFrame. r=jkitch
--HG--
extra : rebase_source : aafda35ac6c7b647b18259cbaca09161b8aac58b
2015-02-09 11:19:00 +01:00
Nicholas Nethercote
242708cf72 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 488e401ff87e31a2074c4108c4df0572d9536667
2015-02-09 14:34:50 -08:00
Andrew McCreight
d3826daa16 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
d34f0301b8 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 99182e70335d2b5ff95f8c528ae992d37294be3a
2015-02-04 20:05:36 -08:00
Mats Palmgren
63d92f5fee 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
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