Commit Graph

786 Commits

Author SHA1 Message Date
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
Masatoshi Kimura
761bf787f0 Bug 859018 - Remove the MSVC exemption for FAIL_ON_WARNINGS in layout. r=dbaron 2013-04-28 19:02:35 +09:00
Aryeh Gregor
659b807986 Bug 859817 - Remove implicit conversions from raw pointer to already_AddRefed; r=Ms2ger 2013-04-22 14:15:59 +03:00
Robert O'Callahan
2817c39fd2 Bug 862180. Part 2: Rename nsDisplayItem::GetUnderlyingFrame() to Frame(). r=mattwoodrow 2013-04-20 00:02:13 +12:00
Robert O'Callahan
037af48e84 Bug 862180. Part 1: Remove null checks on the result of nsDisplayItem::GetUnderlyingFrame(). r=mattwoodrow 2013-04-20 00:01:41 +12:00
Chris Lord
d70ef10427 Bug 856932 - Fix fixed margins on position:fixed hierarchies. r=roc
Make sure that fixed margins aren't applied to auto-positioned frames, unless
their containing block is the primary frame of the body element.
2013-04-15 09:31:45 +01:00
Matt Woodrow
c588729b56 Bug 859526 - Null check parent frames when wrapping preserve-3d display lists. r=roc 2013-04-15 18:55:34 +12:00
Matt Woodrow
474260c7f1 Bug 857817 - Make AreLayerMarkedActive aware of preserve-3d transformed frames. r=roc 2013-04-15 18:55:29 +12: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
Daniel Holbert
5018dfdf96 Bug 851379, part 4: Fix InitOffsets logging code to display horizontal and vertical percent basis, instead of just a containing block width. r=mats 2013-04-11 07:51:58 -07:00
Cameron McCormack
d8dfb08d58 Bug 848973 - Make nsStyleDisplay::IsBlockInside() and friends work only on style structs for the passed in frame and document them. r=roc
--HG--
extra : rebase_source : a8559b62124bec058f2857d50cf7f65f176c3727
2013-04-07 09:40:07 +10:00
Robert O'Callahan
bf594d63fa Bug 841192. Part 16: Take plugin's own clipping into account when computing the region for its window. Make SortByContentOrder handle cases where display items in the same list come from different documents. r=mattwoodrow
--HG--
extra : rebase_source : f39deb6250c7aef71d6cd3a62df43785a3bfc7b1
2013-04-05 21:30:34 +13:00
Robert O'Callahan
68e0be54fa Bug 841192. Part 15: Move DisplayListClipState clipping methods to AutoSaveRestore and AutoClipMultiple helper classes for safer usage. r=mattwoodrow
--HG--
extra : rebase_source : aa674d4fa93f1b7c2b4dd84ba8d888cc9f289265
2013-04-05 00:36:45 +13: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
Robert O'Callahan
62aa179c29 Bug 841192. Part 13: Rename nsFrame::ApplyOverflowClipping to ShouldApplyOverflowClipping. r=mattwoodrow
We rename nsFrame::ApplyOverflowClipping to nsFrame::ShouldApplyOverflowClipping
to reflect the fact that it doesn't cause any clipping.

--HG--
extra : rebase_source : d3bd1ef902276526b37b27c510a8d3a9db6416dc
2013-03-07 00:08:16 +13:00
Robert O'Callahan
96f57a5820 Bug 841192. Part 8: On encountering out-of-flow frames during display list construction, save their clip rect as well as their dirty rect for later use when we traverse the placeholder. r=mattwoodrow
--HG--
extra : rebase_source : 3a41e2eb4940f1ae7c0748f27211a7d0cf7ad638
2013-03-04 22:56:02 +13:00
Robert O'Callahan
4cfae34412 Bug 841192. Part 7: Move child->MarkAbsoluteFramesForDisplayList call down. r=mattwoodrow
--HG--
extra : rebase_source : 5d558cfe2850ece79fedc27cd5b6a6d4bf6f7cb3
2013-03-04 22:56:01 +13:00
Daniel Holbert
b4e66452e3 Bug 848539 part 5: Back out 6bb37077d615, bug 763689 part 2 (style-system handling for min-width:auto). r=dbaron 2013-03-27 23:33:19 -07:00
Phil Ringnalda
bad5ef10f3 Back out c04824522d46 (bug 848973) for (at least) 10.8 and Android reftest failures
CLOSED TREE
2013-03-26 23:31:57 -07:00
Cameron McCormack
3b054d3f86 Bug 848973 - Document what aFrame means in nsStyleDisplay::IsBlockInside() and friends. r=roc 2013-03-27 15:49:56 +11:00
Cameron McCormack
35661a5229 Bug 842142 - Prevent odd text wrapping in SVG text. r=roc 2013-03-25 14:50:59 +11:00
Robert O'Callahan
b916edc330 Bug 846901 - Skip nsDisplayWrapList construction if there's only one item to wrap and it already has the right frame. r=mattwoodrow 2013-03-19 09:08:28 -04:00
Boris Zbarsky
f1589419f5 Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
Ed Morley
64d5e46eeb Backed out changeset 00280175733e (bug 846901) for crashes; CLOSED TREE 2013-03-19 14:15:55 +00:00
Robert O'Callahan
eb45e73abf Bug 846901 - Skip nsDisplayWrapList construction if there's only one item to wrap and it already has the right frame. r=mattwoodrow 2013-03-19 09:08:28 -04:00
Robert Longson
a760e89e0a Bug 848252 - Replace NS_FRAME_IS_SVG_TEXT checks with IsSVGText(). r=dholbert 2013-03-07 09:01:52 +00:00
Timothy Nikkel
691630a38a Bug 846888. Part 2. List control frames are only display roots for popups when they are in dropdown state, so use the IsPopup function in nsLayoutUtils to determine that when setting popup state bits on frames. r=mats 2013-03-04 13:49:39 -06:00
Timothy Nikkel
3184db306f 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
Scott Johnson
f76958a4ca Bug 724978: Make nsColumnSetFrame handle absolutely positioned children without crashing. [p=ehsan, r=fantasai] 2013-02-28 19:56:48 -08:00
L. David Baron
1162fa289b 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
822b2ca3bc 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
Robert O'Callahan
d9665619b9 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
Robert O'Callahan
59dfd955a1 Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : 50a3d6809ef76a25a3d02d91f2873d9ba11fdc56
2013-02-15 00:08:08 +13:00
L. David Baron
5464b49cb0 Bug 841789, patch 2: Fix callers that are going through the style context to get style structs rather than using the nsIFrame shortcuts. r=dholbert
This is just a code simplification that I noticed while reading through
patch 1.
2013-02-15 21:38:34 -08:00
L. David Baron
63fdfec174 Bug 841789, patch 1: Rename nsIFrame::GetStyleContext() to nsIFrame::StyleContext() 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".
2013-02-15 21:38:33 -08:00
Trevor Saunders
ef3a9cb704 bug 841430 - nuke nsIEditorDocShell r=bz 2013-02-13 17:39:30 -05:00
Cameron McCormack
56456cb814 Bug 840041 - Handle all possible dominant-baseline values when mapping internally to a vertical-align value for SVG text. r=roc
--HG--
extra : rebase_source : e5cc5996297e85a544a37b7a17e3be80e87d2489
2013-02-12 10:32:48 +11:00
Cameron McCormack
8e315018d4 Bug 655877 - Part 41b: Make SVG text selectable with the mouse. r=roc,jwatt 2013-02-11 17:22:18 +11:00
Chris Peterson
eab3c189d8 Bug 816298 - Part 1: Allow child elements to override -moz-user-select:none. r=ehsan
--HG--
extra : rebase_source : f4e08713be0691c25b22510977c978088655ec8b
2013-01-08 16:33:17 -08:00
Masayuki Nakano
12e37ff264 Bug 832120 cursor: auto; should be cursor: text; on editable element r=dbaron 2013-01-23 23:36:48 +09:00
Mats Palmgren
6c53161814 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Robert O'Callahan
85884b1a4b Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : d00947c925b17f860fcdc0e12b1ec3cc31b7c630
2013-01-05 16:12:24 +13:00
Phil Ringnalda
408fbe5931 Back out 5e76dfb1d426 (bug 826635) and 0df74b1a4543:20df426b6111 (bug 826632) for bustage
CLOSED TREE
2013-01-04 21:30:14 -08:00
Robert O'Callahan
b56cdd701e Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : 85587555e1f202809cd39fe899570644e6ca4eb3
2013-01-05 16:12:24 +13:00
Robert O'Callahan
f9b9491b81 Bug 825866. Part 8: Mass-rename of nsIView to nsView. r=tnikkel
This was autogenerated by basically replacing all occurrences of the word "nsIView" with nsView.

--HG--
rename : view/public/nsIView.h => view/public/nsView.h
2013-01-04 02:23:11 +13:00
Robert O'Callahan
d4874041bb Bug 816359. Part 2: Make nsStyleDisplay::HasTransform take a frame parameter and check that the frame supports transforms. r=mats" 2012-12-31 11:45:57 +13:00
Robert O'Callahan
d610e1e879 Bug 808466. When invalidating a popup frame stop there because popup frames are display roots, don't look at the parent frame's needs paint bits as they are not relevant to the popup frame. r=tnikkel 2012-12-27 14:06:46 -06:00
Shih-Chiang Chien
9c778509e9 Bug 814252 - Should not process HandleDrag for touch event. r=smaug 2012-12-23 22:08:15 -05:00
Jeff Walden
7146c23e80 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Trevor Saunders
cdabdac86e bug 781409 - remove nsITableLayout r=roc,davidb 2012-08-08 09:05:17 -04:00