Jacek Szpot
bea8356b2c
Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan
2012-10-26 15:32:10 +02:00
Andrew Quartey
6eb0ddf707
Bug 792581 - part 22: Replace LL_ZERO and LL_Zero() macros with 0. r=ehsan
2012-10-25 19:25:59 -04:00
Trevor Saunders
31db47e358
bug 542039 - accessible object types r=surkov, roc
2012-09-28 17:53:44 -04:00
Robert O'Callahan
94b052ee0c
Bug 786740. When destroying all the frames in a line list, keep the line list and frame list valid at each step in case someone tries to walk the frame tree during frame destruction. r=mats
...
--HG--
extra : rebase_source : 7045daffc35fdaca02a74caa52a93a270c94cf74
2012-10-15 14:34:23 +13:00
Andrew Quartey
b50ced0c60
Bug 792581 - part 19: Replace LL_I2L macro with int64_t cast. r=ehsan
2012-10-12 13:29:11 -04:00
David Zbarsky
d70685476e
[Bug 799407] Fix build warnings in layout r=roc
2012-10-10 01:00:05 -04:00
Andrew Quartey
52003ca06d
Bug 792581 - part 12: Replace LL_DIV with division operator. r=ehsan
2012-10-05 01:05:28 -04:00
Andrew Quartey
1839819e70
Bug 792581 - part 10: Replace LL_SUB macro with mathematical minus operator. r=ehsan
2012-10-05 01:05:27 -04:00
Kyle Huey
1ccfbe810b
Bug 760331: Coalesce data for inline style across nodes. r=bz
...
This patch enables sharing of an nsAttrValue's MiscContainer between nodes for style rules. MiscContainers of type eCSSStyleRule are now refcounted (with some clever struct packing to ensure that the amount of memory allocated for MiscContainer remains unchanged on 32 and 64 bit). This infrastructure can be used to share most MiscContainer types in the future if we find advantages to sharing other types than just eCSSStyleRuley. A cache mapping strings to MiscContainers has been added to nsHTMLCSSStyleSheet. MiscContainers can be shared between nsAttrValues when one nsAttrValue is SetTo another nsAttrValue or when there is a cache hit in this cache. This patch also adds the ability to tell a style rule that it belongs to an nsHTMLCSSStyleSheet, with appropriate accessor functions to separate that from the existing case of belonging to an nsCSSStyleSheet.
The primary use case is to reduce memory use for pages that have lots of inline style attributes with the same value. This can happen easily with large pages that are automatically generated. An (admittedly pathological) testcase in Bug 686975 sees over 250 MB of memory savings with this change. Reusing the same MiscContainer for multiple nodes saves the overhead of maintaining separate copies of the string containing the serialized value of the style attribute and of creating separate style rules for each node. Eliminating duplicate style rules enables further savings in layout through style context sharing. The testcase sees the amount of memory used by style contexts go from over 250 MB to 10 KB.
Because the cache is based on the text value of the style attribute, it will not handle attributes that have different text values but are parsed into identical style rules. We also do not attempt to share MiscContainers when the node's base URI differs from the document URI. The effect of these limitations is expected to be low.
2012-09-30 09:40:24 -07:00
Isaac Aggrey
0cc4b12d36
Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan
2012-09-28 01:57:33 -05:00
Matt Woodrow
1d675c61d6
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
2012-08-29 17:39:31 +12:00
Ed Morley
5a3b322459
Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE
2012-09-27 16:34:46 +01:00
Matt Woodrow
49d4c24594
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-08-29 17:38:58 +12:00
Chris Lord
2e05174430
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
47481277ba
Backout bug 788202 for build failures.
2012-09-19 14:05:26 +01:00
Chris Lord
2e7ad14aa1
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
7d2088c451
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
Boris Zbarsky
3de0423419
Bug 601912. Implement <ol reversed>. r=dholbert
2012-09-07 22:30:24 -04:00
Ehsan Akhgari
8c296bbcd4
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
Aryeh Gregor
982100775b
Bug 780618 - Move all error codes to nsError.h; r=ehsan
2012-07-27 17:03:27 +03:00
Ms2ger
331accfcb4
Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg
2012-08-09 09:09:40 +02:00
Cameron McCormack
45a49ac210
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
d63a0ddfaa
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
b71d455883
Bug 655877 - Part 14: Ignore float in SVG text frames. r=roc
2012-08-02 21:38:49 +10:00
Cameron McCormack
cb8de5f3d3
Bug 655877 - Part 13: Make :first-letter apply to <svg:text>. r=roc
2012-08-02 21:38:48 +10:00
Cameron McCormack
e3b6613c2b
Bug 655877 - Part 10: Ignore text-align and text-align-end in SVG text frames. r=roc
2012-08-02 21:38:47 +10:00
Aryeh Gregor
57c0ad57fb
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Daniel Holbert
ded3bb4480
Bug 748646 patch 2: Remove no-longer-needed parameter aLists from a few TextOverflow functions. r=mats
2012-07-22 23:08:24 -07:00
Daniel Holbert
c1ac05c6c5
Bug 748646 patch 1: Put a block's text-overflow markers in PositionedDescendants() before the rest of the block's display items. r=roc
2012-07-22 23:08:20 -07:00
Mats Palmgren
dd549d9e2b
Bug 616722 - Make ColumnSetFrame a block margin root. Make the first column a margin root at the top edge, and the last column at the bottom. r=roc
2012-07-20 14:27:04 -04:00
Mats Palmgren
b7f6677771
Bug 774794 - Make the aLineList param for MarkLineDirty mandatory; make nsBlockInFlowLineIterator have a valid mLineList for its mLine. r=roc
2012-07-20 14:27:03 -04:00
Elika Etemad
3f96075308
Bug 774835: Refactor nsHTMLReflowState::ApplyMinMaxConstraints to separate behavior of width and height. [r=roc]
...
--HG--
extra : rebase_source : c6a25e9c19c65d86013ddf8afc15026ca02321c4
2012-07-18 10:26:05 -04:00
Mats Palmgren
ad5d0d79f0
Bug 774548. r=roc
2012-07-17 15:56:04 -04:00
Ehsan Akhgari
6ef72aef93
Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions
2012-07-03 20:24:55 -04:00
Matt Woodrow
1f0dbc7c74
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-06-30 15:06:11 +12:00
L. David Baron
13df4204c7
Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc
...
The first of these pieces of information is the intrinsic widths cached
on a block.
The second of them is the font inflation cached on a text frame (which
might be set to 1.0 at this point if a text frame has previously had
intrinsic width calculation done on it, but hasn't been reflowed).
2012-06-05 19:13:41 -07:00
L. David Baron
11e48078eb
Back out changeset 81f6b1cfbba5627425837ff993ca7012db22b23b (bug 748434) due to reftest failures.
2012-06-05 16:55:48 -07:00
L. David Baron
e13adf476e
Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc
...
The first of these pieces of information is the intrinsic widths cached
on a block.
The second of them is the font inflation cached on a text frame (which
might be set to 1.0 at this point if a text frame has previously had
intrinsic width calculation done on it, but hasn't been reflowed).
2012-06-05 15:52:28 -07:00
L. David Baron
f5573cbd2e
Rename nsStyleBorder::GetActualBorderWidth to GetComputedBorderWidth. (Bug 713643, patch 4) r=bzbarsky
2012-05-30 22:19:49 -07:00
Trevor Saunders
1192ef8bd9
bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov
...
--HG--
rename : accessible/src/atk/nsAccessibleWrap.cpp => accessible/src/atk/AccessibleWrap.cpp
rename : accessible/src/atk/nsAccessibleWrap.h => accessible/src/atk/AccessibleWrap.h
rename : accessible/src/base/nsAccessible.cpp => accessible/src/generic/Accessible.cpp
rename : accessible/src/base/nsAccessible.h => accessible/src/generic/Accessible.h
rename : accessible/src/mac/nsAccessibleWrap.h => accessible/src/mac/AccessibleWrap.h
rename : accessible/src/mac/nsAccessibleWrap.mm => accessible/src/mac/AccessibleWrap.mm
rename : accessible/src/msaa/nsAccessibleWrap.cpp => accessible/src/msaa/AccessibleWrap.cpp
rename : accessible/src/msaa/nsAccessibleWrap.h => accessible/src/msaa/AccessibleWrap.h
rename : accessible/src/other/nsAccessibleWrap.cpp => accessible/src/other/AccessibleWrap.cpp
rename : accessible/src/other/nsAccessibleWrap.h => accessible/src/other/AccessibleWrap.h
2012-05-28 21:18:45 -04:00
Ed Morley
f0346ff780
Merge mozilla-central to mozilla-inbound
2012-05-21 13:19:38 +01:00
Gervase Markham
87620f5676
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
L. David Baron
3ab78f01f9
Remove width determination parameters from font inflation methods. (Bug 747720, patch 5) r=roc
...
These are no longer needed since we're getting the width from the
nsFontInflationData.
2012-05-20 22:18:28 -07:00
Matt Woodrow
b5086dc756
Bug 722603 - Add 3d transforms debugging code to nsBlockFrame. r=roc
2012-05-11 19:49:12 +12:00
Mats Palmgren
194408325c
Bug 750066. r=roc
2012-05-04 02:14:01 +02:00
L. David Baron
1984592c22
Add a font inflation data structure per block formatting context. (Bug 706193, patch 2) r=roc
...
This structure is per block formatting context because we have to make a
single inflation decision for things like consecutive runs of paragraphs
of text. Inflating some paragraphs and not others (within the same
sequence of adjacent paragraphs) based on the amount of text in each one
would be disastrous. Otherwise it's ideal for the units to be as small
as possible as long as they merge such sequences; therefore this uses a
definition corresponding to CSS's idea of elements that establish new
block formatting contexts.
2012-04-16 15:32:12 -07:00
Mats Palmgren
b0ca471a79
Bug 730769 - Make nsLineBox use a frame hash table for lines with many frames. part=2/2 r=bz
2012-03-11 03:32:27 +01:00
Mats Palmgren
86f1c718ff
Bug 730769 - Add NewLineBox/FreeLineBox methods to nsBlockFrame. part=1/2 r=bz
2012-03-11 03:32:27 +01:00
Mats Palmgren
bc861fa127
Bug 728906 - Make nsIFrame::GetChildList return const nsFrameList&. r=bz
2012-03-08 02:57:37 +01:00
Mats Palmgren
bd31652ea8
Bug 728911 - Remove the nsBlockFrame::mBullet member and store it in a frame property instead (as needed). For an outside bullet, store it as a nsFrameList* to support GetChildList(kBulletList). part 2/2 r=bz
2012-03-08 02:57:37 +01:00