Commit Graph

1158 Commits

Author SHA1 Message Date
L. David Baron
08c1043b9e Bug 572200, part 3: Cache data that lives in the rule tree on every relevant rule node that has a style context directly pointing to it directly. r=bzbarsky 2012-11-07 11:55:53 -08:00
L. David Baron
bcd982c2fe Bug 572200, part 2: Allow rule nodes to cache data owned by an ancestor rule node: don't destroy structs that we don't own. r=bzbarsky 2012-11-07 11:55:53 -08:00
Daniel Holbert
988508f1b2 Bug 783415 part 1: Make "display" value of flex items compute to their blockified forms. r=dbaron 2012-11-07 11:28:59 -08:00
Jacek Szpot
09f9b9a1c3 Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
L. David Baron
372be6032b Bug 804970, patch 6: Don't force rem units out of the rule tree. r=bzbarsky 2012-10-26 19:04:20 +02:00
L. David Baron
f0d282befc Bug 804970, patch 5: Handle dynamic changes to the basis for 'rem' units by rebuilding all style data. r=bzbarsky 2012-10-26 19:04:20 +02:00
L. David Baron
f5d19d0f56 Bug 804970, patch 3: Don't force vw/vh/vmin/vmax units out of the rule tree. r=bzbarsky 2012-10-26 19:04:20 +02:00
L. David Baron
b896d45609 Bug 804970, patch 1: Don't force calc() units out of the rule tree. r=bzbarsky
This moves the calc() handling above the aCanStoreInRuleTree = false,
which it had no reason to be below.

calc() units are still forced out of the rule tree when there's an em,
ex, or rem unit inside the calc() structure, since aCanStoreInRuleTree
is passed through to the leaf CalcLengthWith calls.
2012-10-26 19:04:20 +02:00
Jonathan Kew
38a669461b bug 804644 - convert Cocoa points to _un_scaled device pixels for system font sizes. r=roc 2012-10-23 21:09:23 +01:00
Seth Fowler
48449d088f Bug 503720: Implement vw/vh/vmin/vmax. r=dbaron 2012-10-19 16:21:06 -07:00
L. David Baron
a7b754b11a Bug 823124: Add diagnostic (and otherwise good-to-have) assertion that non-root rule nodes must have a non-null rule (and vice-versa). 2012-12-21 14:36:53 -05:00
Cameron McCormack
d57e4a2d48 Bug 793617 - Implement mask-type property. r=dbaron,longsonr 2012-12-21 11:15:22 +11:00
Yu-Sian (Thomasy) Liu
275ff3701f Bug 594935: Add calc to parser, do calc in PaintGradient and add stop point to HasCalc(). r=bz 2012-10-03 22:31:56 -07:00
Jonathan Kew
99c3ea68d6 bug 674373 pt 4 - pass device-to-CSS pixel ratio to LookAndFeel code when requesting a font style. r=roc 2012-09-29 12:35:08 +01:00
Edwin Flores
e721868899 Bug 719286 - Add support for -moz-objectValue keyword to CSS parser for SVG glyphs r=dbaron 2012-09-06 16:58:47 +12:00
Edwin Flores
2843307366 Bug 719286 - Add support for -moz-objectFillOpacity and -moz-objectStrokeOpacity to CSS parser for SVG glyphs r=dbaron 2012-09-06 16:58:46 +12:00
Edwin Flores
75fea45125 Bug 719286 - Add support for objectfill and objectstroke values to CSS parser r=dbaron 2012-09-06 16:58:46 +12:00
Daniel Holbert
995f69ff6e Bug 763689 patch 3: Support min-height:auto in computed style, and add special cases as necessary wherever it's read. r=dbaron 2012-09-04 16:26:11 -07:00
Daniel Holbert
5fba4829ef Bug 763689 patch 2: Support min-width:auto in computed style, and add special cases as necessary wherever it's read. r=dbaron 2012-09-04 16:26:10 -07:00
Kyle Huey
3fa23c4692 Bug 783162: Make mapped attributes hold the image alive. r=bz
The nsCSSValue in nsGenericHTMLElement::MapBackgroundInto is a temporary.  This causes a problem after Bug 697230 landed, because the nsCSSValue::Image we put into that value is destroyed once we're done doing style stuff.  Previously the nsImageLoader would grab the request off the nsCSSValue::Image and hold it alive.  Bug 697230 changed the behavior here; now when the nsCSSValue::Image is destroyed it tells the image loader to drop the request.  The result is that all the references to the request are dropped and the frame is never told it has a background.

The solution is to keep the nsCSSValue::Image alive longer.  This patch adds two new types of nsAttrValue.  The first is an nsCSSValue::URL.  A ParseBackgroundAttribute method is added on nsGenericHTMLElement that the relevant elements (body/td/th/table/tr/tbody/thead/tfoot) call that parses background into an nsCSSValue::URL.  The second is an nsCSSValue::Image.  nsGenericHTMLElement::MapBackgroundInto attempts to convert the nsCSSValue::URL into an nsCSSValue::Image by kicking off the image load.  The result is that image loads are only started when the element is actually visible.  This also mirrors the way background-image works.  This also allows us to fix two longstanding bugs in this code.  Since MapBackgroundInto doesn't have a pointer to the actual element, it relied on grabbing the principal of the document.  Now we can grab the principal of the node in ParseBackgroundAttribute.  MapBackgroundInto also has no way to get at the element's base URI (to honor xml:base), which is now possible in ParseBackgroundAttribute.

nsCSSValue::[Image|URL] have also been moved to be mozilla::css::[Image|URL]Value.  nsAttrValue.h is included in external linkage code, so it can't include nsCSSValue.h to get the declarations of nsCSSValue::[Image|URL], and nested classes can't be forward declared.  Moving the classes to a namespace solves the problem.

Finally some old inoperative quirks mode code was removed.  This code has done nothing since Bug 273078 was landed in 2004.
2012-08-24 10:50:49 -07:00
Ehsan Akhgari
243c878d26 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
L. David Baron
4b26fce099 Track whether nsStyleVisibility::mLanguage came from explicit information in the document. (Bug 702121, patch 1) r=jfkthame 2012-08-20 19:23:32 -07:00
Kyle Huey
cc6ea9a4c7 Bug 697230: Part 1 - Centralize style image observers. r=bz 2012-08-13 15:04:19 -07:00
Jonathan Kew
abed57431c bug 721750 - support text-shadow property on ::-moz-selection. r=dbaron 2012-08-04 19:52:21 +01:00
Cameron McCormack
7b1e56f1af Bug 655877 - Part 15: Don't treat SVG text frames as being positioned. r=roc 2012-08-02 21:38:50 +10:00
Scott Johnson
446633b003 Bug 764567: Implement column-fill part of CSS3 multicol spec, now with regression fixes [r=roc]. 2012-07-31 11:21:19 -05:00
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Cameron McCormack
10efa37933 Bug 774968 - line-height percentage value not computed accurately. r=dbaron 2012-07-20 07:03:35 +10:00
Boris Zbarsky
7cd2a35b7b Bug 771594. Allow preference control over what CSS properties we parse. r=dbaron,dholbert 2012-07-13 19:59:05 -04:00
Masatoshi Kimura
0dbb755bad Bug 752187 - Part 10: Implement rendering unprefixed gradients. r=dbaron 2012-07-07 10:27:08 -04:00
Masatoshi Kimura
eb2dd03221 Bug 752187 - Part 9: Implement unprefixed radial-gradient parsing. r=dbaron 2012-07-07 10:27:08 -04:00
Masatoshi Kimura
dbd00414b2 Bug 752187 - Part 6: Rename mIsToCorner to mIsLegacySyntax. r=dbaron 2012-07-07 10:27:08 -04:00
Daniel Holbert
3bbb222136 Bug 696253, patch 7: implement parsing/computation for CSS property 'flex-basis'. r=dbaron 2012-07-06 17:06:23 -07:00
Daniel Holbert
741ab57630 Bug 696253, patch 6: implement parsing/computation for CSS properties 'flex-grow' and 'flex-shrink'. r=dbaron 2012-07-06 17:06:22 -07:00
Daniel Holbert
8c6f16f906 Bug 696253, patch 5: implement parsing/computation for CSS property 'align-self'. r=dbaron 2012-07-06 17:06:21 -07:00
Daniel Holbert
0f183fb9b5 Bug 696253, patch 4: implement parsing/computation for CSS property 'align-items'. r=dbaron 2012-07-06 17:06:21 -07:00
Daniel Holbert
9c9d7f3091 Bug 696253, patch 3: implement parsing/computation for CSS property 'flex-direction'. r=dbaron 2012-07-06 17:06:20 -07:00
Daniel Holbert
154fd6471a Bug 696253, patch 2: implement parsing/computation for CSS property 'order'. r=dbaron 2012-07-06 17:06:19 -07:00
Daniel Holbert
620200a115 Bug 696253, patch 1: implement parsing/computation for CSS property 'justify-content'. r=dbaron 2012-07-06 17:06:19 -07:00
Daniel Holbert
917cd2a0cb Bug 666041 patch 2: Add "-moz-flex" & "-moz-inline-flex" values for "display" property. r=bz 2012-06-26 15:11:38 -07:00
Scott Johnson
115e59704c Bug 733614: Backout changes from bug 695222 for mozilla 16 branch [r=dbaron]. 2012-06-13 11:00:56 -05:00
Daniel Holbert
26711d4ccf Bug 763689: Add "auto" keyword for min-height and min-width, which for now just computes to 0. r=bz 2012-06-12 10:48:20 -07:00
Nathan Froyd
e5bbedfffe Bug 674922 - report on most common objects allocated in a PresShell's arena; r=roc,njn 2012-06-06 13:35:40 -04:00
Ms2ger
02552d94c3 Bug 629882 - Support currentColor in the 2D canvas context; r=dbaron
This changes nsCSSParser::ParseColorString to fill in an nsCSSValue instead
of an nscolor, and exposes nsRuleNode::ComputeColor to turn this nsCSSValue
into an nscolor.

Because gradients can be used with different canvas elements in different
documents, these cannot pass useful values for nsRuleNode::ComputeColor's
aPresContext and aStyleContext arguments. This patch also changes SetColor
to deal with those parameters being null.
2012-06-06 09:36:38 +02:00
Shriram Kunchanapalli
5c496787c2 Bug 219767: Move font size functions in nsStyleUtil into nsRuleNode. r=dbaron 2012-05-31 10:09:46 +05:30
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Robert Longson
c21a4193e9 Bug 528332 - Implement non-scaling-stroke vector-effect. Part 1 - style system changes r=dbaron 2012-05-18 09:33:40 +01:00
Boris Zbarsky
5232d422f0 Bug 753397. Add a field to nsCSSPropList for a preference that controls the property. r=dbaron
The actual controlling is not hooked up yet; that will happen in bug 753522 for
the DOM reflections of properties.
2012-05-09 21:29:37 -04:00
Makoto Kato
c8b149498c Bug 249159 - Part 2 Implement CSS3 Text word-break property. r=dbaron, smontagu 2012-05-07 12:18:23 -07:00
L. David Baron
16c09141ea Examine parentBorder only when parentContext is non-null. (Bug 749860) r=bzbarsky 2012-04-27 21:56:31 -07:00