Commit Graph

22 Commits

Author SHA1 Message Date
Jonathan Chan
de84924d62 Bug 1293743 - Part 3: Add ReduceIntegerCalcOps, analogous to ReduceNumberCalcOps but for pure-integer calc()s. r=dholbert
MozReview-Commit-ID: GpvZ9Uce7QU
2016-10-17 20:49:19 -04:00
Jonathan Chan
b9f0229eac Bug 1293743 - Part 2: Rename references to 'number' in CSSCalc and related code to coefficient. Introduce coefficient typedef. r=dholbert
"For each leaf in the calc() expression, ComputeCalc will call either
ComputeNumber (when the leaf is the left side of a Times_L or the right
side of a Times_R or Divided) or ComputeLeafValue (otherwise)."

A future patch in this series adds support for evaluating pure-integer calc()s.
We rename ComputeNumber to ComputeCoefficient and introduce a coefficient_type
typedef so that coefficients can be integers. We don't want to leave it as
'number' because that is confusing (e.g. CSS <number>s are float values).

We also rename NumbersAlreadyNormalizedCalcOps to
FloatCoeffsAlreadyNormalizedCalcOps, and expect AppendCoefficient in the
template given to SerializeCalc instead of AppendNumber.

This requires some renames in nsCSSValue and nsRuleNode.
I would split this into a separate 'fully-automated' patch, except that it's so
few renames and it feels bad to add the comments separately.

We also have to add |typedef float coeff_type| to two CalcOps implementations
in nsRuleNode because they multiply-inherit from two classes that define
coeff_type as float.

MozReview-Commit-ID: 1ZmBLsGr6hK
2016-10-17 20:49:17 -04:00
Jonathan Chan
6689045b18 Bug 1293743 - Part 1: Move nsCSSParser's ReduceNumberCalcOps to CSSCalc.h as mozilla::css::ReduceNumberCalcOps. r=dholbert
Bug 1273706 (Properties & Values) uses ReduceNumberCalcOps in nsRuleNode to
compute <number>-typed calc() expressions.

MozReview-Commit-ID: CsZkJBFOufm
2016-10-17 20:49:15 -04:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Nicholas Nethercote
0247de46d8 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
Andrew McCreight
e048a7df33 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
40ab0270d5 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo. 2015-02-04 20:05:36 -08: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
76c0c51b3f Add support for unprefixed calc(), and prefer serializing to unprefixed form. (Bug 771678) r=bzbarsky
This also converts all of the tests in layout/style/test/ to using
calc(), except that it duplicates all of the valid values and some of
the invalid values for 'width' and '-moz-column-rule-width' (which are
the two properties that intentionally have extensive calc() tests) in
property_database.js.
2012-07-13 15:06:50 -07:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Michael Wu
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
L. David Baron
004afb8259 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
L. David Baron
e135530c65 Remove support for min() and max() in calc(): remove support for parsing and storage. (Bug 363249) r=bzbarsky a2.0=blocking2.0:beta6 2010-09-11 09:27:12 -07:00
L. David Baron
805c0eb196 Distinguish between 50% and calc(50%), etc., in computed style calc expressions. (Bug 585715) r=bzbarsky a2.0=blocking2.0+ 2010-08-11 12:32:52 -07:00
L. David Baron
720b7430a1 Make a common base class for calc ops that use nsStyleCoord as input. (Bug 585715) r=bzbarsky a2.0=blocking2.0+ 2010-08-11 12:32:52 -07:00
L. David Baron
8aeb9ac2d6 Convert calc() serialization code to a template so it can also be used for nsStyleCoord. (Bug 363249) r=bzbarsky 2010-07-02 21:18:55 -07:00
L. David Baron
f407b500bb Add additional template parameter expectations to ComputeCalc so that its input can be nsCSSValue or nsStyleCoord. (Bug 363249) r=bzbarsky 2010-07-02 21:18:55 -07:00
L. David Baron
d35bcef2af Add code to compute a computed-value calc() expression from a specified-value calc() expression, and make it reachable from SetCoord in nsRuleNode. (Bug 363249) r=bzbarsky 2010-07-02 21:18:55 -07:00
L. David Baron
82aaa710c3 Switch calc() to saturating operations on nscoord. (Bug 363249) r=bzbarsky 2010-07-02 21:18:55 -07:00
L. David Baron
27074f4840 Don't bother with 16-bit reference count and index in nsCSSValue::Array. (Bug 574059) r=bzbarsky 2010-06-24 14:53:44 -07:00
L. David Baron
f7a3337dad Instantiate the calc ops struct rather than a nested data struct inside of it. (Bug 363249) r=bzbarsky 2010-05-11 08:49:44 -07:00
L. David Baron
8f489d3a67 Add template-based mechanism for computing a calc() tree. (Bug 363249) r=bzbarsky 2010-05-11 08:49:43 -07:00