Commit Graph

242 Commits

Author SHA1 Message Date
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
f3062c8e72 Bug 731271 - Part 6: Add a chrome-only CSSDeclaration.getAuthoredPropertyValue() method to expose a property value in its 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
Ehsan Akhgari
bbdec43a44 Bug 938123 - Build layout/style in unified mode; r=roc 2013-11-14 21:42:57 -05:00
Ms2ger
477105db60 Bug 921718 - Part b: Move MediaList to WebIDL; r=bz 2013-11-11 09:03:17 +01:00
Ms2ger
86b2808da6 Bug 923251 - Part i: Outparamdel nsMediaList::Clone; r=heycam 2013-11-11 09:00:55 +01:00
Masatoshi Kimura
bcb29ee96d Bug 916871 - Remove classinfo bits for CSSGroupRuleRuleList. r=bz 2013-09-18 07:56:41 +09:00
Ehsan Akhgari
30bea3a588 Bug 913619 - Minimize the #includes in image/src; r=jrmuizel
This patch was generated by running include-what-you-use on image/src,
and then removing the #include statements suggested by that tool, either
replacing them with forward declarations of the used names in headers,
or dropping the ones that were completely unnecessary, and then adding
new #include statements in other places that were implicitly relying on
some of the removed #include statements.
2013-09-07 09:01:08 -04:00
Ms2ger
29d6d162dc Merge m-c to inbound. 2013-08-02 11:07:57 +02:00
Ms2ger
4b8da630f1 Bug 896277 - Don't return nsresult from GroupRule::AppendRulesToCssText; r=dbaron 2013-08-02 09:04:31 +02:00
Ms2ger
05eabee20f Bug 886408 - Move nsContentUtils::ReleaseWrapper into nsWrapperCache; r=mccr8 2013-08-02 09:04:01 +02:00
Mike Hommey
0dc9c0ef85 Bug 881323 - Re-implement CycleCollectorParticipant with actual vtables, with constexpr to avoid static initializers. r=mccr8 2013-08-02 10:29:05 +09:00
Ms2ger
c630b2d13e Bug 892489 - Implement the WebIDL API for CSSRuleList; r=bz 2013-07-24 09:27:17 +02: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
Andrew McCreight
f42a11d53a Bug 829817 - Cycle collect nsCSSPageRule. r=dbaron 2013-06-13 15:13:13 -07:00
Jon Coppeard
048b511f81 Bug 874691 - Make CC participant tracing indirect r=mccr8 r=smaug r=bz 2013-05-27 12:50:49 +01: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
211ddaf3ab Bug 549861. Implement support for @font-feature-values rule. r=dbaron 2013-05-13 18:45:37 +09:00
Boris Zbarsky
ebafdd1727 Bug 864727 part 5. Make all the WrapObject methods take a handle for the scope object. r=ms2ger 2013-04-25 12:29:54 -04:00
Masatoshi Kimura
7878ea38fd Bug 848339 - Remove the vestigial boolean outparam from nsWrapperCache::WrapObject. r=bz 2013-03-12 08:03:47 +09:00
David Zbarsky
1c27c4d045 [Bug 847110] Fix up includes in layout/style r=dbaron 2013-03-02 19:31:48 -05:00
L. David Baron
4dc5c42c59 Bug 841896: Rename CSSKeyframesRule.insertRule to appendRule to match spec change.
Note that this does not change the IID of nsIDOMMozCSSKeyframesRule
since neither the method signature nor semantics have changed; only the
name is different.
2013-02-15 21:38:34 -08:00
L. David Baron
8824eb1056 Bug 765599: Make CSS insertRule methods throw SYNTAX_ERR when given an empty rule or more than one rule. r=bzbarsky
This implements the proposed spec clarification in
http://lists.w3.org/Archives/Public/www-style/2013Feb/0229.html which
makes us compatible with WebKit on the insertRule tests in this patch.

I confirmed that the test reports 7 failures without the patch, but
passes with the patch.  (I'm a little disturbed by the way our
testharness.js integration elides runs of successive passes.)
2013-02-09 22:56:49 -08:00
Boris Zbarsky
27b1251a1a Bug 837031. When unlinking a keyframe rule, make sure to DropReference on its declaration. r=smaug 2013-02-06 14:24:04 +00:00
Boris Zbarsky
946216ea38 Bug 774980. Hook up nsCSSKeyframeRule to cycle collection. r=smaug 2013-01-18 23:32:12 -05:00
Trevor Saunders
c55a85644c bug 822289 - remove NS_IMPL_CYCLE_COLLECTION_CLASS and friends r=mccr8 2013-01-12 07:40:33 -05:00
Brendan Dahl
3d147a8ae9 Bug 827591 - Be more careful changing declarations on page rules. r=dbaron 2013-01-09 10:33:09 -08:00
Trevor Saunders
541515bedf bug 798567 - convert css values to webidl r=bz 2012-10-01 12:49:41 -04:00
Cameron McCormack
70f33e79ba Bug 816431 - Add unprefixed CSSRule.KEYFRAME{,S}_RULE constants. r=bz 2012-11-29 18:57:32 +11:00
Cameron McCormack
f7510496e5 Bug 815021 - Implement MediaRule.conditionText setter. r? 2012-11-27 16:30:31 +11:00
Cameron McCormack
c7597e9061 Bug 814907 - Add new CSS GroupingRule and ConditionRule interfaces. r=bz 2012-11-27 16:30:30 +11:00
L. David Baron
9727e2c0c0 Bug 813373, patch 3: Make sure all style rules have non-empty List implementations. r=bzbarsky 2012-11-20 11:55:14 -08:00
Benoit Jacob
c995bc9e1e Bug 807437 - Eliminate redundant Traverse/Unlink CC macros - part 1: automatic changes - r=mccr8 2012-11-15 02:32:40 -05:00
Benoit Jacob
2f61a3a0d4 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
Brendan Dahl
7e5f38db9d Bug 115199 - CSS2 @page rule style support. r=dbaron 2012-08-31 14:21:28 -07:00
Ryan VanderMeulen
5240f9d681 Backed out changesets 0b6b3d2856a4 and 30776e402787 (bug 115199) for reftest failures. 2012-11-13 20:19:18 -05:00
Brendan Dahl
a41fcdd8da Bug 115199 - CSS2 @page rule style support. r=dbaron 2012-08-31 14:21:28 -07:00
Boris Zbarsky
225b93a3df Bug 801819. Remove nsIDOMCSS2Properties and the classinfo bits for CSS declarations. r=peterv,dbaron 2012-10-30 17:14:06 -04:00
Emmanuele Bassi
db798f4f71 Bug 784466 - [css3-animations] Drop declarations in keyframe rules that have !important. r=dbaron 2012-10-16 09:21:35 -07:00
Boris Zbarsky
176d3950cc Bug 795221 part 3. Implement cycle collection for GroupRule objects. r=smaug,dbaron 2012-10-07 22:39:09 -04:00
Boris Zbarsky
68dd5c75e0 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
0ee82049a5 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
990e90e88a Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Randell Jesup
3b4961b603 Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Boris Zbarsky
61a59802bd Bug 753517 part 4. Set up auto-generation of CSS2Properties.webidl from nsCSSPropList.h and enable Paris bindings for CSSStyleDeclaration and CSS2Properties. r=khuey,peterv,dbaron 2012-08-23 21:08:09 -07:00
Boris Zbarsky
e66935618b Bug 753517 part 3. Expose the API needed for Paris bindings on nsDOMCSSDeclaration and nsICSSDeclaration. r=dbaron,peterv 2012-08-23 21:08:08 -07:00
Ehsan Akhgari
243c878d26 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
691ef24b2a Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Boris Zbarsky
8f41ab9fae Bug 753517 part 2.75. Fix the QI impls to not lie. r=bustage 2012-08-06 01:24:43 -04:00