Commit Graph

276 Commits

Author SHA1 Message Date
Cameron McCormack
83df25c044 Bug 773296 - Part 14: Add an nsCSSProps::IsInherited function. r=dbaron
Add a helper function to nsCSSProps to look up whether a given
nsCSSProperty lives in a style struct for inherited properties.
2013-12-12 13:09:43 +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
d8cbd4d866 Bug 773296 - Part 2: Parse CSS variable declarations and store them on Declaration objects. p=ebassi,heycam r=dbaron
Patch co-authored by Emmanuele Bassi <ebassi@gmail.com>

This defines a CSSVariableDeclarations class that holds a set of
variable declarations.  This is at the specified value stage, so values
can either be 'initial', 'inherit' or a token stream (which is what you
normally have).  The variables are stored in a hash table.  Although
it's a bit of a hack, we store 'initial' and 'inherit' using special
string values that can't be valid token streams (we use "!" and ";").

Declaration objects now can have two CSSVariableDeclarations objects
on them, to store normal and !important variable declarations.  So that
we keep preserving the order of declarations on the object, we inflate
mOrder to store uint32_ts, where values from eCSSProperty_COUNT onwards
represent custom properties.  mVariableOrder stores the names of the
variables corresponding to those entries in mOrder.

We also add a new nsCSSProperty value, eCSSPropertyExtra_variable, which
is used to represent any custom property name.
nsCSSProps::LookupProperty can return this value.

The changes to nsCSSParser are straightforward.  Custom properties
are parsed and checked for syntactic validity (e.g. "var(a,)" being
invalid) and stored on the Declaration.  We use nsCSSScanner's
recording ability to grab the unparsed CSS string corresponding to
the variable's value.
2013-12-12 13:09:40 +11:00
Birunthan Mohanathas
58325c73be Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo
--HG--
rename : mfbt/Util.h => mfbt/ArrayUtils.h
2013-12-08 21:52:54 -05:00
Jonathan Watt
34f76a78c2 Bug 947728 part 1 - Introduce a new 'number-input' value for -moz-appearance that behaves exactly as 'textfield' does. r=roc 2013-12-08 23:23:28 +00:00
Daniel Holbert
72abd78fe0 Bug 939905: Add support for CSS "flex-flow" shorthand property. r=heycam 2013-12-05 10:57:51 -08:00
Daniel Holbert
951d9cad0d Bug 702508 part 2: Support parsing/computing the CSS property "align-content". r=dbaron 2013-12-05 10:57:50 -08:00
Daniel Holbert
c58200db33 Bug 702508 part 1: Support parsing/computing the CSS property "flex-wrap". r=dbaron 2013-12-05 10:57:50 -08:00
Xidorn Quan
454ce0aee9 Bug 934072 - Part 3: Implement complex CJK ideographic counter styles. r=jfkthame 2013-12-02 12:51:26 -05:00
Xidorn Quan
0c401681af Bug 934072 - Part 2: Add counter style cjk-decimal. r=jfkthame 2013-12-02 12:51:26 -05:00
James Kitchener
78f696b93f Bug 114365 - Add CSS properties for -moz-math-variant. r=heycam 2013-12-02 11:49:00 -05:00
John Daggett
f66ccc7e96 Bug 913264 - add none value to font-variant-ligatures. r=dbaron 2013-11-19 13:30:25 +09:00
Gijs Kruitbosch
94480b349c Merge m-c to ux 2013-11-18 13:44:32 +01:00
Gijs Kruitbosch
a84d198778 Merge mozilla-central and ux 2013-11-11 09:29:29 +01:00
Daniel Holbert
5f6b9e24c0 Bug 936100 part 5: Remove usage of flexbox pref from C++ code. r=mats 2013-11-09 07:53:14 -08:00
Ehsan Akhgari
2b5f4acfab Bug 938123 - Build layout/style in unified mode; r=roc 2013-11-14 21:42:57 -05:00
Gijs Kruitbosch
8dcf6fc1bf Merge m-c to ux 2013-10-28 10:18:27 +01:00
Mats Palmgren
fd271184f9 Bug 929991 - Put 'text-align: true X' support behind a preference (disabled by default). r=heycam 2013-10-27 20:56:32 +00:00
Mats Palmgren
091575a0f7 Bug 929991 - Style system implementation of 'text-align: true X'. r=heycam 2013-10-27 20:56:32 +00:00
Mats Palmgren
db9973f0e7 Bug 914432 - Add support for multiple prefs to enable/disable values in the same property keyword table. r=dbaron 2013-10-27 20:56:32 +00:00
Gijs Kruitbosch
7160c97868 Merge mozilla-central and ux 2013-10-04 07:51:17 +02:00
Cameron McCormack
da4a1db7d3 Bug 842329 - Part 1: Add "all" shorthand property. r=bzbarsky 2013-10-04 04:49:19 +10:00
Gijs Kruitbosch
b73767e423 Merge mozilla-central and ux 2013-09-30 19:26:47 +02:00
Cameron McCormack
a84a1648a9 Bug 921797 - Make nsCSSProps::BuildShorthandsContainingTable support -moz-appearance being a shorthand subproperty. r=bzbarsky 2013-09-30 13:23:43 +10:00
Gijs Kruitbosch
28a46b4771 Merge mozilla-central and ux 2013-09-26 10:26:16 +02:00
Gijs Kruitbosch
e2f47baa44 Merge mozilla-central and ux 2013-09-17 11:58:14 +02:00
Ehsan Akhgari
d5d3a9ae84 Bug 916610 - Minimize the #includes in layout/style; r=roc 2013-09-15 21:06:52 -04:00
stefanh@inbox.com
bcd2b365d7 Bug 916491 - Remove -moz-mac-alternateprimaryhighlight. r=mstange. 2013-09-15 00:44:50 +02:00
Gijs Kruitbosch
2c07477df1 Merge m-c to ux 2013-09-15 19:30:19 +02:00
Matthew Noorenberghe
186f9be72f Merge mozilla-central to UX 2013-09-06 17:54:20 -07:00
Gijs Kruitbosch
eec8448e00 Merge mozilla-central and ux 2013-08-29 15:30:00 +02:00
Seth Fowler
e57e4a214f Bug 825771 (Part 1) - Add CSS support for the image-orientation property. r=dbaron 2013-08-28 15:39:06 -07:00
Corey Ford
1b743eac38 Bug 886646 - Part 1: Support position:sticky in the CSS parser, enabled by a preference. r=heycam 2013-09-05 15:47:08 -07:00
Gijs Kruitbosch
5d5adce056 Merge m-c to ux 2013-08-20 10:49:07 +02:00
Matthew Noorenberghe
4411bb5879 Merge mozilla-central to UX 2013-08-19 14:49:03 -07:00
John Daggett
b9513dce5c Bug 904263 - check pref settings more efficiently. r=dbaron 2013-08-19 13:49:49 +09:00
Mike Conley
9cde798a1f Automated merge with https://hg.mozilla.org/mozilla-central 2013-08-12 17:07:53 -04:00
Gijs Kruitbosch
a6e54ee4b8 Merge m-c to UX 2013-08-07 21:09:10 +02:00
Rik Cabanier
6db63a8c81 Bug 901375 - Implement support in CSS for mix-blend-mode; r=heycam 2013-08-07 16:59:10 +09:00
Matthew Noorenberghe
bae49d6e2c Merge mozilla-central to UX 2013-08-06 23:06:26 -07:00
Masayuki Nakano
03e0066f13 Bug 812995 Support 'blink' value at -moz-text-decoration-line and drop -moz-text-blink r=dbaron 2013-08-06 23:02:34 +09:00
Matthew Noorenberghe
b14d8fd39b Merge mozilla-central to UX 2013-07-30 19:16:50 -07:00
Gijs Kruitbosch
c191dc6dc3 Merge m-c to UX 2013-07-30 20:27:46 +02:00
Max Vujovic
a0613f3e89 Bug 898175 - Refactor filter parsing to use a keyword lookup table for filter function names. r=dbaron 2013-08-06 17:53:30 +10:00
Matthew Noorenberghe
de1150b579 Merge mozilla-central to UX 2013-07-23 23:40:52 -07:00
Ehsan Akhgari
085494b95d Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:

# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type

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 "*.cc" \
         -o -iname "*.mm" \) | \
    xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
                   media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
                   modules/libmar/src/mar_private.h \
                   modules/libmar/src/mar.h


# assert_replacer.py
#!/usr/bin/python

import sys
import re

pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")

def replaceInPlace(fname):
  print fname
  f = open(fname, "rw+")
  lines = f.readlines()
  for i in range(0, len(lines)):
    while True:
      index = re.search(pattern, lines[i])
      if index != None:
        index = index.start()
        lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
        for j in range(i + 1, len(lines)):
          if lines[j].find("                 ", index) == index:
            lines[j] = lines[j][0:index] + lines[j][index+4:]
          else:
            break
      else:
        break
  f.seek(0, 0)
  f.truncate()
  f.write("".join(lines))
  f.close()

argc = len(sys.argv)
for i in range(1, argc):
  replaceInPlace(sys.argv[i])

--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
John Daggett
0ad5eb80ed Bug 875250 - implement CSS parsing of text-orientation, text-combine-horizontal properties. r=dholbert 2013-08-19 19:26:44 +09:00
John Daggett
a9de42a1ec Bug 857142 - change name and switch to grayscale value. r=dbaron 2013-07-30 05:01:14 +09:00
John Daggett
bed3fbfbd2 Bug 857142 - implement -moz-font-smoothing. r=dbaron 2013-07-30 05:00:41 +09:00
Frank Yan
ef930d6fea Bug 880672: Add support for unprefixed cursor:grab and cursor:grabbing. r=bzbarsky sr=dbaron 2013-06-24 00:32:44 -07:00