Commit Graph

42 Commits

Author SHA1 Message Date
Cameron McCormack
9ee3123e5b Bug 773296 - Part 17: Resolve property values that have variable references at computed value time. r=dbaron
This re-parses property values at computed value time if
they had a specified value that was a token stream.  We add
a function nsRuleNode::ResolveVariableReferences that looks
at all the values in the nsRuleData and calls in to a new
nsCSSParser::ParsePropertyWithVariableReferences function if they have a
token stream value.

We add a nsCSSExpandedDataBlock::MapRuleInfoInto function that will
take the re-parsed property value and copy it back into the nsRuleData.

nsRuleNode::ResolveVariableReferences returns whether any variables
were attempted to be resolved, so that nsRuleNode::WalkRuleTree wil
recompute the rule detail in case any became 'inherit'.
2013-12-12 13:09:44 +11:00
Ehsan Akhgari
86a457baf2 Bug 916610 - Minimize the #includes in layout/style; r=roc 2013-09-15 21:06:52 -04:00
Ehsan Akhgari
5ee21d6d3f 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
Catalin Iacob
4f03e5bb1a Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn.
--HG--
extra : rebase_source : fc472490dd978d165f02f77ed37f07aed6e5bb61
2013-06-23 14:03:39 +02:00
Isaac Aggrey
997db4d142 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

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 "*.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 PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
L. David Baron
33ccc9bd8a Serialize border-image shorthand to shortest form, with the exception that we'll always serialize 'border-image-source'. (Bug 713643, patch 1) r=bzbarsky 2012-05-30 22:19:49 -07:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Nicholas Nethercote
193c652323 Bug 712865 - Avoid some padding nsCSSCompressedDataBlock by storing nsCSSValue and nsCSSProperty elements separately (2nd attempt). r=dbaron. 2012-03-19 01:39:15 -07:00
Nicholas Nethercote
addfa133f5 Backed out changeset c880f229fbf5 (bug 712865) due to build bustage. r=me. 2012-03-18 22:53:20 -07:00
Nicholas Nethercote
7b08eabcc4 Bug 712865 - Avoid some padding nsCSSCompressedDataBlock by storing nsCSSValue and nsCSSProperty elements separately. r=dbaron.
--HG--
extra : rebase_source : 83dc6eff5e5500fa0dffc0e07d731941ee9e8122
2012-03-18 16:28:08 -07:00
Zack Weinberg
15a9a210d0 Bug 729142 - Convert layout/style to MOZ_STATIC_ASSERT. r=dbaron 2012-02-23 08:19:00 -08:00
Nicholas Nethercote
2806f8e46a Bug 671299 (part 3) - Add style sheet memory reporters. r=dbaron. 2012-01-02 18:19:14 -08:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Nicholas Nethercote
39080ab9ef Bug 681161 - Shrink nsCSSCompressedDataBlock on 64-bit platforms. r=dbaron. 2011-08-25 23:05:55 -07:00
L. David Baron
2131a8f272 Remove nsCSSStruct.h/cpp. (Bug 645620, patch 4) r=bzbarsky 2011-03-28 16:07:26 -07:00
L. David Baron
39b5580d80 Remove nsCSSDataBlock::kOffsetTable, which is no longer needed. (Bug 645620, patch 2) r=bzbarsky 2011-03-28 16:07:26 -07:00
L. David Baron
f22af36a6f Replace use of nsCSS* structs in nsCSSExpandedDataBlock with an array of nsCSSValue. (Bug 645620, patch 1) r=bzbarsky
Note that this increases the size of nsCSSExpandedDataBlock by three
nsCSSValues for the three non-CSS properties.
2011-03-28 16:07:26 -07:00
L. David Baron
0028daf833 Fix bustage from bug 636039, patch 13, by not trying to access stub entries in kOffsetTable for the CSS_PROP_STUB_NOT_CSS entries. (Bug 636039) 2011-03-17 21:58:26 -07:00
Zack Weinberg
bd1cdb9ce4 Bug 576044 (10/12): Don't directly manipulate the contents of mTempData in the CSS parser. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
a589629d5e Bug 576044 (9/12): Add an AddLonghandProperty method to nsCSSExpandedDataBlock. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
33b5fbfe1b Bug 576044 (8/12): remove the last MoveValue call from the CSS parser. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
c400e27e25 Bug 576044 (7/12): cleanup pass on css/Declaration.{h,cpp} and nsCSSDataBlock.{h,cpp}. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
bc4afbe28a Bug 576044 (6/12): remove vestiges of nsCSSType. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
a5a3802007 Bug 576044 (5/12): eliminate ValueList as a storage type. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
0251ba5a66 Bug 576044 (4/12): eliminate ValuePairList as a storage type. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
e0203804f9 Bug 576044 (3/12): eliminate Rect as a storage type. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
5922bd1bb5 Bug 576044 (2/12): eliminate ValuePair as a storage type. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
a6b8c9b603 Bug 569719 part 16: Don't refcount declarations and data blocks; don't have style rules hold direct pointers to data blocks. r+a=dbaron 2010-07-23 11:00:52 -07:00
Zack Weinberg
39c4539636 Bug 569719 part 13: move nsCSSParser methods that manipulate data blocks into the appropriate nsCSS*DataBlock classes. r=dbaron 2010-07-23 11:00:44 -07:00
Zack Weinberg
af2031e447 Bug 569719 part 12: replace nsCSSParser::ClearTempData with explicit use of mTempData.ClearProperty (and make that method handle shorthands). r=dbaron 2010-07-23 11:00:42 -07:00
Zack Weinberg
1e5ad912e8 Bug 569719 part 4: Move nsCSSExpandedDataBlock::RuleDataPropertyAt into struct nsRuleData. r=dbaron 2010-07-23 11:00:21 -07:00
Zack Weinberg
9c006a4ff7 Bug 569719 part 1: Rename nsCSSDeclaration to mozilla::css::Declaration. r=dbaron 2010-06-28 15:49:35 -07:00
Craig Topper
00d9a2b835 Bug 566808 - "DeCOMtaminate nsIStyleRule method signatures" [r=dbaron]
(transplanted from 9a7be1835b530c72a46069a5c3951b80b16804a3)

--HG--
extra : transplant_source : %9A%7B%E1%83%5BS%0Cr%A4%60i%A5%C3%95%1B%80%B1h%04%A3
2010-05-19 22:28:00 -04:00
Robert Longson
819b6997d7 Bug 523576 - Fix compilation with disable-svg. r=dbaron 2009-12-12 19:43:34 +00:00
L. David Baron
b540b44323 Reference-count CSS compressed data blocks and make them immutable when their reference count is above 1. (Bug 522595) r=bzbarsky 2009-12-11 08:13:19 -08:00
L. David Baron
7f32fb197e Separate nsCSSPropertySet out from nsCSSDataBlock so that it can be used elsewhere (for transitions). (Bug 435441) r=bzbarsky 2009-09-11 06:46:36 -04:00
Boris Zbarsky
710dcca8d0 Bug 498562. Skip the Expand/Compress cycle in the common case of inline style sets. r+sr=dbaron 2009-07-09 14:50:39 -07:00
L. David Baron
f5e3d83ef8 Typesafe helpers for nsCSSDataBlock::StorageFor. (Bug 475214) r+sr=bzbarsky 2009-02-06 08:52:13 -08:00
jwalden@mit.edu
e3c4baccae Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros. 2007-07-08 00:08:04 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00