Граф коммитов

208 Коммитов

Автор SHA1 Сообщение Дата
Manish Goregaokar a22e045c64 Bug 1339252: Allow comments in SVG presentation attributes; r=bz
MozReview-Commit-ID: AfxWHvC5Byw

--HG--
extra : rebase_source : 82e1b042793b1cf6d798df7d79ce6463bd3feb8f
2017-02-13 16:02:46 -08:00
Iris Hsiao 344c50ee43 Backed out changeset 8379a33c1790 (bug 1339252) for valgrind test failure 2017-02-14 12:40:40 +08:00
Manish Goregaokar d786b667eb Bug 1339252: Allow comments in SVG presentation attributes; r=bz
MozReview-Commit-ID: AfxWHvC5Byw

--HG--
extra : rebase_source : 7a6864cfdd2ecd80d5d4cf2ddc32b880e84f33b1
2017-02-13 16:02:46 -08:00
Daniel Holbert 14dede68ec Bug 1321495 part 2: Add needed "using namespace" declarations to several .cpp files in layout/style, to preemptively fix unified-build bustage. r=TYLin
MozReview-Commit-ID: 5p6DhiZ5YFg

--HG--
extra : rebase_source : 17a90dbe63af0b4e3a7c29881336fc31fbaf726d
2016-12-01 10:37:44 -08:00
Boris Zbarsky 5c0257a736 Bug 1315368. Back out changeset bf190e326bfd (bug 790997) because what it implements doesn't actually follow the CSS syntax editor's draft and breaks some sites in the process. r=dbaron 2016-11-05 00:23:16 -04:00
Hiroyuki Ikezoe 99d11e5e5f Bug 1290994 - Do not multiply 0 by infinity in nsCSSScanner::ScanNumber. r=heycam
Without this patch test cases 1290995-{1,2,3}.html causes an assertion.
1290995-4.html is hit by the assertion in this patch if we don't avoid the
multiplication.

MozReview-Commit-ID: AtPVyPtd0r8

--HG--
extra : rebase_source : 43dbbbb98eb95faa15774b206a5776f43b1ea072
2016-08-03 19:09:58 +09:00
Boris Zbarsky 63c6b08058 Bug 790997. Align our tokenization of CSS bad-url-token with the CSS Syntax Level 3 CR. r=heycam,tromey
The main change is that once we discover we have a bad-url-token we consume
everything up to, but not including, the next ')' character.  While we do this
we can cross line boundaries and don't bother about matching braces or quotes.
We just keep going until we find the ')' or hit EOF.
2016-07-13 22:54:20 -04:00
Boris Zbarsky f74dac01c5 Bug 1175192. Consistently allow identifiers to start with -- in the CSS parser. r=heycam 2015-06-24 10:17:05 -07:00
Kyle Zentner d9185dba03 Bug 1164918 - Allow multiple '.' per cell in grid-template-areas. r=dholbert 2015-05-21 15:28:00 -04:00
Tom Tromey 8e26488934 Bug 1152033 - Expose CSS lexer to js. r=heycam, r=bz
--HG--
extra : rebase_source : 1eaabcb6629c185f2e18f27b8c09d9a11611869a
2015-05-04 10:28:00 -04:00
Alexandros Chronopoulos 29aaf180d6 Bug 751939 - make url( followed by EOF valid. r=dbaron 2014-07-23 00:14:16 +03:00
Cameron McCormack 281ddc537e Bug 985838 - Change custom property name prefix from "var-" to "--" and allow identifiers to begin with "--". r=dbaron 2014-04-02 14:32:16 +11:00
Simon Sapin 27ad62a36d Bug 976787 part 2: Add the grid-template-areas property to the style system. r=dholbert 2014-03-10 15:54:14 -07:00
L. David Baron 03ba2e465b Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
L. David Baron 8a99d6dc2e Bug 964529: Support scientific (exponential) notation for CSS <number> values, including percentages and dimensions (but not <integer> values). r=SimonSapin
Resolved for <number> on 2012-08-15:
http://lists.w3.org/Archives/Public/www-style/2012Aug/0900.html

Resolved for percentages and dimensions in CSS teleconference 2013-04-17:
http://lists.w3.org/Archives/Public/www-style/2013Apr/0428.html
2014-01-31 16:06:46 -08:00
Ryan VanderMeulen 7fd7d52cb1 Backed out changeset 699811c420a2 (bug 964529) for crashtest asserts.
CLOSED TREE
2014-01-31 16:39:27 -05:00
L. David Baron d2e4206fe5 Bug 964529: Support scientific (exponential) notation for CSS <number> values, including percentages and dimensions (but not <integer> values). r=SimonSapin
Resolved for <number> on 2012-08-15:
http://lists.w3.org/Archives/Public/www-style/2012Aug/0900.html

Resolved for percentages and dimensions in CSS teleconference 2013-04-17:
http://lists.w3.org/Archives/Public/www-style/2013Apr/0428.html
2014-01-31 12:27:59 -08:00
Ehsan Akhgari 1b83407ce9 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 85a6f5c521 Bug 773296 - Part 11: Give nsCSSParser and nsCSSScanner the ability to save/restore their current input state. r=dbaron
This adds functions to nsCSSParser and nsCSSScanner that let us save the
current input position (and corresponding information like line/column
number) and parser pushback, and be able to restore it later.  We'll use
this when rewinding the scanner after we first encounter a property with
a variable reference and go back to reparse it as a token stream.
2013-12-12 13:09:42 +11:00
Cameron McCormack d6b91eb984 Bug 773296 - Part 9: Give nsCSSScanner the ability to remember when it encounters a "var(" token. r=dbaron
This is the first part of handling variable references in regular
properties.  We have the scanner set a flag whenever it returns a "var("
token, so that when we come to the end of parsing a property that
failed, we know that it is because of a variable reference.
2013-12-12 13:09:42 +11:00
Cameron McCormack c42a6189e5 Bug 773296 - Part 8: Resolve and compute CSS variables. r=dbaron
We add a new class CSSVariableResolver whose job is to take the
inherited computed variables and the specified variable declarations and
to perform cycle removal and resolution of the variables, storing the
result in the CSSVariableValues object on an nsStyleVariables.  We use
CSSVariableResolver in nsRuleNode::ComputeVariablesData.

The variable resolver does this:

  1. Asks the CSSVariableValues and CSSVariableDeclarations objects
     to add their variables to it.
  2. Calls in to a new nsCSSParser function
     EnumerateVariableReferences that informs the resolver which
     other variables a given variable references, and by doing so,
     builds a graph of variable dependencies.
  3. Removes variables involved in cyclic references using Tarjan's
     strongly connected component algorithm, setting those variables
     to have an invalid value.
  4. Calls in to a new nsCSSParser function ResolveVariableValue
     to resolve the remaining valid variables by substituting variable
     references.

We extend nsCSSParser::ParseValueWithVariables to take a callback
function to be invoked when encountering a variable reference.  This
lets EnumerateVariableReferences re-use ParseValueWithVariables.

CSSParserImpl::ResolveValueWithVariableReferences needs different
error handling behaviour from ParseValueWithVariables, so we don't
re-use it.

CSSParserImpl::AppendImpliedEOFCharacters is used to take the
value returned from nsCSSScanner::GetImpliedEOFCharacters while
resolving variable references that were declared using custom
properties that encountered EOF before being closed properly.

The SeparatorRequiredBetweenTokens helper function in nsCSSParser.cpp
implements the serialization rules in CSS Syntax Module Level 3:

https://dvcs.w3.org/hg/csswg/raw-file/3479cdefc59a/css-syntax/Overview.html#serialization
2013-12-12 13:09:41 +11:00
Birunthan Mohanathas 3440613a39 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
Birunthan Mohanathas 68b00083fd Bug 713082 - Part 1: Remove unnecessary Util.h includes. r=Waldo 2013-12-08 21:52:33 -05:00
Cameron McCormack 1e1182d1b9 Bug 914072 - Have nsCSSScanner store any implied characters at EOF needed for correct serialization. r=dbaron 2013-12-07 12:25:07 +11:00
Ehsan Akhgari 6ada2899b2 Bug 916610 - Minimize the #includes in layout/style; r=roc 2013-09-15 21:06:52 -04:00
Ehsan Akhgari 2824b29025 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
Corey Ford 44dbcc4d6c Bug 883987 - Don't allow BAD_STRING or BAD_URL tokens in @supports conditions. r=dbaron 2013-06-27 17:03:33 -07:00
Corey Ford cb2184b31c Bug 829816 - Treat \0 and U+0000 in CSS style sheets as U+FFFD. r=dbaron 2013-06-26 15:17:14 -07:00
Cameron McCormack 7fd2090cfd Bug 880150 - Treat \<EOF> as U+FFFD outside a string, and drop it inside a string. r=dbaron 2013-06-10 17:04:27 +10:00
David Zbarsky 3250bd906e [Bug 847110] Fix up includes in layout/style r=dbaron 2013-03-02 19:31:48 -05:00
Zack Weinberg dd8331da7a Bug 842134: fix serialization of unquoted url() in CSS. r=heycam 2013-02-17 22:03:55 -05:00
Zack Weinberg 3f37059b40 Bug 543151, part A4: unify the inner text-scanning loops used by GatherIdent, ScanString, NextURL. r=heycam 2013-02-16 18:27:53 -05:00
Zack Weinberg 4ad41ccb2d Bug 543151, part A3: convert the scanner to use peek/advance. r=heycam 2013-02-16 18:27:53 -05:00
Zack Weinberg dd23fa075d Bug 543151, part A2: Introduce the new peek/advance API and reimplement the old read/pushback API on top of it. r=heycam 2013-02-16 18:27:53 -05:00
Zack Weinberg 7dc7416d1e Bug 543151, part A1: Preliminary cleanups to the scanner/parser interface and the organization of nsCSSScanner.cpp. r=heycam 2013-02-16 18:27:53 -05:00
L. David Baron 139be3374b Bug 836530: Make all non-ASCII characters be CSS identifier characters. r=bzbarsky
This is as was proposed in
http://lists.w3.org/Archives/Public/www-style/2013Jan/0394.html
and resolved in the CSS Working Group's teleconference on 2013-01-30.

This removes a difference between Gecko and other browsers.
2013-01-31 20:09:47 -08:00
Mats Palmgren b7ae90666d Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Zack Weinberg 4e8868dbf4 Bug 413958: report the text of the offending line in CSS error messages. r=dbaron 2013-01-11 12:27:43 -05:00
Zack Weinberg f6d51ce9b0 Bug 229827: escape unprintable characters in CSS parser diagnostics. r=dbaron 2012-11-16 21:53:38 -05:00
Ryan VanderMeulen 8a64b526bc Backed out changesets b242651c3c1b (bug 229827), b36eaac9ecf8, and 40f38a8aa660 (bug 663291) for mochitest-3/4 failures.
CLOSED TREE
2012-11-16 16:59:38 -05:00
Zack Weinberg 04aa42be23 Bug 229827: escape unprintable characters in CSS parser diagnostics. r=dbaron
--HG--
extra : rebase_source : 9298095c2cd7669b5ca1a07cd5378a852c4a7f36
2012-11-16 15:29:21 -05:00
Zack Weinberg b63ce42eb9 Bug 455839: simplify the CSS error reporting API. r=dbaron 2012-11-15 11:36:15 -05:00
Zack Weinberg 662e668d9f Bug 516091: Split CSS error reporting to its own file and class. Allows CSS scanner to become a stack object. r=dbaron 2012-11-15 11:36:15 -05:00
Jacek Szpot 761b11160f Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Seth Fowler 15aee59cde Bug 786108 - Cache UTF-16 version of URI to prevent repeated conversions in the CSS scanner, and free the cache after a short time. r=bz 2012-10-03 15:28:57 -07:00
Ed Morley d3c2c6f0a2 Backout ec0dcd401a3f (bug 786108) for crashes 2012-09-28 22:04:56 +01:00
Seth Fowler c8791ccf26 Bug 786108 - Cache UTF-16 version of URI to prevent repeated conversions in the CSS scanner, and free the cache after a short time. r=bz 2012-09-28 09:56:47 -07:00
Isaac Aggrey 481e7dfb0b Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Mats Palmgren 6eaf6d0d2b Bug 788836 - Simplify @-keyword parsing by letting ParseAtKeyword deal with everthing after the @. Make it pass the first char to GatherIdent so that it returns false for a bad escape sequence at the start. r=dbaron 2012-09-12 00:20:52 +02:00
Daniel Holbert 1dc8cb22b6 Bug 789382: Change nsIScriptError methods init() and initWithWindowID() to take nsAString, rather than wchar / PRUnichar*. r=bz sr=bsmedberg 2012-09-09 16:29:12 -07:00