Commit Graph

45 Commits

Author SHA1 Message Date
Cameron McCormack
7eb5d97a49 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
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
Catalin Iacob
6f4758d23e 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
481e7dfb0b Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Ehsan Akhgari
e368dc9c85 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
2cf7788598 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
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Nicholas Nethercote
092c8b03a9 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
204ccd37e5 Backed out changeset c880f229fbf5 (bug 712865) due to build bustage. r=me. 2012-03-18 22:53:20 -07:00
Nicholas Nethercote
f62f7cea29 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
f4fb4a1991 Bug 729142 - Convert layout/style to MOZ_STATIC_ASSERT. r=dbaron 2012-02-23 08:19:00 -08:00
Nicholas Nethercote
0709e1673b Bug 671299 (part 3) - Add style sheet memory reporters. r=dbaron. 2012-01-02 18:19:14 -08:00
Ehsan Akhgari
92064e6d3f 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
d2b70213ac 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
52f911308e Bug 681161 - Shrink nsCSSCompressedDataBlock on 64-bit platforms. r=dbaron. 2011-08-25 23:05:55 -07:00
L. David Baron
6964725cc6 Remove nsCSSStruct.h/cpp. (Bug 645620, patch 4) r=bzbarsky 2011-03-28 16:07:26 -07:00
L. David Baron
4bd09b8961 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
9e22f77798 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
5aed3e0c4a 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
d87b522209 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
a2f399b4ed 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
fa13062b84 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
f66c604171 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
f892a0765b Bug 576044 (6/12): remove vestiges of nsCSSType. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
ca47f883ec 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
69b647977d 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
124282380a 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
c95db1a5f9 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
24feb13867 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
99904c8b6e 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
4a58609d8c 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
aebfe9eed8 Bug 569719 part 4: Move nsCSSExpandedDataBlock::RuleDataPropertyAt into struct nsRuleData. r=dbaron 2010-07-23 11:00:21 -07:00
Zack Weinberg
d60d9e623f Bug 569719 part 1: Rename nsCSSDeclaration to mozilla::css::Declaration. r=dbaron 2010-06-28 15:49:35 -07:00
Craig Topper
213b0d1c3f 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
28e410c8b6 Bug 523576 - Fix compilation with disable-svg. r=dbaron 2009-12-12 19:43:34 +00:00
L. David Baron
9c2df8e0c0 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
e990c4947f 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
b5276441a8 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
4efc261683 Typesafe helpers for nsCSSDataBlock::StorageFor. (Bug 475214) r+sr=bzbarsky 2009-02-06 08:52:13 -08:00
jwalden@mit.edu
6d7584839a 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
dbaron%dbaron.org
30f8db359a File comments that show up in LXR and provide a quick summary of what's in each file. 2006-03-25 05:47:31 +00:00
bzbarsky%mit.edu
256acff928 Don't call ValueAppended on every single inline style mutation. Should be a
tad faster, and actually serialize better.  Bug 288574, r+sr=dbaron, a=asa.
2005-04-28 20:19:24 +00:00
roc+%cs.cmu.edu
087ede0319 Bug 245297. Add basic style system support for columns. r+sr=dbaron 2004-06-17 11:57:37 +00:00
dbaron%dbaron.org
0a143da53b Put more information on the CSS properties in nsCSSPropList.h.
Use the property list in the tables for nsRuleNode::CheckSpecifiedProperties.
To reduce heap usage, redesign the storage of properties and values in nsCSSDeclaration to allocate all property-value pairs in a declaration block in a single allocation, and use temporary structures (like the old permanent structures) during parsing and modification.  Replace per-property switch statements in nsCSSDeclaration with table-based code to reduce code size.
b=125246  r+sr=bzbarsky
2003-06-07 22:14:42 +00:00