Commit Graph

1130 Commits

Author SHA1 Message Date
Thinker K.F. Li
5772ff62f8 Bug 1097464 - Part 5 - Fix preserve3d wording for nsIFrame. r=roc 2015-09-17 03:31:00 +02:00
Matt Woodrow
d44799029a Bug 1202029 - Use the containing block for determining perspective for transformed elements. r=dbaron 2015-09-14 14:17:40 -04:00
Mats Palmgren
3e3cf3cc2b Bug 1174553 part 3 - [css-grid] Implement the 'min-content' / 'max-content' sizing functions in layout. r=dholbert 2015-09-04 22:06:57 +02:00
Ting-Yu Lin
de3d08c61f Bug 1195672 - Add |nsAutoCString nsIFrame::ListTag()| for debugging. f=mtseng, r=roc
This make it easier to print a frame tag name in one debug log line.
2015-08-19 15:54:10 +08:00
Ting-Yu Lin
cfe207dbf6 Bug 1185436 - Mark DumpFrameTree() and DumpFrameTreeLimited() const. r=roc
Let's make it easier to dump the frame tree via |const nsIFrame*| in
a debugger.
2015-07-19 23:39:00 +02:00
Jonathan Kew
7e8bda5a72 Bug 1131451 part 1 - Replace containerWidth with containerSize in logical-coordinate classes and APIs, frame classes, etc. r=dholbert 2015-07-16 10:07:57 +01:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Lee Salzman
fad233b142 Bug 771367 - Support compositor animation for pseudo-elements. r=dbaron 2015-07-01 11:55:51 -04:00
Jonathan Kew
b8cfd49811 Bug 1174504 - Logical-coordinate versions of nsIFrame::SetSize should maintain the frame's logical position. r=smontagu 2015-06-23 06:06:16 -07:00
Mats Palmgren
fcb056fcd4 Bug 1174450 part 9 - Remove the nsRenderingContext* param from Intrinsic*SizeOffsets methods since it's unused. r=jfkthame 2015-06-16 11:21:04 +00:00
Mats Palmgren
0d694139d2 Bug 1174450 part 8 - Add a new method nsIFrame::IntrinsicBSizeOffsets. r=jfkthame 2015-06-16 11:21:04 +00:00
Andrea Marchesini
f0aa02df0b Bug 1156632 - Remove unused forward class declarations - patch 5 - rdf, parser, layout and something else, r=ehsan 2015-04-22 08:29:22 +02:00
Seth Fowler
3f88e08b1d Bug 1145439 (Part 1) - Throttle requestAnimationFrame for non-visible iframes. r=mstange,mchang 2015-04-21 09:44:40 -07:00
Timothy Nikkel
e30d596402 Bug 1156598. Remove old, dead scroll layer item code. r=mstange 2015-04-20 22:48:10 -05:00
Ryan VanderMeulen
ef7aaf774b Backed out changeset 3366d180e8ee (bug 1145439) for test_scroll_event_ordering.html failures. 2015-04-09 22:59:10 -04:00
Seth Fowler
d07bba6c7c Bug 1145439 - Throttle requestAnimationFrame for non-visible iframes. r=mstange,mchang 2015-04-09 17:52:23 -07:00
Mats Palmgren
fa1148962b Bug 1143130 - Initialize nsIFrame::ContentOffsets members, and some additional cleanup. r=roc 2015-04-09 17:57:34 +00:00
Wes Kocher
7a479b8fc4 Backed out changeset b0de9cef013b (bug 1145439) for Gu orange 2015-04-03 14:11:11 -07:00
Seth Fowler
59f89c2450 Bug 1145439 - Throttle requestAnimationFrame for non-visible iframes. r=mstange,mchang 2015-04-03 11:51:11 -07:00
Xidorn Quan
ff58163905 Bug 1143513 - Make nsFrameList compatible with range-based syntax and utils. r=roc,waldo 2015-03-31 14:08:17 +11:00
Mats Palmgren
3f92be8fe8 Bug 1148833 part 3 - Remove nsIFrame::WillReflow and add a non-virtual MarkInReflow method instead that sets NS_FRAME_IN_REFLOW. Call it at the start of Reflow(). r=roc 2015-03-29 22:38:40 +00:00
Cameron McCormack
a562bdc57f Bug 1120300 - Export WritingModes.h as mozilla/WritingModes.h. r=jfkthame 2015-03-26 18:29:31 +11:00
Xidorn Quan
ff95153fca Backout a6dbd23da598 (bug 1139283) since it is currently not needed. 2015-03-20 15:12:17 +11: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
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
Cameron McCormack
09fd736766 Bug 1127198 - Part 1: Add a DEBUG-only count of frames that use a style context. r=dbaron 2015-02-18 09:28:53 +11:00
Seth Fowler
102bc61b10 Bug 1130328 (Part 1) - Add support for an optional frame-space damage rect to nsIFrame::InvalidateLayer. r=mattwoodrow 2015-02-11 01:11:41 -08: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
Seth Fowler
72fb0505de Bug 1128356 - Add template functions for common frame property destructors. r=dbaron 2015-02-04 15:22:27 -08:00
Ehsan Akhgari
a916924d05 Bug 989012 - Part 1: Stop after passing over a non-selectable frame if one is found during the frame traversal; r=roc
The caret movement code already handles unselectable text frames if we
happen to land in the middle of one in nsTextFrame::PeekOffsetCharacter/Word.
However, when performing frame traversal to find the next frame to jump
to, we don't remember if we skipped over an unselectable frame, which causes
us to jump one offset too much when the caret is on the boundary of
selectable and unselectable content.  The test cases demonstrate the
scenario.  Note that an <img alt=foo> is implemented by adding a
generated content to the inline frame representing it, so as far as
the caret movement code is concerned, both test cases are treated similarly.

Note that we need to do this only when moving the selection, and not
when extending it.  We are adding an aExtend argument to
nsPeekOffsetStruct's constructor in order to be able to special case
that.
2015-01-27 23:11:26 -05:00
Ehsan Akhgari
d4c6d2cd2e Backed out 2 changesets (bug 989012) because of test failure on Linux32 opt mochitest-a11y on a CLOSED TREE
Backed out changeset 9698f6f3f72e (bug 989012)
Backed out changeset 22fb05349a10 (bug 989012)
2015-01-27 16:40:30 -05:00
Ehsan Akhgari
59c2df2758 Bug 989012 - Part 1: Stop after passing over a non-selectable frame if one is found during the frame traversal; r=roc
The caret movement code already handles unselectable text frames if we
happen to land in the middle of one in nsTextFrame::PeekOffsetCharacter/Word.
However, when performing frame traversal to find the next frame to jump
to, we don't remember if we skipped over an unselectable frame, which causes
us to jump one offset too much when the caret is on the boundary of
selectable and unselectable content.  The test cases demonstrate the
scenario.  Note that an <img alt=foo> is implemented by adding a
generated content to the inline frame representing it, so as far as
the caret movement code is concerned, both test cases are treated similarly.

Note that we need to do this only when moving the selection, and not
when extending it.  We are adding an aExtend argument to
nsPeekOffsetStruct's constructor in order to be able to special case
that.
2015-01-27 15:35:32 -05:00
Masatoshi Kimura
90898b1eb4 Bug 1111290 - Part 3: Remove TypedEnum.h and fold TypedEnumInternal.h into TypedEnumBits.h. r=waldo 2015-01-26 07:22:11 +09:00
Masatoshi Kimura
4eacef39b7 Bug 1111290 - Part 1: Remove MOZ_(BEGIN|END)_ENUM_CLASS. r=waldo 2015-01-26 07:22:07 +09:00
L. David Baron
119b138241 Revert one of the assertion additions in Bug 1110277 patch 3 since it fires, causing orange. r=orange
Example stack, from editor/libeditor/tests/browserscope/test_richtext2.html :

###!!! ASSERTION: should only call on first continuation/ib-sibling: 'nsLayoutUtils::IsFirstContinuationOrIBSplitSibling(this)', file /builds/slave/m-in-l64-d-0000000000000000000/build/src/layout/base/../generic/nsIFrame.h, line 875
#01: AdjustAppendParentForAfterContent [layout/base/nsCSSFrameConstructor.cpp:6059]
#02: nsCSSFrameConstructor::ContentAppended(nsIContent*, nsIContent*, bool) [layout/base/nsCSSFrameConstructor.cpp:7155]
#03: PresShell::ContentAppended(nsIDocument*, nsIContent*, nsIContent*, int) [layout/base/nsPresShell.cpp:4520]
#04: nsNodeUtils::ContentAppended(nsIContent*, nsIContent*, int) [dom/base/nsNodeUtils.cpp:132]
#05: nsINode::doInsertChildAt(nsIContent*, unsigned int, bool, nsAttrAndChildArray&) [dom/base/nsINode.cpp:1544]
#06: nsINode::ReplaceOrInsertBefore(bool, nsINode*, nsINode*, mozilla::ErrorResult&) [dom/base/nsINode.cpp:2209]
#07: mozilla::dom::NodeBinding::appendChild [obj-firefox/dom/bindings/NodeBinding.cpp:600]
2015-01-11 16:58:42 -08: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
Simon Montagu
fa39f985c4 Bug 1079154 patch 2: add SetPosition with a LogicalPoint to nsIFrame, r=jfkthame 2015-01-06 23:10:07 -08: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
Simon Montagu
267fb56c30 Bug 1113526: make GetLogicalNormalPosition return the correct logical origin of the frame, not just convert the physical origin to logical coordinates, r=jfkthame 2014-12-24 04:39:46 -08:00
Seth Fowler
725fba4434 Bug 35168 (Part 1) - Add GetNormalRect to nsIFrame. r=dbaron 2014-08-19 18:24:57 -07:00
Mats Palmgren
f1238f0923 Bug 1111360 - Remove the unused NS_IS_REFLOW_ERROR macro and an obsolete comment. r=roc 2014-12-19 16:28:42 +00:00
Jonathan Kew
17fce98a69 Bug 1108067 - Make nsIFrame::GetWritingMode virtual, and override it in nsViewportFrame, nsCanvasFrame and nsHTMLScrollFrame to make them adopt the writing mode of their contents. r=smontagu 2014-12-16 09:45:11 +00:00
Jonathan Kew
b0e7f7c32c Bug 1077515 - part 1 - Eliminate use of keyCode parameters and values in nsFrameSelection. r=roc 2014-11-22 14:39:02 +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
Jonathan Kew
4d2d4addf1 Bug 1093165 - Include the text-orientation value in WritingMode, and add the IsSideways flag for baseline decisions. r=smontagu 2014-11-13 08:58:04 +00:00
Jonathan Kew
de6452b9c9 Bug 1089388 - Followup to add a LogicalPoint version of nsIFrame::MovePositionBy, and use this in SlideLine. r=smontagu 2014-11-13 08:58:03 +00:00
Jonathan Kew
b15e11bc92 Bug 1096260 - Convert flags parameter of nsIFrame::ComputeSize from uint32_t to a typed enum, and update callers accordingly. r=dholbert 2014-11-11 11:02:41 +00:00