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
Cameron McCormack
9cda9d27bf
Bug 856879 - Remove constructor arguments argument from style struct macros. r=dbaron
2013-04-02 12:45:48 +11:00
Boris Zbarsky
f1589419f5
Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert
2013-03-19 21:47:48 -04:00
Matt Woodrow
d791fb399a
Bug 844750 - Don't use per-display-item invalidation for table frames. r=roc
2013-03-08 15:18:45 +13: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
Mats Palmgren
c3df5e54c1
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
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
L. David Baron
e1162bb557
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
f756f736e2
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
5601dc5fa0
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
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
L. David Baron
01a5b0481c
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
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
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
Mats Palmgren
e6c32ddc29
Bug 606642 - Do not remove the [Excess]OverflowContainers properties before destroying its frames. Carefully check after destroying each frame that the property is still alive. r=roc
2013-02-11 03:28:50 +01:00
Jeff Walden
582b2e961d
Bug 835648 - Move typed enum support to a new header. r=Ms2ger
2013-01-28 16:33:17 -08:00
Ryan VanderMeulen
18cfd86d7e
Backed out changeset 3eb633a97c1f (bug 835648) for suspected Windows orange on a CLOSED TREE.
2013-01-29 19:01:45 -05:00
Jeff Walden
129a025dee
Bug 835648 - Move typed enum support to a new header. r=Ms2ger
...
--HG--
extra : rebase_source : 8c912fba889c1c5435e3619714071502fbfb30a3
2013-01-28 16:33:17 -08: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
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
06e395c355
Bug 818643. Issue an NotifyRenderingChanged callback on nsDisplayItems when we invalidate anything to do with the display item. Make nsDisplayCanvasBackground override NotifyRenderingChanged to invalidate the cached background image. r=mattwoodrow
...
--HG--
extra : rebase_source : c28b2804d647a991f7d2cb8167fcf039c1835d75
2012-12-10 18:34:31 +13:00
Matt Woodrow
f14a907820
Bug 815666 - Use OverflowUpdateTracker to avoid calling UpdateOverflow on the same frame multiple times. r=roc
2012-12-10 15:33:04 +13:00
Matt Woodrow
19e409b961
Bug 815666 - Add a helper class to coalesce frames that need their overflow updated. r=roc
2012-12-10 15:32:55 +13:00
Robert O'Callahan
af829db568
Bug 816458. Instead of removing the MAY_BE_TRANSFORMED bit in certain frame classes, add an nsIFrame::SupportsCSSTransforms method and call it when necessary. r=mats
2012-12-04 17:50:05 +13:00
Daniel Holbert
bdad1e8b01
Bug 813358 part 1: Remove unnecessary nsBoxLayoutState argument from various XUL frame-sorting-related methods. r=dbaron
2012-11-30 15:25:32 -08:00
Robert O'Callahan
75b3d3cf88
Bug 815030. Invalidate cached background images in when a frame gets a visual style change. r=mattwoodrow
...
--HG--
extra : rebase_source : eef4784ea2d4ef0f88d6dfdbf3258d1b8416f443
2012-11-27 22:05:10 +13:00
Robert O'Callahan
e8d8fdb494
Bug 810470. Part 2: Change nsDisplayBackground invalidation to store and compare the background positioning rect. r=mattwoodrow
...
--HG--
extra : rebase_source : c9141ba46d034fc496a3e9e33efce5b022bec41c
2012-11-08 10:05:32 -05:00
Ehsan Akhgari
303a79fb7c
Bug 810355 - Convert nsDidReflowStatus into an enum class; r=dholbert
2012-11-13 22:47:33 -08:00
Daniel Holbert
e8e1e0774c
Bug 806002: Convert nsDidReflowStatus into an enum. r=dbaron
2012-11-08 17:27:48 -08:00
Matt Woodrow
ef3978c9e9
Bug 807563 - Update the overflow areas of all preserve-3d children when the transform changes. r=roc
2012-11-05 12:12:05 +13:00
Mats Palmgren
cffb2e72e9
Bug 806056 - Add a frame bit that says if a frame is allowed to have abs/fixed pos. children when the style so indicates (position/transform usually). Copy the bit to next-in-flows. Don't call MarkAsAbsoluteContainingBlock for style changes on an existing frame unless that bit is set (style changes that recreates the frame resets it of course). Assert in MarkAs[Not]AbsoluteContainingBlock() that the bit is set. r=bz
2012-11-02 01:52:59 +01:00
Matt Woodrow
4d1760e067
Bug 806256 - Only recompute preserve-3d/perspective children overflow areas if the frame size changed. r=roc
2012-11-01 14:25:45 +13:00
Matt Woodrow
b631e0b634
Bug 806256 - Don't invalidate frames when the overflow area changes, DLBI will handle it. r=roc
2012-11-01 14:25:44 +13:00
Robert O'Callahan
c23292286b
Bug 804323. Mark newly-transformed frames as abs-pos containers (or not). r=bzbarsky
2012-10-26 22:11:24 +13:00
Ryan VanderMeulen
3150bb83c2
Backout 1ebc3b1b8feb, 205c1c846d70 (bug 801488), and e4367fd2043f (bug 804323) due to b-c crashes.
2012-10-25 07:53:36 -04:00
Robert O'Callahan
ea16f5ba48
Bug 804323. Mark newly-transformed frames as abs-pos containers (or not). r=bzbarsky
2012-10-25 00:35:29 +13:00
Robert O'Callahan
62de45cba6
Bug 703241. PresShell::DoScrollContentIntoView and PresShell::ScrollFrameRectIntoView should take transforms into account. r=matspal
...
--HG--
extra : rebase_source : e1a16f9a19e78ea71044ee78af9fdbf00ec48c0b
2012-06-22 17:06:49 +12:00
Trevor Saunders
b51bb304d8
bug 542039 - accessible object types r=surkov, roc
2012-09-28 17:53:44 -04:00
Matt Woodrow
479663fd71
Bug 797295 - Add support for the layer attribute to nsImageBoxFrame. r=roc
2012-10-11 18:44:59 +13:00
Chris Jones
ca55cb45de
Bug 790505, part 4: If we're just updating the transform of a prerendered layer, then schedule an empty transaction to skip unnecessary display-list overhead. r=mattwoodrow,roc
2012-10-02 22:55:52 -07:00
Chris Jones
cac4904e11
Bug 790505, part 2: Add a GetLayerTransformForFrame() helper for computing a frame's layer transform outside a proper transaction, and mark frames that have been fully prerendered. r=roc
2012-10-02 22:55:50 -07:00
Chris Jones
17867c12a8
Back out bug 790505 for leaking
2012-10-03 00:21:08 -07:00
Chris Jones
4f1e40ca75
Bug 790505, part 4: If we're just updating the transform of a prerendered layer, then schedule an empty transaction to skip unnecessary display-list overhead. r=roc
2012-10-02 22:55:52 -07:00
Chris Jones
7180e78526
Bug 790505, part 3: Add a GetLayerTransformForFrame() helper for computing a frame's layer transform outside a proper transaction, and mark frames that have been fully prerendered. r=roc
2012-10-02 22:55:50 -07:00
Matt Woodrow
543dfebcda
Bug 795796 - Fix empty transactions. r=cjones
2012-10-01 17:29:02 +13:00
Daniel Holbert
3544930bb5
Bug 666041 patch 6.5: Add flag to nsHTMLReflowState & ComputeSize for measuring auto height. r=dbaron
2012-09-29 23:38:46 -07:00
Isaac Aggrey
997db4d142
Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan
2012-09-28 01:57:33 -05:00
Matt Woodrow
bc48b0711b
Bug 539356 - Avoid some causes of unnecessary painting. r=roc
2012-09-26 11:59:56 +12:00
Matt Woodrow
1572061ab5
Bug 539356 - Make the table code use rect invalidation to avoid over invalidation. r=roc
2012-08-29 17:48:45 +12:00
Matt Woodrow
5f32437ca2
Bug 539356 - Add an option for frames to invalid just a rect instead of the frame bounds. r=roc
2012-08-29 17:48:45 +12:00
Robert O'Callahan
0cff39f9ec
Bug 770058. InvalidateFrame doesn't need flags, we can just avoid calling ScheduleRepaint if we find any ancestor frame with a descendant that needs invalidation. r=mattwoodrow
2012-08-29 17:48:44 +12:00
Matt Woodrow
e084d5ff7f
Bug 539356 - Part 18 - Mark frames with only invalid children as an optimization to use when invalidating further frames. r=roc
2012-08-29 17:48:43 +12:00
Matt Woodrow
dd03a20c68
Bug 539356 - Part 11 - Reimplement empty transactions. r=roc
2012-08-29 17:48:15 +12:00
Matt Woodrow
5a14809d04
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
2012-08-29 17:47:18 +12:00
Matt Woodrow
4e75c1edde
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
...
* * *
imported patch move-by-correctly
2012-08-29 17:47:15 +12:00
Matt Woodrow
958ce7d98d
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
2012-08-29 17:39:31 +12:00
Matt Woodrow
f4205ce848
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
2012-08-29 17:39:01 +12:00
Ed Morley
c863356300
Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE
2012-09-27 16:34:46 +01:00
Matt Woodrow
696b0ccb7c
Bug 539356 - Avoid some causes of unnecessary painting. r=roc
2012-09-26 11:59:56 +12:00
Matt Woodrow
e3ab671352
Bug 539356 - Make the table code use rect invalidation to avoid over invalidation. r=roc
2012-08-29 17:48:45 +12:00
Matt Woodrow
7d7084a2d1
Bug 539356 - Add an option for frames to invalid just a rect instead of the frame bounds. r=roc
2012-08-29 17:48:45 +12:00
Robert O'Callahan
797525b693
Bug 770058. InvalidateFrame doesn't need flags, we can just avoid calling ScheduleRepaint if we find any ancestor frame with a descendant that needs invalidation. r=mattwoodrow
2012-08-29 17:48:44 +12:00
Matt Woodrow
93948cb5d1
Bug 539356 - Part 18 - Mark frames with only invalid children as an optimization to use when invalidating further frames. r=roc
2012-08-29 17:48:43 +12:00
Matt Woodrow
8acde25c22
Bug 539356 - Part 11 - Reimplement empty transactions. r=roc
2012-08-29 17:48:15 +12:00
Matt Woodrow
c73c0db2f1
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-08-29 17:38:58 +12:00
Chris Lord
8a10cc33bd
Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
...
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 15:36:35 +01:00
Chris Lord
0e8485ff4d
Backout bug 788202 for build failures.
2012-09-19 14:05:26 +01:00
Chris Lord
ca82e0a1a5
Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
...
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 12:39:53 +01:00
Mats Palmgren
7ff0d581c5
Bug 765621 - Drain the parent frame's overflow list before attempting to insert/append new child frames. r=bz
2012-09-18 01:05:05 +02:00
Matt Woodrow
77745de1bf
Bug 788044 - Make various functions take const parameters. r=roc
2012-09-13 12:32:53 +12:00
Daniel Holbert
5f943d14e5
Bug 666041 patch 5: Use flex-basis in place of main-size property, when computing the main size of a flex item. r=dbaron
2012-09-05 14:13:37 -07:00
Ehsan Akhgari
89cd886155
Bug 785720 - Move the MathML token frame leading/trailing whitespace trimming logic to nsTextFrame; r=roc
2012-08-30 21:32:02 -04:00
Jonathan Watt
38a0ba3182
Bug 786387 - Add comments to document the subtleties of nsFrame::Reflow and better document the main dirty frame bits. r=bz.
2012-08-29 09:01:09 +01:00
Ehsan Akhgari
0fd9123eac
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Jonathan Kew
0f3953fc35
bug 769303 - precompute intrinsic width of floats. r=roc
2012-08-10 12:16:52 +01:00
Ms2ger
3f950b5744
Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg
2012-08-09 09:09:40 +02:00
David Zbarsky
72cd4190b0
[Bug 780439] Kill off the remains of nsIBox r=roc
2012-08-05 23:00:57 -04:00
David Zbarsky
d50e4a7565
[Bug 780428] Don't include nsIFrame.h in places where it's not necessary r=roc
2012-08-05 23:00:56 -04:00
Cameron McCormack
c819a0d0ac
Bug 655877 - Part 16: Treat all values of display other than 'none' as 'inline' in SVG text frames. r=roc
2012-08-02 21:38:51 +10:00
Cameron McCormack
ba7efb66ff
Bug 655877 - Part 15: Don't treat SVG text frames as being positioned. r=roc
2012-08-02 21:38:50 +10:00
Cameron McCormack
f41c8a5fe8
Bug 655877 - Part 14: Ignore float in SVG text frames. r=roc
2012-08-02 21:38:49 +10:00
Cameron McCormack
e8c382e651
Bug 655877 - Part 11: Ignore vertical-align and map dominant-baseline to vertical-align in SVG text frames. r=roc
2012-08-02 21:38:48 +10:00
Cameron McCormack
9e9a90293b
Bug 655877 - Part 7: Add IsSVGText helper function to nsIFrame. r=roc
2012-08-02 21:38:46 +10:00
Cameron McCormack
1070e55b13
Bug 655877 - Part 3: Add a frame state bit and anonymous box pseudo for SVG text frames. r=roc
2012-08-02 21:38:46 +10:00
David Zbarsky
f386a1e940
Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron
2012-07-31 10:28:21 -07:00
Mark Finkle
70a01196ec
Backout 169ff207ed19, a34baed70c1b, f9ccdd490bd7, 39550ed860e6, 2194a2dd66b2, 908eb2e26843, a76e0a267f26 due to mobile viewport bustage (bug 778580)
2012-07-30 14:36:12 -04:00
Aryeh Gregor
e806eeab4f
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
David Zbarsky
5a900008c4
Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron
2012-07-27 13:23:44 -07:00
Ed Morley
be8bf4beae
Backout 1244b8a8e57a (bug 755084), 32d16d0f87c9 (bug 706179), 8548e016d4a9 (bug 768440), 697f5b87eae9 (bug 768440), 808fc2bd4e8c (bug 755084), 54b1484cd125 (bug 755084), 876726b632c0 (bug 706179) for xul android R3 failures
2012-07-25 16:37:04 +01:00