Commit Graph

329 Commits

Author SHA1 Message Date
Mats Palmgren
dd2837ea9a Bug 1005567 - Remove the obsolete 'grid-auto-position' property. r=simon.sapin 2014-05-06 09:45:13 +00:00
Mats Palmgren
cec9a9bb28 Bug 994592 - Make 'row' the initial value for 'grid-auto-flow' and remove 'none' as a valid value. And add the 'stack' variants. r=simon.sapin 2014-05-06 09:45:13 +00:00
Eric Rahm
e268f1cddf Bug 1003479 - Fix incorrect usage of SizeOfIncludingThis and SizeOfExcludingThis functions. r=njn 2014-05-01 10:37:54 -07:00
Maksim Lebedev
7c49b9c672 Bug 979345 - Implement "touch-action: manipulation" CSS value for Pointer Events. r=kats,botond,dbaron,mbrubeck 2014-04-23 09:56:46 -04:00
John Daggett
0454243905 Bug 997006 - rename text-combine-horizontal to text-combine-upright. r=dholbert 2014-04-17 09:15:18 +09:00
Simon Sapin
c46c597dbf Bug 989755: Fix up serialization of the grid-template shorthand. r=dholbert
* Refuse to serialize some combinations of values that the shorthand
  can not represent: 'grid-template-areas: (not none)' combined with
  'grid-template-rows: subgrid' or 'grid-template-columns: subgrid'.
  (The former used to cause an assertion failure.)
* Remove an extraneous trailing space that occured when a <track-list>
  was last. (ie. followed by an omitted <line-names>)
* Add tests for the result of this serialization.
2014-03-31 13:31:00 +02:00
Simon Sapin
76dab6e7e3 Bug 983175 - Part 2: Add style system support for 'subgrid' in the grid-template* properties. r=dholbert
http://dev.w3.org/csswg/css-grid/#subgrids
2014-03-27 11:54:40 -04:00
Simon Sapin
1dd63c0ce5 Bug 984760 part 2: Use GridTemplateAreasValue though nsRefPtr pointers. r=dholbert 2014-03-21 23:06:16 +08:00
Simon Sapin
4ca8d6c048 Bug 984760 part 1: Rename nsCSSValueGridTemplateAreas to css::GridTemplateAreasValue. r=dholbert 2014-03-21 23:06:13 +08:00
Simon Sapin
598ed3b0c5 Bug 981752 part 2c: Add the grid-template shorthand. r=dholbert 2014-03-21 23:06:12 +08:00
Cameron McCormack
e5ccf57b56 Bug 984739 - Make nsCSSValue::StartImageLoad assume |new ImageValue| is infallible. r=dbaron 2014-03-18 16:49:51 +11:00
Kyle Huey
ea94e7d568 Bug 967364: Rename already_AddRefed::get to take. r=bsmedberg 2014-03-15 12:00:15 -07:00
Simon Sapin
df5c6efc19 Bug 976787 part 5: Add grid-{column,row}-{start,end} and grid-auto-position to the style system. r=dholbert 2014-03-10 15:54:17 -07:00
Simon Sapin
95adb253ac Bug 976787 part 4: Add the grid-auto-flow property to the style system. r=dholbert 2014-03-10 15:54:16 -07:00
Simon Sapin
c0f201d73c Bug 976787 part 2: Add the grid-template-areas property to the style system. r=dholbert 2014-03-10 15:54:14 -07:00
Simon Sapin
9c10be3e65 Bug 976787 part 1: Add the grid-template-{columns,rows} properties to the style system. r=dholbert 2014-03-10 15:54:13 -07:00
Mats Palmgren
89deaf2dec Bug 969756. r=cam 2014-02-15 17:40:38 +00:00
Nick Lebedev
2f872fc62f Bug 795567 - Part 1: Add touch-action css property to the style system. r=dbaron 2014-01-15 10:03:15 -05:00
Ehsan Akhgari
68bfe70f09 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.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 PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Cameron McCormack
4bae88ee66 Bug 731271 - Part 5: Add support for serializing colors in nsCSSValue in their original syntactic form. r=dbaron 2013-09-16 09:35:49 +10:00
Cameron McCormack
4afd66d2e7 Bug 731271 - Part 4: Add ability for nsCSSValues to serialize themselves in their original syntactic form. r=dbaron 2013-09-16 09:35:49 +10:00
Cameron McCormack
15685090e3 Bug 731271 - Part 2: Add new nsCSSValue units to store colors in their original syntactic form. r=dbaron 2013-09-16 09:35:48 +10:00
Cameron McCormack
98ab6c03e1 Bug 731271 - Part 1: Rename eCSSUnit_Color to eCSSUnit_RGBAColor. r=dbaron 2013-09-16 09:35:48 +10:00
Cameron McCormack
84782ff7eb Bug 773296 - Part 18: Add error reporting for invalid variable references. r=dbaron
This adds CSS parser error reporting for parsing of custom properties
and normal properties that have variable references.

When re-parsing a normal property that had a variable reference, we
report any parse error to be at the beginning of the property value.
This is because it is difficult to keep track of where exactly each
variable substitution came from to point to the particular value
that would have caused the parse error.  For example, with this:

  :root {
    var-a: 1px 2px;
    var-b: 3px var(a);
  }
  p {
    margin: var(a) var(b);
  }

we would end up resolving the value of 'margin' to:

  "  1px 2px  3px  1px 2px"

In this string, the parse error occurs when we encounter the final
"2px", but by this point we don't know where that value came from.
So instead we just point to the line on which 'margin' was declared.

We extend ErrorReporter with an OutputError overload that takes the
specific line and column number to use in the error report to get this
right, and we store the line and column number for each token stream
we parse on the nsCSSValueTokenStream object.
2013-12-12 13:09:44 +11:00
Cameron McCormack
2d29cdbe6b Bug 773296 - Part 16: Add a ref-counted list nsCSSValue unit and use it for tranform lists; hold a strong reference to one on nsStyleDisplay. r=dbaron
This adds a new eCSSUnit_SharedList type for nsCSSValue, which is a
reference counted object that contains an nsCSSValueList.  We need this
so that nsStyleDisplay::mSpecifiedTransform can hold a strong reference
to a specified transform list value.  When 'transform' is specified
using a variable reference, the resulting nsCSSValue does not stick
around in the Declaration object, so we wouldn't be guaranteed that
it lives long enough for nsStyleDisplay to keep referencing it.
2013-12-12 13:09:44 +11:00
Cameron McCormack
25de3e886e Bug 773296 - Part 10: Add a new eCSSUnit_TokenStream type for storing unparsed CSS values. p=ebassi,heycam r=dbaron
Patch co-authored by Emmanuele Bassi <ebassi@gmail.com>

This adds a new nsCSSValue unit type to represent an unparsed
stream of CSS tokens as a specified value.  This is what properties
that have a variable reference get as their specified value.

On the nsCSSValueTokenStream object that is used when mUnit ==
eCSSUnit_TokenStream, we store two property IDs: first, the property
ID for the longhand that this token stream value is the value for.  We
pass this back in to nsCSSParser::ParseProperty at computed value time,
when we need to re-parse the property.  Second is the shorthand property
ID, if we used a variable reference in a shorthand.  In such a case, we
store the token stream value for each of the corresponding longhand
properties.  This is because shorthands don't actually get any storage
in an nsRuleData, and because any of the longhands might be overwritten
by subsequent declarations, we need to keep the token stream somewhere.

We also store other information on the nsCSSValueTokenStream required by
the CSS parser (base URI, etc.).
2013-12-12 13:09:42 +11:00
John Daggett
47a07a73e1 Bug 913264 - add none value to font-variant-ligatures. r=dbaron 2013-11-19 13:30:25 +09:00
Ehsan Akhgari
bbdec43a44 Bug 938123 - Build layout/style in unified mode; r=roc 2013-11-14 21:42:57 -05:00
Cameron McCormack
40ecf580c9 Bug 921731 - Part 1: Add new eCSSUnit_Unset unit for nsCSSValues. r=bzbarsky 2013-10-04 04:49:17 +10:00
Ehsan Akhgari
30faed685a Bug 919355 - Part 2: Don't #include nsDeviceContext.h in Units.h; r=roc 2013-09-23 07:55:35 -04:00
Ehsan Akhgari
1089e71462 Bug 916610 - Minimize the #includes in layout/style; r=roc 2013-09-15 21:06:52 -04:00
Robert O'Callahan
51222bdd45 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg 2013-09-02 20:41:57 +12:00
Daniel Holbert
e45757d120 Bug 907547: Update nsCSSValue::BufferFromString documentation to indicate that it's infallible, and remove callers' unneeded null-checks. r=bz 2013-08-21 12:31:38 -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
Ms2ger
5a51413d49 Bug 901323 - Don't include nsContentUtils.h unnecessarily; r=jlebar 2013-08-14 08:56:21 +02: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
Catalin Iacob
f88cdc0744 Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn. 2013-06-23 14:03:39 +02:00
L. David Baron
a690f8de0a Bug 511803 patch 2: Convert all eCSSUnit_Function storage to use nsCSSKeyword. This leads to one behavior change, which is case canonicalization for font-variant-alternates function values. r=bzbarsky 2013-05-23 09:08:29 +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
4582dd6af1 Backout bug 549861 (changesets 27fb48df15ce:7ecd4e3863b4) for insufficient review. 2013-05-19 20:23:19 +02:00
John Daggett
5a24d36a26 Bug 549861. Changes based on review comments for parsing of font-variant-alternates. r=dbaron 2013-05-13 18:45:38 +09: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
Nathan Froyd
d80f045a6c Bug 858131 - rewrite FloatingPoint.h to be C++-only instead of C-compatible C++; r+original-author=Waldo 2013-05-01 16:55:13 -04:00
Aryeh Gregor
cfbfebd4ba Bug 859817 - Make nsStringBuffer::Alloc return already_AddRefed; r=bz 2013-04-22 14:13:22 +03:00
Ms2ger
1e6c995090 Bug 845374 - Part l: Stop including nsIDocument.h in nsContentUtils.h and fix two nits; r=khuey 2013-03-17 08:55:15 +01:00
Kyle Huey
4697aa9afe Bug 816498: Fix some things about background attribute handling that are still broken. r=bz
As filed the bug is about table backgrounds failing to print.  The root cause of this is that we load images from the original document, because print/print-preview documents (which are static clones of the original) cannot do loads.  This results in an entry in the css::ImageValue's request table under the original document, but entry under the printing document.  Then we do layout, try to get the request, and fail, and nothing is displayed.  The solution to this is to force us to clone the request for the printing document if we're loading off the original document.  I manually verified that this does not regress Bug 560235.

While writing a test for this, we discovered another problem.  The reftest print code does not actually use the printing codepath.  Instead it takes an existing document, tears down its presshell, and creates a new presshell for printing.  Fixing the above bug did not make the reftest print test pass because ImageLoader does not deal properly with presshell destruction/recreation.  It assumes that when the presshell is destroyed all of the css::ImageValues can be cleared of their entries for that document.  This fails for ImageValues for mapped attributes because they are held alive by the content tree.  When a new presshell for this document is then created there is no entry for the document and thus no image request to paint.  The fix for this is to only clear the frame to request and request to frame mapping hashtables and not to clear the document's entry on the ImageValue when the presshell is destroyed.  The destruction of the ImageLoader (which is held from a strong reference on the document) is when those entries are removed.  The final change is to change css::ImageValue's hashtable from holding a strong reference to the keys (which are documents) to holding raw pointer references.  This is safe because we clear the relevant entry when the corresponding ImageLoader dies, and is needed to prevent a reference cycle that was being broken by presshell destruction.
2013-02-23 06:59:43 -08:00
Cameron McCormack
d2bd541d5c Bug 828805 - Implement SVG paint-order property. r=bz,roc 2013-01-13 10:27:53 +11:00
Jeff Muizelaar
170a207cce Bug 801061. Switch from imgIRequest to imgRequestProxy. r=joe
This doesn't switch all of the users yet, but is a step in the right
direction.
2012-10-12 08:43:01 -04:00
Jet Villegas
4ea9e1ffaf Bug 806068 part 1: Add support for unprefixed "initial" keyword in CSS (retaining prefixed keyword as an alias, for now). r=dholbert 2012-10-30 16:40:33 +01:00