Commit Graph

340 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
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
James Kitchener
07532c2262 Bug 114365 - Add CSS properties for -moz-math-variant. r=heycam 2013-12-02 11:49:00 -05: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
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
Cameron McCormack
cf0096a152 Bug 921731 - Part 2: Parse "unset" in property values whereever "inherit" and "initial" are allowed. r=bzbarsky 2013-10-04 04:49:17 +10:00
Cameron McCormack
e668e86091 No bug - Comment typo fixes in nsCSSProps.h. (DONTBUILD) 2013-09-29 11:40:07 +10:00
Birunthan Mohanathas
b79cfc7aab Bug 264517 - Move the _LAYOUT variant of COMPUTED_STYLE_MAP_ENTRY into a property bit. r=dbaron 2013-09-23 09:28:55 -04:00
Ehsan Akhgari
1089e71462 Bug 916610 - Minimize the #includes in layout/style; r=roc 2013-09-15 21:06:52 -04:00
Jonathan Kew
b5e7a836ba Bug 798843 - Rename -moz-objectFill, -moz-objectStroke, -moz-objectValue to context-fill, context-stroke, context-value r=dbaron
* * *
bug 798843 - recompile svg.woff font to pick up the updated glyph definitions
* * *
bug 798843 - update property_database.js to match the new property names
2013-05-16 14:35:15 +12:00
Ryan VanderMeulen
442d2f8435 Backed out changesets 6c097bdfc079, 51f5d900cd27, 9fdf99c07466, and b322938b37ef (bug 798843) due to intermittent Windows test failures. 2013-09-13 11:15:54 -04:00
Jonathan Kew
8cc7cd2503 Bug 798843 - Rename -moz-objectFill, -moz-objectStroke, -moz-objectValue to context-fill, context-stroke, context-value r=dbaron
* * *
bug 798843 - recompile svg.woff font to pick up the updated glyph definitions
* * *
bug 798843 - update property_database.js to match the new property names
2013-05-16 14:35:15 +12: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
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
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
912515edd4 Bug 904263 - don't set disabled subproperties within font shorthand parsing. r=dbaron 2013-08-15 09:37:57 +09: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
Ms2ger
112d8c8556 Backout changeset f2ac3d57b445 for insufficient review. 2013-08-08 19:37:47 +02:00
Masayuki Nakano
c3e406d353 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
Daniel Holbert
7e460a7f77 (no bug) comment-tweak, to explicitly mention a pref name instead of hinting at it. (no review)
DONTBUILD because comment-only change
2013-08-07 15:32:16 -07:00
Rik Cabanier
7bc10fca33 Bug 901375 - Implement support in CSS for mix-blend-mode; r=heycam 2013-08-07 16:59:10 +09: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
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
b65b9b17a1 Bug 857142 - implement -moz-font-smoothing. r=dbaron 2013-07-30 05:00:41 +09:00
Max Vujovic
5a2daf1e45 Bug 895182 - [CSS Filters] Implement parsing for blur, brightness, contrast, grayscale, invert, opacity, saturate, sepia. Co-authored with Dirk Schulze (krit). r=heycam 2013-07-22 15:08:33 -07:00
Ed Morley
69c6c1cc68 Backed out changeset f24d81b85929 (bug 895182) for Windows build failures on a CLOSED TREE 2013-07-23 16:36:45 +01:00
Max Vujovic
977bf5fda4 Bug 895182 - [CSS Filters] Implement parsing for blur, brightness, contrast, grayscale, invert, opacity, saturate, sepia. Co-authored with Dirk Schulze (krit). r=heycam 2013-07-23 10:47:16 -04:00
Mina Almasry
d1e256d651 Bug 877690 - Implement an API for getting CSS property values to be used in auto-completion. r=bz 2013-07-15 17:28:49 -04:00
Ed Morley
9b0f7d4fa4 Backed out changeset 9897835271b5 (bug 877690) for crashes on a CLOSED TREE 2013-07-15 16:36:17 +01:00
Mina Almasry
a4f196b35a Bug 877690 - Implement an API for getting CSS property values to be used in auto-completion. r=bz 2013-07-15 09:59:57 -04:00
Rick Eyre
5f179e3bf3 Bug 772321 - Implement CSS parsing of writing-mode r=dbaron 2013-05-28 12:00:49 -04:00
Daniel Holbert
a80d1a2bbd Bug 864553 part 1: Remove ifdefs for MOZ_FLEXBOX and configure.in MOZ_FLEXBOX chunk. r=dbaron 2013-05-22 11:44:25 +08:00
John Daggett
0237527ef8 Bug 549861 - reland font-variant subproperties with DOM-peer review. r=khuey 2013-05-20 11:59:20 +09:00
Ms2ger
071b72992d Merge backout. 2013-05-19 20:26:58 +02:00
Ms2ger
4582dd6af1 Backout bug 549861 (changesets 27fb48df15ce:7ecd4e3863b4) for insufficient review. 2013-05-19 20:23:19 +02:00
John Daggett
61b05b94d1 Bug 549861. Implement CSS parsing of font-variant-alternates. r=dbaron 2013-05-13 18:45:37 +09:00
John Daggett
bc5affcad7 Bug 549861. Parse simple font-variant subproperties. r=dbaron 2013-05-13 18:45:36 +09:00
Phil Ringnalda
f6e12410a4 Back out 4d755ea39a56:81d152795bea (bug 798843) for style mochitest failures 2013-05-15 20:53:30 -07:00
Edwin Flores
63c994e29e Bug 798843 - Rename -moz-objectFill, -moz-objectStroke, -moz-objectValue to context-fill, context-stroke, context-value r=dbaron 2013-05-16 14:35:15 +12:00
Boris Zbarsky
3e588339d4 Bug 870845. Correctly check for parse-inaccessible properties in inDOMUtils::GetCSSPropertyNames. r=heycam 2013-05-14 14:20:58 -04:00
Ryan VanderMeulen
c2b78bdc34 Backed out 4 changesets (bug 869195, bug 870845, bug 872043, bug 862825) for mochitest b-c, mochitest-other, and xpcshell orange on a CLOSED TREE.
Backed out changeset 049889b25a79 (bug 869195)
Backed out changeset fc0bef5a2cfd (bug 862825)
Backed out changeset 267fe0d9c201 (bug 870845)
Backed out changeset 7b06b9d1acb2 (bug 872043)
2013-05-14 16:40:26 -04:00
Boris Zbarsky
ab2e8ad216 Bug 870845. Correctly check for parse-inaccessible properties in inDOMUtils::GetCSSPropertyNames. r=heycam 2013-05-14 14:20:58 -04:00
L. David Baron
e7a08386b5 Move enabled state for aliases from gAliases to gPropertyEnabled. (Bug 849656, patch 3) r=bzbarsky 2013-03-13 09:58:39 -07:00
Cameron McCormack
d57e4a2d48 Bug 793617 - Implement mask-type property. r=dbaron,longsonr 2012-12-21 11:15:22 +11:00
Brendan Dahl
7e5f38db9d Bug 115199 - CSS2 @page rule style support. r=dbaron 2012-08-31 14:21:28 -07:00
Ryan VanderMeulen
5240f9d681 Backed out changesets 0b6b3d2856a4 and 30776e402787 (bug 115199) for reftest failures. 2012-11-13 20:19:18 -05:00
Brendan Dahl
a41fcdd8da Bug 115199 - CSS2 @page rule style support. r=dbaron 2012-08-31 14:21:28 -07:00
Mounir Lamouri
507ad1b9ab 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
Daniel Holbert
05bdf6b5c9 Bug 796212 part 2: Make pref "layout.css.flexbox.enabled" control whether -moz-flex and -moz-inline-flex are recognized as valid values for "display" property. r=bz 2012-10-02 22:04:50 -07:00