Commit Graph

74 Commits

Author SHA1 Message Date
Nathan Froyd
df08b6c5cc Bug 674922 - report on most common objects allocated in a PresShell's arena; r=roc,njn 2012-06-06 13:35:40 -04:00
Ehsan Akhgari
5682d40581 Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron
This patch adds a change hint to signal that one of the offsets on a
frame has been changed.  When processing the hint, we do one of the
following things based on the position property of the frame.

* For static frames, we ignore the offset changes completely, as they
  will not change the layout.
* For relative positioned frames, this patch refactors the
  nsHTMLReflowState::ComputeRelativeOffsets function so that it can be
  used from other callers, and it uses that to compute the new relative
  offsets, and uses the offsets computed previously to compute the new
  position of the frame.
* For absolute positioned frames, we set up a fake parent reflow state
  object, and then we create a new reflow state object for the frame in
  question.  This setup is similar to what nsFrame::BoxReflow does.
  Once we have the new reflow state object, we use it to compute the
  absolute offsets, and then we use the computed offsets to set the new
  position of the frame.  The offset computation is similar to what
  nsAbsoluteContainingBlock::ReflowAbsoluteFrame does.  In some cases
  where it is possible for the dimensions of the frame to change based
  on the offset changes, we fall back to a full reflow.
2012-06-06 00:53:48 -04:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Zack Weinberg
15a9a210d0 Bug 729142 - Convert layout/style to MOZ_STATIC_ASSERT. r=dbaron 2012-02-23 08:19:00 -08:00
Mats Palmgren
3851b75d5a Backout Part 4 of bug 524925 (73eaf1199ff0). r=roc 2012-02-07 12:31:37 +01:00
Mats Palmgren
07bc44b28c Bug 524925 - Make outline style changes update the overflow and repaint instead of reflow. part=4/6 r=roc 2012-01-18 21:04:51 +01:00
Benjamin Stover
0a52de4032 Bug 524925 - Recompute overflow without reflowing for transforms. part=1/6 r=dbaron
Add an extra change hint, UpdateOverflow, that can be used to specify that
a frame's overflow areas may have changed and that they need to be recalculated.
When a transform on a frame changes, instead of marking it for reflow, set this
hint instead.

There is an added virtual function on nsIFrame, UpdateOverflow, which is called
recursively on a frame when the corresponding hint is set, to allow it to
update its overflow areas.
2011-06-15 14:03:49 -07:00
Boris Zbarsky
2a022d4e34 Bug 608756. Cache display structs in the ruletree even for floated and positioned elements. r=dbaron
The basic idea is that mOriginalDisplay and mOriginalFloats are kept synchronized with mDisplay and mFloats unless the latter are changed due to position:absolute/fixed (for both) or float:left/right (for display).  When initializing an nsStyleDisplay from a start struct, we restore the values from mOriginalDisplay/Floats to get correct behavior.
2011-10-29 03:04:20 -04:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Mounir Lamouri
2e36860cd7 Bug 633209 - Add ::-moz-progress-bar to access the anonymous div inside the progress element. r=dbaron
--HG--
rename : layout/reftests/forms/progress/margin-padding-ref.html => layout/reftests/forms/progress/margin-padding-rtl-ref.html
rename : layout/reftests/forms/progress/margin-padding.html => layout/reftests/forms/progress/margin-padding-rtl.html
2011-05-06 11:52:05 +02:00
Shawn Wilsher
259bae0699 Back out bug 514437, bug 567872, bug 568825, bug 633209, bug 633913, bug 634086, bug 634088, bug 634549, bug 634551, bug 638176, bug 641517, bug 641905, bug 641942, bug 642127, and bug 642667 to undo the performance regression tracked by bug 655860. 2011-05-09 15:48:39 -07:00
Mounir Lamouri
90e8e686e0 Bug 633209 - Add ::-moz-progress-bar to access the anonymous div inside the progress element. r=dbaron
--HG--
rename : layout/reftests/forms/progress/margin-padding-ref.html => layout/reftests/forms/progress/margin-padding-rtl-ref.html
rename : layout/reftests/forms/progress/margin-padding.html => layout/reftests/forms/progress/margin-padding-rtl.html
2011-05-06 11:52:05 +02:00
Masayuki Nakano
cc0623b6e3 Bug 647421 -moz-text-decoration-color and -moz-text-decoration-style should be reset by text-decoration r=dbaron, sr=bzbarsky 2011-04-23 14:16:41 +09:00
Masayuki Nakano
264109812b Bug 59109 Part 1: Adding -moz-text-decoration-color and -moz-text-decoration-style r=dbaron, sr=bzbarsky 2011-03-31 21:26:35 +09:00
L. David Baron
a16e79db9e Make nsCachedStyleData store arrays of nsStyleStruct*, and use style struct IDs for faster access to those arrays. (Bug 639231, patch 3) r=bzbarsky 2011-03-17 20:14:32 -07:00
Markus Stange
3df2a2ce8e Bug 506826 - Parsing for background-image: -moz-element(#elementID). r=dbaron 2010-08-13 15:33:37 +02:00
Matt Woodrow
a580694478 Bug 505115. Use layers to render active 2D transforms. r=roc,dbaron 2010-08-02 15:07:04 +12:00
Robert O'Callahan
1917c1d836 Bug 564991. Part 13: Optimize invalidation to avoid repainting ThebesLayer contents sometimes. r=mats,sr=dbaron 2010-07-16 09:07:53 +12:00
L. David Baron
f66de32fe0 Add nsStyleContext::Alloc for allocations scoped to the lifetime of the style context. (Bug 363249) r=bzbarsky 2010-07-02 21:18:55 -07:00
Jesse Ruderman
f04ef428cb Remove stray line breaks from NS_ERROR messages, since they interfere with log processing. rs=jst
--HG--
extra : rebase_source : 87421691da969e0ebe5fbfbc44cd8f18617d1351
2010-06-17 13:28:38 -07:00
Timothy Nikkel
19b8662309 Bug 559491. If a visited style context has no parent then add it to the list of roots. r=dbaron 2010-04-29 20:15:44 -05:00
L. David Baron
1a2961ba01 Avoid showing black when the if-visited style is transparent and the unvisited style is a color. (Bug 557584) r=bzbarsky 2010-04-06 15:32:52 -07:00
L. David Baron
1e8873bdf4 Make style contexts know if they are the if-visited style. (Bug 557287) r=bzbarsky 2010-04-06 12:42:41 -07:00
L. David Baron
7716822c2c Make nsStyleContext::FindChildWithRules deal with the visited style context. (Bug 147777) r=bzbarsky 2010-04-02 18:58:26 -07:00
L. David Baron
f64f440371 Use the appropriate color based on visitedness for the color or fallback color parts of 'fill' and 'stroke'. (Bug 147777) r=jwatt 2010-04-02 18:58:26 -07:00
L. David Baron
961c31082c Add function to nsStyleUtil for choosing the appropriate color from style data based on link visitedness. (Bug 147777) r=bzbarsky 2010-04-02 18:58:25 -07:00
L. David Baron
4f2f50bd5a Add mechanism for separate style data for visited style. (Bug 147777) r=bzbarsky 2010-04-02 18:58:25 -07:00
Craig Topper
c3fc5fa456 Bug 554253 - Convert nsCOMPtr<nsPresContext> to nsRefPtr<nsPresContext>. r=roc
--HG--
extra : rebase_source : d828daca07188864d055f3d1a72f5217632eb358
2010-03-25 14:17:11 +01:00
Boris Zbarsky
abae116f82 Bug 527977 part 3. Change the style context cached struct storage; inline GetStyle* and PeekStyle* now that they're pretty dead-simple. r=zwol, sr=dbaron 2010-03-02 18:27:21 -05:00
Robert Longson
819b6997d7 Bug 523576 - Fix compilation with disable-svg. r=dbaron 2009-12-12 19:43:34 +00:00
Boris Zbarsky
99027aa785 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-11 02:37:40 -05:00
Boris Zbarsky
e9f228c7d5 Backing out bug 525608 and bug 525952 2009-12-10 18:28:08 -08:00
Boris Zbarsky
0a82b262db Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-10 14:36:05 -08:00
Boris Zbarsky
6fe6998aa1 Bug 528038. Make sure to propagate inherited changes properly for cases where the change hint doesn't apply to all descendants. r=dbaron 2009-11-18 08:25:02 -05:00
Boris Zbarsky
dd0fc89b33 Bug 514773. Don't trigger rulenode gc unless we have rulenodes to gc. r=dbaron 2009-09-24 13:59:43 -04:00
L. David Baron
debaa63092 Make style contexts know whether they have data from a pseudo-element. (Bug 505515, Bug 435441) r=bzbarsky 2009-08-10 15:52:29 -07:00
Boris Zbarsky
8beca21b20 Bug 509156. Don't assert on GetUniqueStyleData calls if we're using our parent's struct before the call. r=dbaron 2009-08-10 10:54:21 -04:00
Boris Zbarsky
47a8214709 Bug 508919. Stop leaking nsStyleBorder objects. r=dbaron 2009-08-07 10:38:44 -04:00
Daniel Holbert
5d0d5bb89c Bug 507695: Remove unneeded #includes from nsStyleContext.cpp. r=dbaron 2009-08-02 15:32:06 -07:00
Robert O'Callahan
b345a70a9e Bug 495385. Text frames adjacent to block boundaries that contain only collapsible whitespace cannot affect layout, so don't create them. r+sr=bzbarsky
--HG--
extra : rebase_source : 2cd0b9d4bdfb47d8757efe0ca9983cbbcfca423c
2009-06-13 21:16:34 +12:00
Robert O'Callahan
338a814be0 Backed out changeset 69c6dbdfd179 2009-06-14 00:18:06 +12:00
Robert O'Callahan
9ffe56c833 Bug 495385. Text frames adjacent to block boundaries that contain only collapsible whitespace cannot affect layout, so don't create them. r+sr=bzbarsky
--HG--
extra : rebase_source : 544ae2157803cf075a50d2a451c6179525ebbc36
2009-06-13 21:16:34 +12:00
L. David Baron
5fe09edd17 Remove nsStyleContext::DumpRegressionData, code that uses it, and code that exists only for it. (Bug 477522) r+sr=bzbarsky 2009-02-09 20:36:54 -08:00
L. David Baron
452186214b Keep old rule trees around until they are no longer referenced. (Bug 475128) r+sr=bzbarsky 2009-01-29 20:39:23 -08:00
L. David Baron
e0a76520f3 Backed out changeset 24917a339f2e (bug 475128) because it didn't patch the IsRoot check nsRuleNode::Sweep, which it needs to. 2009-01-29 14:36:34 -08:00
L. David Baron
6fd6f6ba0f Keep old rule trees around until they are no longer referenced. (Bug 475128) r+sr=bzbarsky 2009-01-29 12:39:19 -08:00
L. David Baron
03a5098541 Remove nsStyleContext::Equals, since it is unused. (Bug 474675) r+sr=bzbarsky 2009-01-22 17:28:14 -08:00
L. David Baron
ae2d624d95 Add assertions to EndReconstruct that all style contexts have been reresolved. (Bug 473871) r+sr=bzbarsky 2009-01-16 13:32:09 -08:00
L. David Baron
8458c5b6b6 Make 'word-spacing: normal' just compute to '0', since that's what CSS 2.1 says to do, and thus change nsStyleText::mWordSpacing from nsStyleCoord to nscoord. (Bug 470705) r+sr=roc 2008-12-27 20:58:14 -05:00