Commit Graph

405 Commits

Author SHA1 Message Date
L. David Baron
f75e32c2f2 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
5ef4421fa5 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
ed0e6eb8a7 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
8f3a364f1f 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
L. David Baron
4368b654a3 Bug 836329: Fix regression handling 'rem' units in media queries. r=bzbarsky
I confirmed that the added tests fail without the patch and pass with
the patch.
2013-02-13 11:53:56 -08:00
L. David Baron
c0a08c5665 Bug 835007: Make 'transition-property: all' work as an item within a list. r=bzbarsky
No changes to the transition manager are needed since
nsTransitionManager::StyleContextChanged already makes the appropriate
calls to ConsiderStartingTransition for 'all', and that existing code
should work fine within a loop (just like the existing code to handle
shorthands or other property duplication works).
2013-02-09 22:56:49 -08:00
Jonathan Watt
311968ccaf Bug 835883 - Give the -moz-orient property an 'auto' value, and make that its initial value. r=dholbert. 2013-02-02 19:13:22 +01:00
L. David Baron
022804a80d Bug 835169: Remove unused mapping into style of table cols attribute. r=bzbarsky 2013-01-28 21:16:22 -08:00
Mats Palmgren
d5826be6d7 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
Cameron McCormack
21a5427224 Bug 828805 - Followup warning removal. 2013-01-13 11:45:23 +11:00
Cameron McCormack
3170bacd4d Bug 828805 - Followup build fix. 2013-01-13 11:17:00 +11:00
Cameron McCormack
b8c8bf6c2c Bug 828805 - Implement SVG paint-order property. r=bz,roc 2013-01-13 10:27:53 +11:00
Trevor Saunders
36f6c1227a bug 829288 - fix layout/ warnings on mingw r=dholbert 2013-01-10 02:04:09 -05:00
L. David Baron
849ba06bc2 Bug 827579: Remove post-resolve callback concept from style system. r=bzbarsky 2013-01-08 20:37:29 -08:00
Jet Villegas
09ad697c6f Bug 822854: Crash [@ nsRuleNode::ComputeColumnData] with -moz-column-rule-color: inherit r=heycam 2013-01-04 16:30:15 -08:00
Jet Villegas
696e2ebdea Bug 822854: Crash [@ nsRuleNode::ComputeColumnData] with -moz-column-rule-color: inherit r=heycam 2013-01-04 16:17:33 -08:00
Jeff Walden
e0523203c9 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
Jeff Muizelaar
5a168d2ab1 Bug 801061. Switch from imgIRequest to imgRequestProxy. r=joe
This doesn't switch all of the users yet, but is a step in the right
direction.

--HG--
extra : rebase_source : 91b4fef3f67586179c119208d000cf7629e04963
2012-10-12 08:43:01 -04:00
Ms2ger
98621c6b91 Bug 810668 - Fix some gcc4.6 build warnings; r=bz 2012-12-02 09:54:55 +01:00
Kyle Huey
2776d5fcb3 Bug 812824: Use a clean struct for inheritance on root nodes. r=dbaron,Waldo 2012-11-28 13:21:36 -08:00
Zack Weinberg
3156225b0e Bug 229827: escape unprintable characters in CSS parser diagnostics. r=dbaron 2012-11-16 21:53:38 -05:00
Ryan VanderMeulen
2621afbb4e Backed out changesets b242651c3c1b (bug 229827), b36eaac9ecf8, and 40f38a8aa660 (bug 663291) for mochitest-3/4 failures.
CLOSED TREE
2012-11-16 16:59:38 -05:00
Zack Weinberg
5c6f43e9ec Bug 229827: escape unprintable characters in CSS parser diagnostics. r=dbaron
--HG--
extra : rebase_source : 9298095c2cd7669b5ca1a07cd5378a852c4a7f36
2012-11-16 15:29:21 -05:00
L. David Baron
0be2114a28 Fix CheckFontCallback to match 'rem' unit changes. (Bug 806310) r=bzbarsky 2012-11-09 20:18:36 -08:00
L. David Baron
7f929eddbd Bug 809533, patch 3: Stop handling allocation failures in the style system that no longer need to be handled. r=bzbarsky 2012-11-09 10:30:28 -08:00
Mounir Lamouri
9c3b9fbc79 Bug 737786 - 3/5 - Restrictions for ::-moz-placeholder. r=bz
The restrictions are basicially the one used for ::first-line with a few additions required to style the placeholder by the UA or for the users. See the bug comments for more details (hopefully, there will be a doc and a spec soon enough).
2012-11-09 10:25:52 +00:00
Mats Palmgren
1b2d5bc601 Bug 685012 - Implement page-break-inside:avoid in the style system. r=dbaron 2012-11-08 17:09:37 +01:00
L. David Baron
81ac5daaea 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
08955a6835 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
c35b3855b6 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
bea8356b2c Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
L. David Baron
2d2cfb010f 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
c0bec06ffc 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
fdcf0aeeed 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
f6d7cad1d7 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
456a68b72a 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
697379c692 Bug 503720: Implement vw/vh/vmin/vmax. r=dbaron 2012-10-19 16:21:06 -07:00
L. David Baron
203ce65e44 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
3a091090a1 Bug 793617 - Implement mask-type property. r=dbaron,longsonr 2012-12-21 11:15:22 +11:00
Yu-Sian (Thomasy) Liu
58bc1b7fb5 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
336fd34232 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
ccb631db79 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
0300bf0a15 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
cac293e907 Bug 719286 - Add support for objectfill and objectstroke values to CSS parser r=dbaron 2012-09-06 16:58:46 +12:00
Daniel Holbert
16ff96590f 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
b0926860ac 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
0cae034974 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
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
L. David Baron
e34ffc55e7 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
13ed261c0c Bug 697230: Part 1 - Centralize style image observers. r=bz 2012-08-13 15:04:19 -07:00