Commit Graph

83 Commits

Author SHA1 Message Date
Cameron McCormack
33b0fd85d7 Bug 773296 - Part 17: Resolve property values that have variable references at computed value time. r=dbaron
This re-parses property values at computed value time if
they had a specified value that was a token stream.  We add
a function nsRuleNode::ResolveVariableReferences that looks
at all the values in the nsRuleData and calls in to a new
nsCSSParser::ParsePropertyWithVariableReferences function if they have a
token stream value.

We add a nsCSSExpandedDataBlock::MapRuleInfoInto function that will
take the re-parsed property value and copy it back into the nsRuleData.

nsRuleNode::ResolveVariableReferences returns whether any variables
were attempted to be resolved, so that nsRuleNode::WalkRuleTree wil
recompute the rule detail in case any became 'inherit'.
2013-12-12 13:09:44 +11:00
Cameron McCormack
82a5ba3c0f Bug 773296 - Part 4: Add style struct to store CSS variables. r=dbaron
This adds an nsStyleVariables on which computed variable values
will be stored.  We don't actually have any properties assigned to
nsStyleVariables; eCSSPropertyExtra_Variables which we added earlier
isn't a real property.  To avoid compiler errors for gVariableFlags
being a zero length array, we stick a dummy entry in there.

nsRuleNode::ComputeVariablesData does nothing for the moment.

nsStyleVariable nsChangeHint calculations always return 0, as later
we will compare the actual properties that reference variables to
see what changes are required for them.
2013-12-12 13:09:40 +11:00
Cameron McCormack
4f5bf562db Bug 773296 - Part 3: Allow more than 27 style structs. r=dbaron
This bumps up nsStyleContext::mBits to a uint64_t so that it can fit
another style struct.  If we're going to need to keep at least 27 style
structs, it might be better to split mBits up into two uint32_ts: one
for the flags and one for the style struct bits.
2013-12-12 13:09:40 +11:00
Cameron McCormack
f4a2211607 Bug 945580 - Add nsRuleNode::IsInherited helper function. r=dbaron 2013-12-03 14:42:09 +11:00
Nathan Froyd
8b82865186 Bug 940170 - part 1 - constify PLDHashTableOps in layout/; r=bz 2013-11-18 21:51:48 -05:00
Max Vujovic
b1e4d40e37 Bug 913990 - When encountering bogus URI during style computation for filter, fall back to initial value. r=dholbert 2013-10-17 14:37:57 -04:00
Dirk Schulze
c25ee40e1c Bug 898361 - Implement parsing for drop-shadow. r=heycam 2013-08-05 17:02:27 +10:00
Ms2ger
48039b419a Backout changeset a58abd7408bf for mochitest and crashtest crashes. 2013-08-04 12:21:17 +02:00
Dirk Schulze
87b8fb4c7c Bug 898361 - Implement drop-shadow parsing for the filter property. r=heycam 2013-08-04 18:58:28 +10:00
Ehsan Akhgari
3717325909 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00
Cameron McCormack
30b5ba2337 Bug 856879 - Remove constructor arguments argument from style struct macros. r=dbaron 2013-04-02 12:45:48 +11:00
David Zbarsky
c596ef885a [Bug 847110] Fix up includes in layout/style r=dbaron 2013-03-02 19:31:48 -05: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
Cameron McCormack
ecfc7c3212 Bug 508725 - Part 2: Record on nsCSSStyleSheets whether they are for a <style scoped>. r=dbaron 2013-01-09 10:25:47 +11:00
Cameron McCormack
4129a6997c Backout bug 508725 (d267bb4b58b5, 50f71edffeb9, 6aec8e22fe60, e62e1f33958a, 0f146c435249, eb959b9f4862, 2b0ee42f3aa0, 02db01cd6796, 2ef0e517d43d, b650588e05c9 and a3c916829d56) for build failure on a CLOSED TREE. 2013-01-08 19:36:21 +11:00
Cameron McCormack
df56da34c4 Bug 508725 - Part 2: Record on nsCSSStyleSheets whether they are for a <style scoped>. r=dbaron 2013-01-08 19:09:22 +11: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
4555f7cb1b Bug 572200, part 1: Make rule nodes know whether they're used directly by a style context. 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
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
57c0ad57fb Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Ms2ger
4ff76331ca 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
7eea18ae58 Bug 219767: Move font size functions in nsStyleUtil into nsRuleNode. r=dbaron 2012-05-31 10:09:46 +05:30
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Kyle Huey
c5cbdaf7d3 Bug 718539: Followup to fix MSVC warnings. r=me 2012-05-04 12:45:03 -07:00
John Daggett
4fb6d48482 Bug 718539. Update font-feature-settings to latest spec syntax. r=dbaron 2012-04-26 15:24:26 +09:00
Mark Capella
1839be84c0 Bug 740688 - Use uintptr_t instead of PRUword, and intptr_t instead of PRWord. r=jwalden
--HG--
extra : rebase_source : 648a581323d2c2893df780f71fe34dadcc4bbaab
2012-04-11 17:17:44 -07:00
Jonathan Watt
b84e0cbe12 Bug 416581, part 2 - Pay attention to the 'lang' attribute when fetching the user's font prefs for the CSS cascade. r=dbaron. 2012-01-25 23:52:26 +00:00
Jonathan Watt
9fb3c8bb9f Bug 416581, part 1 - Move mLanguage from nsStyleVisibility to nsStyleFont. r=dbaron. 2012-01-24 13:09:55 +00: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
Brian Birtles
b1f72bbd99 Bug 562815 part 6 - Check if property is cached in rule tree; r=dbaron
--HG--
extra : rebase_source : 9a7d2388bd00e2c8177cebc9d2a1339626cdd3ab
2011-08-23 08:34:12 +09:00
L. David Baron
219025b071 Make nsRuleNode's use of font metrics for ch and ex units pass the correct language. (Bug 678671, patch 3) r=roc
This makes these users (which are exceptions within layout, although
low-level enough that it won't matter for font inflation work) call
through to GetMetricsFor explicitly with the correct language, rather
than using the broken nsPresContext::GetMetricsFor and its
charset-detected language.

This improves the correctness of our behavior for 'ch' and 'ex' CSS
units when the font selection (or defaults) are language-dependent.  It
should also reduce the number of unique sets of font metrics requested
(which helps nsFontCache effectiveness).
2011-08-14 10:08:04 -07:00
Makoto Kato
20b316b35c Bug 660587 - Remove nsRuleNode::gLangService. r=roc 2011-05-31 14:18:50 +09:00
L. David Baron
2131a8f272 Remove nsCSSStruct.h/cpp. (Bug 645620, patch 4) r=bzbarsky 2011-03-28 16:07:26 -07: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
L. David Baron
8f037974d7 Instead of stack-allocating nsRuleData* structs in separate methods for each style struct, allocate an array of nsCSSValue using alloca. (Bug 636039, patch 15) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron
2add6d4298 Convert nsRuleNode::Compute*Data to property getters instead of accessing struct members. (Bug 636039, patch 11) r=bzbarsky 2011-03-17 20:14:31 -07:00
Boris Zbarsky
a7138566b2 Bug 625434. Make sure we don't get into a situation where we're failing to gc the ruletree for a page. r=dbaron, a=blocker 2011-01-18 21:20:35 -05:00
L. David Baron
344df4887f Simplify storage of computed calc() as a result of removing min() and max(). (Bug 363249) r=bzbarsky a2.0=blocking2.0:beta6 2010-09-11 09:27:13 -07:00
Zack Weinberg
a5a3802007 Bug 576044 (5/12): eliminate ValueList as a storage type. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
L. David Baron
5e2de175f2 There's no need for a separate CoordPercentCalc implementation; ComputeCalc can handle that. (Bug 585715) r=bzbarsky a2.0=blocking2.0+ 2010-08-11 12:32:52 -07:00
L. David Baron
dd9be1dd41 Add API to compute length, percentage or calc() style coords. (Bug 363249) r=bzbarsky 2010-07-02 21:18:55 -07:00
L. David Baron
e3ff14ef8b Add API to compute computed-value calc() expressions to lengths. (Bug 363249) r=bzbarsky 2010-07-02 21:18:55 -07:00
timeless
83499da47b Bug 334571 Coverity 702, NS_SIDES array limit check - replace NS_FOR_CSS_SIDES defines with enum. r=zwol,mats 2010-04-27 18:15:02 +02:00
timeless
97c43a3297 Bug 334571 strip trailing whitespace. r=zwol 2010-04-27 18:15:01 +02:00
Zack Weinberg
8a88b3f08f Eliminate NS_HIDDEN and NS_HIDDEN_ from layout/style/. Search-and-replace plus formatting fixes. rs=bzbarsky, no bug. 2010-04-06 14:52:17 -07:00
Boris Zbarsky
864b51b6ce Bug 527977 part 2. Add a way to destroy the structs in an nsInheritedStyleData without trying to deallocate the object itself. r=zwol 2010-03-02 18:27:20 -05:00
Boris Zbarsky
f74086736a Bug 527977 part 1. Remove unused ClearInheritedData functions. r=zwol 2010-03-02 18:27:20 -05:00
Robert Longson
819b6997d7 Bug 523576 - Fix compilation with disable-svg. r=dbaron 2009-12-12 19:43:34 +00:00
Boris Zbarsky
c4baa01a7a Bug 529749. Make sure nsRuleWalker never has a null mCurrent. r=dbaron 2009-12-11 22:36:34 -08:00