Commit Graph

295 Commits

Author SHA1 Message Date
Ehsan Akhgari
86a457baf2 Bug 916610 - Minimize the #includes in layout/style; r=roc 2013-09-15 21:06:52 -04:00
Robert O'Callahan
33cdb42706 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Doug Turner
805876c713 Bug 906072 - Remove Maemo port. r=romaxa, r=ted, r=johns 2013-08-25 16:56:53 -07:00
L. David Baron
48e99a9781 Bug 893308: Move hashtable of @keyframes rules (keyed by name) from nsAnimationManager to RuleCascadeData. r=heycam 2013-08-14 21:58:37 -07: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
Blake Kaplan
2a5c30ab9f Bug 890775 - Not all xbl:children elements should be treated specially. r=peterv 2013-07-11 17:52:49 -04:00
Blake Kaplan
ea4da60962 Bug 891088 - Rename nsXBLChildrenElement -> mozilla::dom::XBLChildrenElement. r=peterv
--HG--
rename : content/xbl/src/nsXBLChildrenElement.cpp => content/xbl/src/XBLChildrenElement.cpp
rename : content/xbl/src/nsXBLChildrenElement.h => content/xbl/src/XBLChildrenElement.h
2013-07-01 15:09:37 -07:00
Jim Mathies
a669aed386 Bug 810399 - Add new css selectors and media queries for windows os versions. r=bz 2013-07-01 11:02:29 -05:00
Blake Kaplan
dd01daaf52 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
--HG--
extra : rebase_source : 4d538fcbd8a6b58408dc46835632a4664ba8d0d8
2013-06-28 18:48:13 -07:00
William Chen
4adfddabf1 Bug 653881 - Push <xbl:children> in ancestor filter. r=bz,dbaron
--HG--
extra : rebase_source : 9aafffadd2451ca7274e99d7e07d0d71ea52ca02
2013-05-30 17:39:08 -07:00
Blake Kaplan
55ee93f1af 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
--HG--
extra : rebase_source : 6926ae8ea57b20f4067b16bd3d7bd85bda854756
2013-05-01 15:50:08 -07: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
Ehsan Akhgari
7975741305 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
8ee5a78089 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
da983ad50d Bug 881339 - Fix bug with descendant selector matching with scoped styles. r=bz 2013-06-12 13:09:33 +10:00
Jon Coppeard
d99e2a4f5c 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
a6e67842ea Bug 771551 - Add CSS Media Query for physical home buttons, r=heycam 2013-06-05 22:42:02 -04:00
John Daggett
18ea34f1e4 Bug 549861 - reland font-variant subproperties with DOM-peer review. r=khuey 2013-05-20 11:59:20 +09:00
Ms2ger
c80e8cd5c6 Backout bug 549861 (changesets 27fb48df15ce:7ecd4e3863b4) for insufficient review. 2013-05-19 20:23:19 +02:00
John Daggett
935216a597 Bug 549861. Implement support for @font-feature-values rule. r=dbaron 2013-05-13 18:45:37 +09:00
Stephen Pohl
c997f428ce Bug 636564 - Implement lion style scrollbars on Mac OSX 10.7+; r=roc 2013-05-02 10:58:00 -04:00
Mats Palmgren
cdbcd9c96c Bug 856368 - Merge nsPresArena::mState into nsPresArena itself. r=roc 2013-04-15 22:00:06 +02:00
Stephen Pohl
21bdf5ab95 Bug 678392 - Add support for swipe animation as in Safari. r=smichaud,jaws,felipc 2013-04-09 14:44:01 -05:00
Trevor Saunders
8b11739fc1 bug 852379 - remove unecessary nsHashtable.h includes r=Ms2ger 2013-03-18 21:18:26 -04:00
Robert Strong
5c07fa06f7 Back out Bug 678392 2013-02-08 16:52:12 -08:00
Stephen Pohl
9c1b816b92 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
efdff8b5c5 Bug 816803 - Add system metric and media query keyword to detect whether the current Windows desktop theme supports Aero Glass. r=jimm,sr=roc
--HG--
extra : rebase_source : 56b27cbbbcc0cde254ef7aa7087f11360c476390
2013-01-16 19:27:16 -08:00
Cameron McCormack
5ec3748408 Bug 829363 - Make :scope match style scope roots. r=bzbarsky 2013-01-16 15:48:29 +11:00
Mats Palmgren
6c53161814 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
3ff7170bbe Bug 828838: Fix nsCSSRuleProcessor init-list order. r=heycam 2013-01-10 07:55:43 -08:00
Cameron McCormack
24f1ed33ac 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
38c06ea95f 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
58c56890d2 Bug 508725 - Part 3: Create a rule processor for each style scope. r=dbaron 2013-01-09 10:25:47 +11:00
Cameron McCormack
26873544a3 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
9055d5a95a 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
e4e4c560a0 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
50a3cffd42 Bug 508725 - Part 3: Create a rule processor for each style scope. r=dbaron 2013-01-08 19:09:22 +11:00
Boris Zbarsky
4d0a06e9f3 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
7d0ea20207 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
17a4993f01 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
dea0a12fea Bug 548133 - Remove special handling for object 'pluginurl' param. r=dolske,josh 2012-11-19 11:38:03 -08:00
Brendan Dahl
d860d7b308 Bug 115199 - CSS2 @page rule style support. r=dbaron 2012-08-31 14:21:28 -07:00
Boris Zbarsky
d23220892d Bug 811449 part 8. Get rid of nsGenericElement. r=peterv 2012-11-14 14:10:08 -08:00
Cameron McCormack
c70fffb507 Bug 811581 - Add a base class for all *RuleProcessorData classes. r=bz 2012-11-15 06:09:01 +11:00
Ryan VanderMeulen
8f46b7f654 Backed out changesets 0b6b3d2856a4 and 30776e402787 (bug 115199) for reftest failures. 2012-11-13 20:19:18 -05:00
Brendan Dahl
507304aa6c Bug 115199 - CSS2 @page rule style support. r=dbaron 2012-08-31 14:21:28 -07:00
Jacek Szpot
0b35b0e3d8 Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Peter Van der Beken
57adeb4354 Fix for bug 773780 (Add API for new DOM bindings for Node). r=bz.
--HG--
extra : rebase_source : 5dd51c4ad5274da9235c8c341b0531f234e95a91
2012-10-09 14:31:24 +02: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
Simon Montagu
a6d148a96d Add vendor prefix to :dir selector. Bug 562169, r=dbaron 2012-09-29 13:41:10 -07:00