Kyle Huey
510a49016d
Bug 967364: Rename already_AddRefed::get to take. r=bsmedberg
2014-03-15 12:00:15 -07:00
Reuben Morais
f954df12ae
Bug 458300 - Rename nsINameSpaceManager.h to nsNameSpaceManager.h. r=jst r=hsivonen
...
--HG--
rename : content/base/public/nsINameSpaceManager.h => content/base/public/nsNameSpaceManager.h
2014-02-27 20:04:46 -03:00
Arnaud Sourioux
bea44014b1
Bug 974687 - Part 1: Add about 300 MOZ_OVERRIDE in layout/. r=dholbert
2014-02-24 09:41:56 -05:00
Ehsan Akhgari
ebd358dfd7
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
a57586d9a6
Bug 922669 - Part 2: Use a different operator to represent the element -> pseudo-element relationship in selectors. r=bz
2013-11-28 17:46:38 +11:00
Cameron McCormack
1e5c47e48c
Bug 922669 - Part 1: Parse selectors with user action pseudo-classes after pseudo-elements. r=bz
2013-11-28 17:46:38 +11:00
Ehsan Akhgari
4ff4da4197
Bug 938123 - Build layout/style in unified mode; r=roc
2013-11-14 21:42:57 -05:00
Ms2ger
5c2b63d2c7
Merge m-c to inbound.
2013-08-02 11:07:57 +02:00
Ms2ger
62183dfe63
Bug 886408 - Move nsContentUtils::ReleaseWrapper into nsWrapperCache; r=mccr8
2013-08-02 09:04:01 +02:00
Mike Hommey
d01b5df996
Bug 881323 - Re-implement CycleCollectorParticipant with actual vtables, with constexpr to avoid static initializers. r=mccr8
2013-08-02 10:29:05 +09: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
ff12d6de33
Bug 798914 (part 6) - Followup: move MemoryReporting.h include after the cpp's own header include. r=njn.
2013-06-30 18:26:39 +02: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
Jon Coppeard
8a68ce4b84
Bug 874691 - Make CC participant tracing indirect r=mccr8 r=smaug r=bz
2013-05-27 12:50:49 +01:00
Cameron McCormack
5cffb9cbd6
Bug 839103 - Part 11: Add StyleRule{Added,Removed,Changed} events. r=bz
2013-05-16 17:13:36 +10:00
Aryeh Gregor
659b807986
Bug 859817 - Remove implicit conversions from raw pointer to already_AddRefed; r=Ms2ger
2013-04-22 14:15:59 +03:00
David Creswick
d2652476ca
Bug 856317 - Expose the column number of style rules via inIDOMUtils. r=dbaron
2013-04-06 12:38:56 -05:00
David Zbarsky
2c3499b66c
[Bug 847110] Fix up includes in layout/style r=dbaron
2013-03-02 19:31:48 -05:00
Trevor Saunders
9f0ad48b28
bug 822289 - remove NS_IMPL_CYCLE_COLLECTION_CLASS and friends r=mccr8
2013-01-12 07:40:33 -05:00
Benoit Jacob
d2969fa2d5
Bug 806279 - CC macros refactoring: part 2: generic BEGIN_ macros folding in the NATIVE case - r=mccr8,smaug
2012-11-15 02:32:39 -05:00
Boris Zbarsky
529cae9883
Bug 795221 part 3. Implement cycle collection for GroupRule objects. r=smaug,dbaron
...
--HG--
rename : content/html/content/crashtests/795221-1.html => content/html/content/crashtests/795221-2.html
2012-10-07 22:39:09 -04:00
Boris Zbarsky
1aa9d15695
Bug 795221 part 1. Implement cycle collection for nsCSSStyleSheet objects, so we don't leak through them. r=smaug,dbaron
...
Each nsCSSStyleSheet has a pointer to a nsCSSStyleSheetInner. The
nsCSSStyleSheetInner is shared across multiple stylesheets, in
general. The nsCSSStyleSheetInner owns the rules and the child
stylesheets.
What this means is that a given rule object is effectively owned by
multiple sheets. However, cycles can only form through rule objects
that have been JS-wrapped, and if we're JS-wrapping a rule object that
means we have ensured that it's owned by only one stylesheet.
Therefore, we only traverse and unlink mInner if it's uniquely owned
by our sheet.
Similarly, if our child sheets or any of their rules have been
JS-wrapped, that means that we must have an mInner that we own
outright.
2012-10-07 22:39:08 -04:00
Kyle Huey
e5eb83ac5a
Bug 760331: Coalesce data for inline style across nodes. r=bz
...
This patch enables sharing of an nsAttrValue's MiscContainer between nodes for style rules. MiscContainers of type eCSSStyleRule are now refcounted (with some clever struct packing to ensure that the amount of memory allocated for MiscContainer remains unchanged on 32 and 64 bit). This infrastructure can be used to share most MiscContainer types in the future if we find advantages to sharing other types than just eCSSStyleRuley. A cache mapping strings to MiscContainers has been added to nsHTMLCSSStyleSheet. MiscContainers can be shared between nsAttrValues when one nsAttrValue is SetTo another nsAttrValue or when there is a cache hit in this cache. This patch also adds the ability to tell a style rule that it belongs to an nsHTMLCSSStyleSheet, with appropriate accessor functions to separate that from the existing case of belonging to an nsCSSStyleSheet.
The primary use case is to reduce memory use for pages that have lots of inline style attributes with the same value. This can happen easily with large pages that are automatically generated. An (admittedly pathological) testcase in Bug 686975 sees over 250 MB of memory savings with this change. Reusing the same MiscContainer for multiple nodes saves the overhead of maintaining separate copies of the string containing the serialized value of the style attribute and of creating separate style rules for each node. Eliminating duplicate style rules enables further savings in layout through style context sharing. The testcase sees the amount of memory used by style contexts go from over 250 MB to 10 KB.
Because the cache is based on the text value of the style attribute, it will not handle attributes that have different text values but are parsed into identical style rules. We also do not attempt to share MiscContainers when the node's base URI differs from the document URI. The effect of these limitations is expected to be low.
2012-09-30 09:40:24 -07: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
Aryeh Gregor
0923bf00ef
Bug 780618 - Move all error codes to nsError.h; r=ehsan
2012-07-27 17:03:27 +03:00
Boris Zbarsky
f21609d807
Bug 753517 part 2.75. Fix the QI impls to not lie. r=bustage
2012-08-06 01:24:43 -04:00
Boris Zbarsky
1b8d2356ea
Bug 753517 part 2. Make all CSS declarations wrappercached and make them correctly handle preserved wrappers. r=mccr8,peterv,smaug,dbaron
2012-08-05 22:16:30 -04:00
Boris Zbarsky
ab8c73b485
Bug 753517 part 1. Make GetParentObject() on CSS declarations return a useful nsINode if possible. r=peterv,dbaron
2012-08-05 22:14:52 -04:00
Aryeh Gregor
e806eeab4f
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Olli Pettay
e9cea4305c
Bug 765163 - Implement code generator for simple DOM events, r=jst,khuey
2012-07-20 19:42:08 +03:00
Gervase Markham
ca171eec44
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01: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
Masayuki Nakano
f15fd02ef4
Bug 669028 part.11 layout/style should use mozilla;LookAndFeel rather than nsILookAndFeel r=dbaron
2011-09-09 11:27:12 +09:00
Boris Zbarsky
3ca13a1c7c
Bug 529750 part 4. Move GetImportantRule to css::StyleRule. r=dbaron
2011-05-23 16:45:44 -04:00
Craig Topper
17b6db1001
Bug 648925 - Part 4: DeCOMtaminate GetDOMRule and GetDOMRuleWeak. r=bzbarsky
2011-04-07 23:36:09 -07:00
Craig Topper
94aa5754fd
Bug 648925 - Part 3: Factor some common method bodies into css::Rule. r=bzbarsky
2011-04-11 19:46:35 -07:00
Craig Topper
cc15a2a6e3
Bug 648925 - Part 1: Change uses of nsICSSRule to css::Rule. r=bzbarsky
2011-04-07 18:23:46 -07:00
L. David Baron
babad15001
Audit for places in style rule code that need to check for a null sheet. (Bug 634373) r=bzbarsky
2011-05-02 18:43:44 -07:00
Boris Zbarsky
3d5031fd5d
Bug 649163. Stop refcounting the return values from GetCSSParsingEnvironment, where possible. r=dbaron
...
--HG--
extra : rebase_source : 13d75f3954dd1597d58f7741ac8cfc4de51ebe46
2011-04-27 16:53:49 -04:00
Zack Weinberg
51864c09d8
Bug 651017, part 1: minimize inclusion of ns*DeviceContext.h; move the printing error codes to nsIDeviceContextSpec.h; os2 small widget cleanup.
...
--HG--
extra : rebase_source : 5b7cebe68f71a760463e3522b159c7cde8a72f5e
2011-04-16 18:22:41 -07:00
Zack Weinberg
299386f14c
Bug 174055, part 1: minimize inclusion of nsI(Thebes)FontMetrics.h.
2011-04-07 18:04:41 -07:00
L. David Baron
7d0955a692
Share implementation of GetCSSParsingEnvironment so we can use it for both style rules' declarations and keyframe rules' declarations. (Bug 435442, patch 2) r=bzbarsky
2011-04-11 23:18:42 -07:00
Craig Topper
742b017a7c
Bug 645956 - Part 1: Remove NS_NewCSSStyleRule, r=bzbarsky
2011-03-22 19:56:47 -07:00
Craig Topper
a32fd499a0
Bug 577976 - Part 5: Remove AddRef from GetStyleSheet, r=bzbarsky
2010-08-07 22:33:15 -07:00
Craig Topper
a5784bd2e2
Bug 577976 - Part 4: Move AddRef/Release back to nsCSSRule, r=bzbarsky
2011-03-17 22:18:08 -07:00
Craig Topper
f9a52c2641
Bug 577976 - Part 3: Rename nsCSSRule and put in css namespace, r=bzbarsky
...
--HG--
rename : layout/style/nsCSSRule.h => layout/style/Rule.h
2011-03-06 19:59:03 -08:00