Commit Graph

530 Commits

Author SHA1 Message Date
Simon Montagu
7efd4be22b Add some more logical getters to nsIFrame.h. Bug 735577, r=jfkthame 2014-04-16 01:03:30 -07:00
Ryan VanderMeulen
27b28b1c13 Backed out changeset 7be71c699b85 (bug 984226) for crashtest asserts. 2014-04-08 15:31:45 -04:00
Kearwood (Kip) Gilbert
ebcffdc9e3 Bug 984226 - Add parameter to OverflowChangedTracker::AddFrame to distingush between frames that need nsIFrame::UpdateOverflow called and frames that only have a transform that has changed. r=dbaron
- OverflowChangedTracker::AddFrame now accepts an enumerated type parameter to
  indicate if the overflow areas of children have changed (CHILDREN_CHANGED) or
  if the transform has changed (TRANSFORM_CHANGED).
- OverflowChangedTracker::Flush no longer falls back to calling
  nsIFrame::UpdateOverflow when a frame lacks a PreTransformOverflowAreas
  property.
- Added an additional change hint, nsChangeHint_ChildrenOnlyTransform, which
  results in TRANSFORM_CHANGED being passed in to
  OverflowChangedTracker::AddFrame.
- In nsIFrame::FinishAndStoreOverflow, the passed in overflow is now stored as
  the InitialTransformProperty for elements that are IsTransformed().
- Partially corrected Bug 926155, by only calling
  OverflowChangedTracker::AddFrame on parents of the sticky element during
  StickyScrollContainer::UpdatePositions, using CHILDREN_CHANGED.
2014-03-13 17:21:25 -07:00
Masayuki Nakano
01ad44156b Bug 989212 Rename nsEventStates to mozilla::EventStates r=smaug
--HG--
rename : dom/events/nsEventStates.h => dom/events/EventStates.h
2014-04-03 13:18:36 +09:00
Kyle Huey
84360900b0 Bug 967364: Pass already_AddRefed by reference instead of by value. r=bsmedberg 2014-03-15 12:00:17 -07:00
Tom Hindle
d00ff2db8c Bug 970363 - Make PeekOffset* methods return continue reason. r=roc 2014-03-13 08:14:37 -06:00
Simon Montagu
9241d9e1ba Use logical text layout API for GetSkipSides, bug 789096, r=jfkthame 2014-03-13 00:39:33 -07:00
Simon Montagu
677c6954d4 Use logical text layout API in nsLineLayout. Bug 789096, r=jfkthame 2014-03-11 13:23:50 -07:00
Carsten "Tomcat" Book
030af78620 Backed out changeset aeff4052ef00 (bug 789096) 2014-03-11 09:22:52 +01:00
Carsten "Tomcat" Book
e027e64b7a Backed out changeset 534a0efe7d3d (bug 789096) 2014-03-11 09:22:48 +01:00
Simon Montagu
02482367cf Use logical text layout API for GetSkipSides. Bug 789096, r=jfkthame 2014-03-10 22:19:03 -07:00
Simon Montagu
8db501aece Use logical text layout API in nsLineLayout. Bug 789096, r=jfkthame 2014-03-10 22:19:03 -07:00
Seth Fowler
fa7d967784 Bug 63895 (Part 1) - Add helper methods for retrieving overflow areas in the frame's local coordinate space. r=dbaron 2014-03-10 15:41:14 -07:00
Daniel Holbert
f363dbb577 Bug 981127: Mark nsIFrame methods HasAllStateBits() & HasAnyStateBits() as 'const'. r=heycam 2014-03-07 15:58:37 -08:00
Seth Fowler
451d4a93d4 Backed out 3 changesets (bug 63895)
Backed out changeset ceafe92c7716 (bug 63895)
Backed out changeset 0199299ac111 (bug 63895)
Backed out changeset d78110a5cffa (bug 63895)

--HG--
extra : rebase_source : 76d8a63672dfdb000ff6db5d362231ed6e90c1bc
2014-03-06 16:59:56 -08:00
Simon Montagu
423901ddaf Add more logical-coordinate API to nsIFrame. Bug 735577, r=jfkthame 2014-03-04 23:31:47 -08:00
L. David Baron
598c0d4122 Bug 828173 patch 5: Call AddAnimationsAndTransitionsToLayer when we choose not to repaint when handling an UpdateTransformLayer hint, so that any new animations resulting from the style change get sent to the layer. r=mattwoodrow 2014-03-04 20:13:22 -08:00
Seth Fowler
d0c1e2f3fb Bug 63895 (Part 1) - Add helper methods for retrieving overflow areas in the frame's local coordinate space. r=dbaron 2014-03-03 19:40:27 -08:00
Ehsan Akhgari
52816268c3 Bug 977418 - Special case opacity:0.99 to treat it as opacity:1 for display purposes; r=roc
This helps avoid significant costs in our graphics code when websites
use opacity:0.99 as a hint for creating a stacking context only.
2014-03-03 09:42:16 -05:00
Matt Woodrow
5c0203ae3f Bug 968555 - Don't create a stacking context for backface-visibility:hidden. r=dbaron 2014-02-27 15:57:45 +13:00
Wes Kocher
3caf9fa516 Backed out 3 changesets (bug 63895) for debug crashtest failures on a CLOSED TREE
Backed out changeset 02e057fea56c (bug 63895)
Backed out changeset 80bd36a3d4f1 (bug 63895)
Backed out changeset 6609365ee797 (bug 63895)
2014-02-19 17:35:03 -08:00
Seth Fowler
627688c181 Bug 63895 (Part 1) - Add helper methods for retrieving overflow areas in the frame's local coordinate space. r=dbaron 2014-02-19 16:03:24 -08:00
Daniel Holbert
c390fe1fc8 Bug 919806 followup: Reindent method declarations affected by NS_IMETHOD-removal. (whitespace-only; no review) DONTBUILD 2014-02-18 00:36:33 -08:00
Arnaud Sourioux
bc988b83ca Bug 919806: Get rid of NS_IMETHOD in nsIFrame.h and its implementations r=dholbert 2014-02-17 23:47:48 -08:00
Simon Montagu
c4fb327c6a Add some logical setters/getters to nsIFrame.h. Bug 735577, r=jfkthame 2014-02-12 23:55:06 -08:00
L. David Baron
1cd8290c55 Bug 91419 patch 6: Rename everything with IBSplitSpecialPrevSibling to IBSplitPrevSibling. r=mats 2014-02-06 17:45:31 -08:00
L. David Baron
9a314c5e74 Bug 91419 patch 3: Rename everything with IBSplitSpecialSibling to IBSplitSibling. r=mats 2014-02-06 17:45:30 -08:00
L. David Baron
f33181c366 Bug 91419 patch 1: Rename NS_FRAME_IS_SPECIAL to NS_FRAME_PART_OF_IBSPLIT. r=mats 2014-02-06 17:45:28 -08:00
Cameron McCormack
c8236b6779 Bug 960848 - Part 1: Make nsFrameState an enum and consolidate all frame state bit definitions in a single preprocessed file. r=dbaron 2014-02-05 12:59:39 +11:00
Matt Woodrow
eec83a3058 Bug 946952 - Run a 'compressed' paint up to 1 second after skipping the ColorLayer optimization. r=roc 2014-01-30 18:41:17 +13:00
Timothy Nikkel
be86ba744c Bug 962443. Make layout frame tree dumping code work better for Fennec and b2g. r=mats 2014-01-26 16:07:02 -06:00
Daniel Holbert
c0b5e30210 Bug 961354 part 2: Don't consider absolutely-positioned elements to be flex items, since they don't participate in normal flex layout. r=mats 2014-01-20 14:02:20 -08:00
Cameron McCormack
1206b16424 Bug 960312 - Rename TEXT_IS_IN_SINGLE_CHAR_MI to NS_FRAME_IS_IN_SINGLE_CHAR_MI to make it clear it's global. r=roc 2014-01-16 16:10:09 +11:00
James Kitchener
0e56295460 Bug 442637 - Apply ssty font feature setting to appropriate MathML elements. r=roc
--HG--
rename : layout/generic/MathVariantTextRunFactory.cpp => layout/generic/MathMLTextRunFactory.cpp
rename : layout/generic/MathVariantTextRunFactory.h => layout/generic/MathMLTextRunFactory.h
2014-01-15 09:49:20 -05:00
Cameron McCormack
30c58e646d Bug 959016 - Add lldb Python command handlers for debugging Gecko, starting with frametree and frametreelimited. (DONTBUILD) r=ehsan 2014-01-14 09:24:22 +11:00
Mats Palmgren
0346fbe46a Bug 956447 - Make it possible to get frame dumps in non-DEBUG builds. r=roc 2014-01-05 23:31:14 +00:00
Robert O'Callahan
8e30a75452 Bug 953438 - Change nsIFrame::HasTerminalNewline to HasSignificantTerminalNewline since it doesn't make sense to check for a newline that gets converted to regular whitespace. r=jfkthame 2014-01-02 16:22:12 -05:00
David Zbarsky
2ba3c734ce Bug 952977: Switch GetBBoxContribution to gfx::Matrix r=nical 2013-12-30 01:50:07 -05:00
David Zbarsky
ca9e9d862a Bug 952977: Switch IsSVGTransformed to gfx::Matrix r=nical 2013-12-29 18:35:53 -05:00
Jonathan Kew
afd9fd3b50 bug 735577 - pt 4.1 - use accessor functions for some physical-coordinate fields in nsHTMLReflowMetrics, in preparation for logicalization. r=smontagu 2013-12-27 17:59:52 +00:00
Jonathan Kew
4fba63bd9e bug 735577 - pt 2 - add GetWritingMode() method to nsIFrame. r=smontagu 2013-12-27 17:58:46 +00:00
Robert Longson
abcd22038e Bug 940193 - rename nsSVGTextFrame2 to SVGTextFrame. r=dholbert
--HG--
rename : layout/svg/nsSVGTextFrame2.cpp => layout/svg/SVGTextFrame.cpp
rename : layout/svg/nsSVGTextFrame2.h => layout/svg/SVGTextFrame.h
2013-12-20 16:38:51 +00:00
Jonathan Watt
f8f9233117 Bug 946184 - Make sure that we reframe the nsIAnonymousContentCreator if any nsIAnonymousContentCreator::ContentInfo created content needs reframing. r=bz 2013-12-11 11:41:51 +00:00
Corey Ford
531a3d94ed Bug 916302 - Part 1: Generalize nsLayoutUtils::GetAllInFlowRects to support other types of frame rects beyond border rects. r=dholbert
This adds extra bits for the aFlags parameter to GetAllInFlowRects and GetAllInFlowRectsUnion, removes BoxToRect::GetRectFromFrameFun, and also adds a few more rect-getting methods to nsIFrame.
2013-12-03 11:13:16 -08:00
Cameron McCormack
9078604a69 Bug 945517 - Make nsIFrame::GetPseudoElementContent return Element* instead of nsIContent*. r=bz 2013-12-03 15:49:03 +11:00
Cameron McCormack
dea227dbd9 Bug 944246 - Make getComputedStyle pass in anonymous content when resolving pseudo-element style. r=bz 2013-12-03 10:57:50 +11:00
Robert O'Callahan
a48288acad Bug 931460. Part 1: When a <legend>'s frame is reparented to the <fieldset>, update StickyScrollContainers to match if necessary. r=mats
--HG--
extra : rebase_source : 05a224b4cf49b93c529a476f5c667d91a6e9f3e5
2013-11-23 22:48:26 +13:00
Frédéric Wang
64f2218f41 Bug 415413 - Incorrect widths and heights of MathML with italics in table cells. r=karlt, r=roc 2013-11-25 09:20:20 -05:00
Robert O'Callahan
2e02d90dd4 Bug 876321. Track restyling of top/left/right/bottom and treat such nodes as active scrolled roots. r=mattwoodrow
--HG--
extra : rebase_source : 24e7900efdb476a0533808956b9604d144e4db89
2013-09-09 17:08:41 -07:00
Daniel Holbert
2699bc1b56 Bug 937298 part 2: De-virtualize nsIFrame::GetOffsetFromView, since it only has one implementation. r=mats 2013-11-11 23:57:44 -08:00
Daniel Holbert
956d278394 Bug 937298 part 1: Remove always-NS_OK return value from nsIFrame::GetOffsetFromView. r=mats 2013-11-11 23:57:42 -08:00
Robert O'Callahan
2709003286 Bug 911889. Part 2: Refactor MarkLayersActive code into its own class and be much more explicit about what it does. r=mattwoodrow
This also changes the functionality a little bit to track independent
per-property mutation counts and independent "content active" status.
2013-09-04 23:30:57 +12:00
Phil Ringnalda
98204c9e49 Back out 0a88dee3b92b:dc5cc7d7b84d (bug 911889) for beaucoup unexpected assertions
--HG--
extra : rebase_source : a2a13633b6028c99a3c732dbbafe8c800bc32071
2013-10-28 23:38:02 -07:00
Robert O'Callahan
58a3ced7c4 Bug 911889. Part 2: Refactor MarkLayersActive code into its own class and be much more explicit about what it does. r=mattwoodrow
This also changes the functionality a little bit to track independent
per-property mutation counts and independent "content active" status.

--HG--
extra : rebase_source : e69b8e7a95d36720bd38d74f0789ede603e58a09
2013-09-04 23:30:57 +12:00
Markus Stange
14e4217296 Bug 929362 - When refusing compositor animation during BuildLayer, set a property on the frame that disables all async animations on it forever. r=roc
--HG--
extra : rebase_source : 98c9b690a4842c19314dd46f5e531601b77fe527
2013-10-22 12:30:45 +02:00
Birunthan Mohanathas
967e556c1c Bug 784739 - Switch from NULL to nullptr in layout/; r=ehsan
--HG--
extra : rebase_source : 0d0d9e11be9d39e4457bddd0bac7e19a50b91b0b
2013-10-08 14:47:21 -04:00
Matt Woodrow
47b68f6760 Bug 916034 - Use a similar surface rather than an image surface for the canvas background cache when using azure. r=ajones 2013-10-02 22:12:34 +13:00
Masayuki Nakano
5e5853070a Bug 920377 part.31 Get rid of nsEvent r=roc 2013-10-02 12:46:04 +09:00
Masayuki Nakano
d9fe18d02f Bug 920377 part.30 Get rid of nsGUIEvent r=roc 2013-10-02 12:46:03 +09:00
Matt Woodrow
d188bf5f9a Bug 921910 - Invalidate when we change the frame of an asynchronous ImageContainer that is part of a main-thread layer tree. r=roc 2013-10-02 16:05:49 +13:00
Ehsan Akhgari
2fb9794854 Bug 921753 - Part 1: Avoid #including nsStyleStructInlines.h in nsIFrame.h; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1782 to 1582.
2013-10-01 17:00:38 -04:00
Ehsan Akhgari
0a3a2ee94a Bug 921876 - Stop #including nsIFrame.h in nsLayoutUtils.h; r=roc
This patch does the following:
* Move nsIFrame::IntrinsicSize to mozilla::IntrinsicSize so that it can
  be forward-declared.
* Move a number of templated inline nsLayoutUtils methods to nsIFrame.
* Use mozilla::layout::FrameChildListID instead of the
  nsIFrame::ChildListID typedef in nsLayoutUtils.h.
* Move nsReflowFrameRunnable to its only user, nsProgressMeterFrame.cpp.
* Make a number of functions requiring nsIFrame.h out-of-line.
* Remove the nsIFrame.h #include from nsLayoutUtils.h and add it to the
  places which require it implicitly.
2013-09-30 17:26:04 -04:00
Daniel Holbert
b99490dfd5 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
4198afdd73 Bug 919729 - Remove unnecessary MOZILLA_INTERNAL_API checks from nsIFrame.h. r=bz 2013-09-25 09:48:20 -04:00
Mats Palmgren
5a3cdd8297 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
4d640839e9 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
e485c12c34 (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
52c667104f 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
82f1ea571b Bug 911786 - Part 1: Store computed relative position offsets. r=dholbert 2013-09-10 11:33:59 -07:00
Daniel Holbert
8e7a66d2d6 (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
b3400abc97 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
1362ea1611 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
7f8d74afc9 Bug 908778 - Don't #include nsAlgorithm.h in nsIFrame.h; r=mats 2013-08-23 18:17:19 -04:00
Ehsan Akhgari
35afe61310 Bug 908778 - Don't #include nsStyleStructFwd.h in nsIFrame.h; r=mats 2013-08-23 18:16:59 -04:00
Ehsan Akhgari
9f715b764c Bug 908778 - Don't #include nsRegion.h in nsIFrame.h; r=mats 2013-08-23 18:16:38 -04:00
Ehsan Akhgari
b07c7735a2 Bug 908778 - Don't #include gfxASurface.h in nsIFrame.h; r=mats 2013-08-23 18:16:16 -04:00
Ehsan Akhgari
ff95a5090f Bug 908778 - Don't #include nsIContent.h in nsIFrame.h; r=mats 2013-08-23 18:15:45 -04:00
David Zbarsky
0f565540a1 Bug 903283: Don't include EventTarget.h in headers r=Ms2ger 2013-08-19 06:15:55 -04:00
Jonathan Kew
5ef7fb8ece bug 904555 - clean up use of nsRect APIs in layout. r=roc 2013-08-14 13:27:20 +01:00
Markus Stange
ed4042636b Bug 904541 - Don't #include Layers.h in nsPresContext.h. r=roc 2013-08-14 13:33:03 +02:00
Markus Stange
a8a66130d6 Bug 904539 - Don't #include ImageLoader.h in nsIFrame.h. r=roc 2013-08-14 13:29:11 +02:00
Markus Stange
97605b2c55 Bug 904538 - Don't #include nsITheme.h in nsIWidget.h. r=roc 2013-08-14 13:19:55 +02:00
Trevor Saunders
e59057dee7 bug 659722 - remove _IMPL_NS_LAYOUT r=bz 2013-03-16 00:31:38 -04:00
Corey Ford
b2510f37c3 Bug 898794 - Store normal frame position before applying relative positioning. r=dbaron 2013-08-08 17:20:17 -07:00
Ehsan Akhgari
d8b97b0c48 Bug 902111 - Forward-declare nsIFrame in nsISelectionPrivate.h; r=bzbarsky 2013-08-06 16:19:11 -04:00
Cameron McCormack
45b5388747 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
c857e1a9dd 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
894c1e922c 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
6b307780d7 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
a2790e3b0b 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
88b5d20e12 Bug 700926; reshuffle background image drawing. r=roc
--HG--
extra : rebase_source : 4e4786a75cfdccc47ffa524331792eab3a7a83ea
2013-07-19 20:40:02 +12:00
Cameron McCormack
4d5eacea09 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
04c0595c8f 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
4ba5b4599e 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
70bc12ba64 Bug 842065: Remove no-longer-necessary method nsIFrame::StyleDataExternal(). r=dbaron 2013-05-25 00:21:53 +08:00
Jonathan Watt
bc912d5fdf Bug 874854 - Stop calling SchedulePaint for SVG transform attribute changes. r=longsonr 2013-05-23 08:04:21 +01:00
Mats Palmgren
796a090f34 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
109767f361 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
c7aade5e1f 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
7cbe6380ff 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