Commit Graph

765 Commits

Author SHA1 Message Date
Cameron McCormack
62a3eadf14 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
88a0348924 Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo 2013-12-08 21:52:54 -05:00
Jonathan Watt
baabf65a83 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
3b42b8cf68 Bug 939905: Add support for CSS "flex-flow" shorthand property. r=heycam 2013-12-05 10:57:51 -08:00
Daniel Holbert
6fbceece67 Bug 702508 part 2: Support parsing/computing the CSS property "align-content". r=dbaron 2013-12-05 10:57:50 -08:00
Daniel Holbert
a974ea93a6 Bug 702508 part 1: Support parsing/computing the CSS property "flex-wrap". r=dbaron 2013-12-05 10:57:50 -08:00
Xidorn Quan
5d43b91cbf Bug 934072 - Part 3: Implement complex CJK ideographic counter styles. r=jfkthame 2013-12-02 12:51:26 -05:00
Xidorn Quan
e4feea8bfc Bug 934072 - Part 2: Add counter style cjk-decimal. r=jfkthame 2013-12-02 12:51:26 -05:00
James Kitchener
07532c2262 Bug 114365 - Add CSS properties for -moz-math-variant. r=heycam 2013-12-02 11:49:00 -05:00
John Daggett
47a07a73e1 Bug 913264 - add none value to font-variant-ligatures. r=dbaron 2013-11-19 13:30:25 +09:00
Gijs Kruitbosch
5e47a44a40 Merge m-c to ux 2013-11-18 13:44:32 +01:00
Gijs Kruitbosch
90ac730337 Merge mozilla-central and ux 2013-11-11 09:29:29 +01:00
Daniel Holbert
0d80733a15 Bug 936100 part 5: Remove usage of flexbox pref from C++ code. r=mats 2013-11-09 07:53:14 -08:00
Ehsan Akhgari
bbdec43a44 Bug 938123 - Build layout/style in unified mode; r=roc 2013-11-14 21:42:57 -05:00
Gijs Kruitbosch
670a243961 Merge m-c to ux 2013-10-28 10:18:27 +01:00
Mats Palmgren
292c4de944 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
a4f3b417e7 Bug 929991 - Style system implementation of 'text-align: true X'. r=heycam 2013-10-27 20:56:32 +00:00
Mats Palmgren
e85d23205b 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
066c284571 Merge mozilla-central and ux 2013-10-04 07:51:17 +02:00
Cameron McCormack
7f906361f9 Bug 842329 - Part 1: Add "all" shorthand property. r=bzbarsky 2013-10-04 04:49:19 +10:00
Gijs Kruitbosch
a86ffaadd3 Merge mozilla-central and ux 2013-09-30 19:26:47 +02:00
Cameron McCormack
791fe5180c Bug 921797 - Make nsCSSProps::BuildShorthandsContainingTable support -moz-appearance being a shorthand subproperty. r=bzbarsky 2013-09-30 13:23:43 +10:00
Gijs Kruitbosch
e3e7d3b450 Merge mozilla-central and ux 2013-09-26 10:26:16 +02:00
Gijs Kruitbosch
8215d4d7b7 Merge mozilla-central and ux 2013-09-17 11:58:14 +02:00
Ehsan Akhgari
1089e71462 Bug 916610 - Minimize the #includes in layout/style; r=roc 2013-09-15 21:06:52 -04:00
94b4ee0dc0 Bug 916491 - Remove -moz-mac-alternateprimaryhighlight. r=mstange. 2013-09-15 00:44:50 +02:00
Gijs Kruitbosch
e6ce071aed Merge m-c to ux 2013-09-15 19:30:19 +02:00
Matthew Noorenberghe
0b9dc83cc5 Merge mozilla-central to UX 2013-09-06 17:54:20 -07:00
Gijs Kruitbosch
abf35e57f5 Merge mozilla-central and ux 2013-08-29 15:30:00 +02:00
Seth Fowler
2479b470ee Bug 825771 (Part 1) - Add CSS support for the image-orientation property. r=dbaron 2013-08-28 15:39:06 -07:00
Corey Ford
ca4ca772a4 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
fe0bbb4160 Merge m-c to ux 2013-08-20 10:49:07 +02:00
Matthew Noorenberghe
b302a90b20 Merge mozilla-central to UX 2013-08-19 14:49:03 -07:00
John Daggett
25dc392786 Bug 904263 - check pref settings more efficiently. r=dbaron 2013-08-19 13:49:49 +09:00
Mike Conley
a34d6e458f Automated merge with https://hg.mozilla.org/mozilla-central 2013-08-12 17:07:53 -04:00
Gijs Kruitbosch
6eb01f46ce Merge m-c to UX 2013-08-07 21:09:10 +02:00
Rik Cabanier
7bc10fca33 Bug 901375 - Implement support in CSS for mix-blend-mode; r=heycam 2013-08-07 16:59:10 +09:00
Matthew Noorenberghe
e5c36b3c2e Merge mozilla-central to UX 2013-08-06 23:06:26 -07:00
Masayuki Nakano
90fdab154e 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
19e3fc16cd Merge mozilla-central to UX 2013-07-30 19:16:50 -07:00
Gijs Kruitbosch
6492fa8263 Merge m-c to UX 2013-07-30 20:27:46 +02:00
Max Vujovic
1d2e259a7a 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
7dc895067e Merge mozilla-central to UX 2013-07-23 23:40:52 -07:00
Ehsan Akhgari
1ab9c7bcb4 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])
2013-07-18 13:59:53 -04:00
John Daggett
5ec5a6102b Bug 875250 - implement CSS parsing of text-orientation, text-combine-horizontal properties. r=dholbert 2013-08-19 19:26:44 +09:00
John Daggett
f053dd9872 Bug 857142 - change name and switch to grayscale value. r=dbaron 2013-07-30 05:01:14 +09:00
John Daggett
b65b9b17a1 Bug 857142 - implement -moz-font-smoothing. r=dbaron 2013-07-30 05:00:41 +09:00
Frank Yan
0b602c6c63 Bug 880672: Add support for unprefixed cursor:grab and cursor:grabbing. r=bzbarsky sr=dbaron 2013-06-24 00:32:44 -07:00
Simon Sapin
3af4739a73 Bug 483446 - CSS3 'background-attachment: local' support. r=roc 2013-07-23 09:22:58 -04:00
Jared Wein
98ca77b716 Automated merge with https://hg.mozilla.org/mozilla-central 2013-06-05 11:43:23 -04:00