Commit Graph

446 Commits

Author SHA1 Message Date
Blake Kaplan
8673b11058 Bug 653881 - Add a compatibility hack to allow <xbl:children> elements to be optional when selecting via the child CSS selector. This allows old CSS selectors selecting default content to continue working in the new world. r=dbaron 2013-06-28 18:48:13 -07:00
William Chen
199ee64ccb Bug 653881 - Push <xbl:children> in ancestor filter. r=bz,dbaron 2013-05-30 17:39:08 -07:00
Blake Kaplan
d8846cdcec Bug 653881 - Rework XBL insertion points and clean up related code to more closely follow the Web Components model. Instead of maintaining a hashtable of insertion points in bindings (and removing insertions points from the tree) leave the insertion points in the tree as explicit placeholders and teach all other relevant code how to walk the explicit children of elements via two iterators (ExplicitChildIterator and FlattenedChildIterator). Note that this patch does not maintain 100% compatibility with the previous code: there are bug fixes and behavior changes included. For example, by having explicit insertion points in the bindings, it is now easier to handle dynamic changes to the bound element correctly (as well as, eventually, handling dynamic changes to the binding correctly). Patch originally by sicking. r=bzbarsky 2013-05-01 15:50:08 -07: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
Ehsan Akhgari
1867e0155c Bug 882948 follow-up - Fix the typo that actually breaks the build (not my day...) 2013-06-13 21:40:44 -04:00
Ehsan Akhgari
ea0ae041d7 Bug 882948 - Add widget level support for AeroLite for Winodws Server 2012/2013; r=roc 2013-06-13 18:41:26 -04:00
Cameron McCormack
5d333e5805 Bug 881339 - Fix bug with descendant selector matching with scoped styles. r=bz 2013-06-12 13:09:33 +10:00
Jon Coppeard
38ae18a05b Bug 860573 - Part 2 - Use spare bits of wrapper cache flags for nsINode r=smaug 2013-06-08 09:54:59 +01:00
Michael Wu
63cde6a090 Bug 771551 - Add CSS Media Query for physical home buttons, r=heycam 2013-06-05 22:42:02 -04: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
Stephen Pohl
1be15adc9e Bug 636564 - Implement lion style scrollbars on Mac OSX 10.7+; r=roc 2013-05-02 10:58:00 -04:00
Mats Palmgren
05aa3ed343 Bug 856368 - Merge nsPresArena::mState into nsPresArena itself. r=roc 2013-04-15 22:00:06 +02:00
Stephen Pohl
fb5e086e62 Bug 678392 - Add support for swipe animation as in Safari. r=smichaud,jaws,felipc 2013-04-09 14:44:01 -05:00
Trevor Saunders
9daa5c300f bug 852379 - remove unecessary nsHashtable.h includes r=Ms2ger 2013-03-18 21:18:26 -04:00
Robert Strong
70d4cf7361 Back out Bug 678392 2013-02-08 16:52:12 -08:00
Stephen Pohl
69610af859 Swipe availability check - Bug 678392 - [10.7] Add support for swipe animation as in Safari. r=smichaud 2013-02-08 13:57:28 -08:00
Matthew Noorenberghe
bc23cfab48 Bug 816803 - Add system metric and media query keyword to detect whether the current Windows desktop theme supports Aero Glass. r=jimm,sr=roc 2013-01-16 19:27:16 -08:00
Cameron McCormack
b059e06648 Bug 829363 - Make :scope match style scope roots. r=bzbarsky 2013-01-16 15:48:29 +11:00
Mats Palmgren
7532b4e736 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
Daniel Holbert
87c82bc302 Bug 828838: Fix nsCSSRuleProcessor init-list order. r=heycam 2013-01-10 07:55:43 -08:00
Cameron McCormack
c3aabb8cc2 Bug 508725 - Part 6: Modify selector matching to take style scopes into account. r=dbaron 2013-01-09 10:25:48 +11:00
Cameron McCormack
af05b63534 Bug 508725 - Part 5: Record the <style scoped> elements in scope in preparation for selector matching. r=dbaron 2013-01-09 10:25:48 +11:00
Cameron McCormack
27ece3d947 Bug 508725 - Part 3: Create a rule processor for each style scope. r=dbaron 2013-01-09 10:25:47 +11:00
Cameron McCormack
7acdf057ce Backout bug 508725 (d267bb4b58b5, 50f71edffeb9, 6aec8e22fe60, e62e1f33958a, 0f146c435249, eb959b9f4862, 2b0ee42f3aa0, 02db01cd6796, 2ef0e517d43d, b650588e05c9 and a3c916829d56) for build failure on a CLOSED TREE. 2013-01-08 19:36:21 +11:00
Cameron McCormack
c5a68a5dc2 Bug 508725 - Part 6: Modify selector matching to take style scopes into account. r=dbaron 2013-01-08 19:09:23 +11:00
Cameron McCormack
d0d5f0c03b Bug 508725 - Part 5: Record the <style scoped> elements in scope in preparation for selector matching. r=dbaron 2013-01-08 19:09:23 +11:00
Cameron McCormack
b525ea3869 Bug 508725 - Part 3: Create a rule processor for each style scope. r=dbaron 2013-01-08 19:09:22 +11:00
Boris Zbarsky
8303fbfe0f Bug 818400. Add a preference to control :scope and pref it off in release builds for now. r=dbaron 2012-12-24 19:35:34 -08:00
Boris Zbarsky
aaba93baff Bug 648722 part 2. Make :scope match the context node for selectors API calls. r=dbaron 2012-12-04 23:15:47 -05:00
Boris Zbarsky
1fa20dc707 Bug 648722 part 1. Add a :scope pseudo-class that just matches the same thing as :root for now. r=dbaron 2012-12-04 23:15:47 -05:00
John Schoenick
9cb35b3ef7 Bug 548133 - Remove special handling for object 'pluginurl' param. r=dolske,josh 2012-11-19 11:38:03 -08:00
Brendan Dahl
7e5f38db9d Bug 115199 - CSS2 @page rule style support. r=dbaron 2012-08-31 14:21:28 -07:00
Boris Zbarsky
4e934f7f8e Bug 811449 part 8. Get rid of nsGenericElement. r=peterv 2012-11-14 14:10:08 -08:00
Cameron McCormack
1c716ff434 Bug 811581 - Add a base class for all *RuleProcessorData classes. r=bz 2012-11-15 06:09:01 +11: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
Jacek Szpot
09f9b9a1c3 Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Peter Van der Beken
82b618706e Fix for bug 773780 (Add API for new DOM bindings for Node). r=bz. 2012-10-09 14:31:24 +02: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
Simon Montagu
f502732ba2 Add vendor prefix to :dir selector. Bug 562169, r=dbaron 2012-09-29 13:41:10 -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
Simon Montagu
981883b49d Bug 562169. Add support for :dir(ltr/rtl) CSS selector, layout/style part, r=bz 2012-08-09 20:37:58 -07:00
Matt Brubeck
77d013d0d3 Back out bug 562169 because of Dromaeo DOM regressions
Backed out changeset 841cd6e1e585 (bug 562169)
Backed out changeset e226e413dd27 (bug 562169)
Backed out changeset 9c24b7287c5b (bug 562169)
2012-08-08 08:14:48 -07:00
Simon Montagu
5a1e394247 Add support for :dir(ltr/rtl) CSS selector, layout/style part. Bug 562159, r=bz 2012-08-07 21:44:24 -07:00
Cameron McCormack
0470b4ceb7 Bug 649740 - Implement @supports. r=dbaron,bz 2012-08-02 10:32:12 +10:00
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Aryeh Gregor
e3e1225e61 Bug 626472 part 1 - Define nsnull as nullptr where available; r=ehsan 2012-07-20 14:16:17 +03:00