Commit Graph

418 Commits

Author SHA1 Message Date
Daniel Holbert
cbd5c87eeb Bug 919813 part 1: Remove never-checked return value from frame methods SetPrevInFlow, SetNextInFlow, SetPrevContinuation, SetNextContinuation. r=mats 2013-09-25 10:54:55 -07:00
Birunthan Mohanathas
b1a40a17a2 Bug 919729 - Remove unnecessary MOZILLA_INTERNAL_API checks from nsIFrame.h. r=bz 2013-09-25 09:48:20 -04:00
Mats Palmgren
ae50ca5ce4 Bug 919318 - Drop the Get prefix on the frame methods GetFirstContinuation, GetLastContinuation, GetFirstInFlow, GetLastInFlow and also on nsLayoutUtils::GetLastContinuationWithChild, because they never return null. r=dholbert 2013-09-25 11:42:34 +00:00
L. David Baron
4d67f6dd65 Bug 916751: Do not use nsIFrame::MovePositionBy from nsLineLayout. r=dholbert
Since bug 916751 is hard (for me) to test, I haven't confirmed for sure
that this fixes the bug.

However, it fixes the assertions that bug 911786 part 3 triggers in
layout/base/crashtests/317934-1.html through this codepath.
2013-09-17 04:44:16 -07:00
Daniel Holbert
06b3f64a63 (no bug) fix a few s/it's/its/ typos in nsIFrame.h header-comments. DONTBUILD 2013-09-12 11:28:46 -07:00
Corey Ford
17fd17cb8b Bug 911786 - Part 2: Reapply relative positioning when moving frames without reflowing them. r=dholbert 2013-09-11 11:51:42 -07:00
Corey Ford
b886875718 Bug 911786 - Part 1: Store computed relative position offsets. r=dholbert 2013-09-10 11:33:59 -07:00
Daniel Holbert
5ff12a0123 (no bug) fix comment typos: s/incompete/incomplete/, s/th/the/
DONTBUILD because comment-only
2013-09-10 16:41:04 -07:00
Corey Ford
5db567cbb1 Bug 886646 - Part 6: Implement sticky positioning, calculated on reflow and scroll. r=dbaron, r=dholbert 2013-09-06 09:35:16 -04:00
Ehsan Akhgari
52416f5705 Bug 908746 - Move some macros from nsHTMLReflowState.h to nsIFrame.h so that we can stop #including nsHTMLReflowState.h in nsLayoutUtils.h; r=mats 2013-08-23 18:20:19 -04:00
Ehsan Akhgari
a40e4b39e7 Bug 908778 - Don't #include nsAlgorithm.h in nsIFrame.h; r=mats 2013-08-23 18:17:19 -04:00
Ehsan Akhgari
bf4cca3bc2 Bug 908778 - Don't #include nsStyleStructFwd.h in nsIFrame.h; r=mats 2013-08-23 18:16:59 -04:00
Ehsan Akhgari
9b11a89362 Bug 908778 - Don't #include nsRegion.h in nsIFrame.h; r=mats 2013-08-23 18:16:38 -04:00
Ehsan Akhgari
1b1e8f296f Bug 908778 - Don't #include gfxASurface.h in nsIFrame.h; r=mats 2013-08-23 18:16:16 -04:00
Ehsan Akhgari
2d782339fa Bug 908778 - Don't #include nsIContent.h in nsIFrame.h; r=mats 2013-08-23 18:15:45 -04:00
David Zbarsky
46c6e64d77 Bug 903283: Don't include EventTarget.h in headers r=Ms2ger 2013-08-19 06:15:55 -04:00
Jonathan Kew
65526d27a3 bug 904555 - clean up use of nsRect APIs in layout. r=roc 2013-08-14 13:27:20 +01:00
Markus Stange
a16556961c Bug 904541 - Don't #include Layers.h in nsPresContext.h. r=roc 2013-08-14 13:33:03 +02:00
Markus Stange
2486ab13ca Bug 904539 - Don't #include ImageLoader.h in nsIFrame.h. r=roc 2013-08-14 13:29:11 +02:00
Markus Stange
ca3ed71e54 Bug 904538 - Don't #include nsITheme.h in nsIWidget.h. r=roc 2013-08-14 13:19:55 +02:00
Trevor Saunders
a8a12176ad bug 659722 - remove _IMPL_NS_LAYOUT r=bz 2013-03-16 00:31:38 -04:00
Corey Ford
c1f2a8126d Bug 898794 - Store normal frame position before applying relative positioning. r=dbaron 2013-08-08 17:20:17 -07:00
Ehsan Akhgari
b9560fc7d9 Bug 902111 - Forward-declare nsIFrame in nsISelectionPrivate.h; r=bzbarsky 2013-08-06 16:19:11 -04:00
Cameron McCormack
7389a04520 Bug 899881 - Don't allow frames to have a null style context. r=dbaron 2013-08-03 14:11:05 +10:00
L. David Baron
40c4d9c17c Bug 898888: Transition manager should use SetStyleContext rather than SetStyleContextWithoutNotification. r=nrc
While debugging bug 858937 I noticed that the transition manager was
calling nsIFrame::SetStyleContextWithoutNotification rather than
nsIFrame::SetStyleContext.  SetStyleContextWithoutNotification should
only be used for things that aren't really style changes, but are
instead changes we make during frame construction before things are
really initialized.  Anything that's really a dynamic style change, as
these are, should use SetStyleContext.

I realize I said the opposite in bug 780692 comment 186, and bz said the
same in bug 780692 comment 204, which is why this is the state that it
is.
2013-07-30 17:36:08 -07:00
Scott Johnson
a5680b3063 Bug 743402, Part 4: Refactor ApplySkipSides() and GetSkipSides() to return the correct value during reflow by adding an optional nsHTMLReflowState parameter. [r=roc] 2013-07-25 10:34:27 -05:00
Ryan VanderMeulen
a692880c23 Backed out 6 changesets (bug 743402) for reftest failures on a CLOSED TREE.
Backed out changeset 19848fff857e (bug 743402)
Backed out changeset 049168537ae0 (bug 743402)
Backed out changeset 3098fea37f2d (bug 743402)
Backed out changeset ada93e976dca (bug 743402)
Backed out changeset c7907c54187f (bug 743402)
Backed out changeset 2edbbf6440c4 (bug 743402)
2013-07-24 15:14:04 -04:00
Scott Johnson
6003af5e8d Bug 743402, Part 4: Refactor ApplySkipSides() and GetSkipSides() to return the correct value during reflow by adding an optional nsHTMLReflowState parameter. [r=roc] 2013-07-24 12:47:17 -05:00
Nicholas Cameron
efbfb06759 Bug 700926; reshuffle background image drawing. r=roc
--HG--
extra : rebase_source : 4e4786a75cfdccc47ffa524331792eab3a7a83ea
2013-07-19 20:40:02 +12:00
Cameron McCormack
e57c8ad0ef Bug 890782 - Part 2: Make NS_STATE_SVG_NONDISPLAY_CHILD a global state bit and rename it. r=jwatt 2013-07-12 17:13:07 +10:00
Robert O'Callahan
46c791393d Bug 880854. Part 1: Make nsIFrame::DumpFrameTree virtual and take no parameter, to be easier to call from buggy debuggers like gdb. r=mats
--HG--
extra : rebase_source : 0986652eb1d9710ceeba8cda4ac3d1273532929d
2013-06-18 23:39:58 +12:00
Timothy Nikkel
6f4a1b5f7f Bug 880508. Remove defer invalidations code because we don't invalidate during painting anymore. r=matt.woodrow 2013-06-06 23:12:10 -05:00
Daniel Holbert
50afd752be Bug 842065: Remove no-longer-necessary method nsIFrame::StyleDataExternal(). r=dbaron 2013-05-25 00:21:53 +08:00
Jonathan Watt
d1f5d8d8d3 Bug 874854 - Stop calling SchedulePaint for SVG transform attribute changes. r=longsonr 2013-05-23 08:04:21 +01:00
Mats Palmgren
cd2a9144a4 Bug 866785 - Move repeated nsIFrame::List implementations code to a new method, ListGeneric, for re-use. Cleanup and improve the code a bit. r=roc
Specifically:
* move all the frame dump methods to nsIFrame. Especially nsFrame::ListTag
  was annoying, often requiring a cast to nsFrame*.
* print common values in the same order for all types of frames
* print fluid continuations as "next-in-flow=%p" and non-fluid as
  "next-continuation=%p" (as before)
* print the style-context more compactly, e.g.
  "[sc=0x7faa6b60e0a0] pst=:first-line" becomes
  "[sc=0x7faa6b60e0a0:first-line]"
* suppress printing visual/scroll-overflow rects when they are identical
  to mRect and do the same for nsLineBox::List where it was especially
  hard to see which lines actually had real overflow
* fix a bug that printed the child list name at the far right when the
  principal list was empty (making it hard to see)
* print the address of child lists (other than the principal list) to
  help debug frame list property bugs
* s/NS_IMETHODIMP/void/
2013-04-30 20:38:52 +02:00
Mats Palmgren
c538e42a6e Bug 485149 - Using box-shadow on a <fieldset> with <legend> does not follow box shape. r=roc 2013-04-17 22:16:14 +02:00
Joshua Cranmer
c763b1352e Bug 856108 - Port static analyses to clang, part 2e: use MOZ_STACK_CLASS in layout. r=mats 2013-04-11 22:20:45 -05:00
Robert O'Callahan
04e9887192 Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow
This patch does several things. Sorry.

In BuildDisplayList implementations, instead of wrapping display items in nsDisplayClip, we
push clip state onto the nsDisplayListBuilder and give the display items an
explicit clip when they're created.

In FrameLayerBuilder, we use the explicit clips we find on display items instead of
computing our own.

We remove nsDisplayClip and everything that depends on it.

We remove ExplodeAnonymousChildLists. With nsDisplayClip gone, and
nsDisplayOptionEventGrabber removed in a previous patch, there are no
anonymous child lists.

nsDisplayItem::TryMerge implementations need to make sure they have the same
clip before being merged.

I ripped out the part of PruneDisplayListForExtraPage that adjusts clip rects.
As far as I can tell, it isn't actually necessary.

--HG--
extra : rebase_source : 6f3988b385d0ac54ab26fad10b12173884441f48
2013-03-04 22:56:02 +13:00
Cameron McCormack
30b5ba2337 Bug 856879 - Remove constructor arguments argument from style struct macros. r=dbaron 2013-04-02 12:45:48 +11:00
Boris Zbarsky
462f47d89e Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
Matt Woodrow
981f3ba59b Bug 844750 - Don't use per-display-item invalidation for table frames. r=roc 2013-03-08 15:18:45 +13:00
Timothy Nikkel
acb34484d5 Bug 846888. Part 1. Update the in popup frame state bits when we swap docshells. r=mattwoodrow 2013-03-04 13:49:39 -06:00
Mats Palmgren
54ae45a9ab Bug 838642 - Introduce nsFrameList::StartRemoveFrame/ContinueRemoveFrame that can be used in concert to remove a frame in O(1) time from a set of frame lists when its exact frame list is unknown. Use them to make nsContainerFrame::StealFrame O(1). r=bzbarsky 2013-02-28 00:05:44 +01:00
L. David Baron
f75e32c2f2 Bug 781360 patch 4: Remove the Get from nsStyleContext::GetStyleData and nsIFrame::GetStyleDataExternal, which never return null. r=dholbert 2013-02-16 13:51:03 -08:00
L. David Baron
5ef4421fa5 Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
L. David Baron
ed0e6eb8a7 Bug 781360 patch 2: Rename nsRuleNode::GetPresContext to PresContext, since it can never return null. r=dholbert 2013-02-16 13:04:54 -08:00
L. David Baron
8f3a364f1f Bug 781360 patch 1: Rename nsStyleContext::GetRuleNode to RuleNode, since it can never return null. r=dholbert
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".

nsStyleContext's rule node is never null because we require a rule node
in order to construct a style context.
2013-02-16 13:04:53 -08:00
Daniel Holbert
35466de209 Bug 834107: Replace helper-function GetContainingBlockFor() with direct calls to nsIFrame::GetContainingBlock(), in nsComputedDOMStyle.cpp. r=dbaron 2013-02-16 10:34:34 -08:00
Robert O'Callahan
013943dc4f Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : de498510bf8d85d9b0b2fab0137ef3be01c9adfa
2013-02-15 00:12:27 +13:00
L. David Baron
f3cff43ce7 Bug 841789, patch 3: Some removal of unneeded style context null-checks and comment cleanup. r=dholbert 2013-02-15 21:38:34 -08:00