Commit Graph

46 Commits

Author SHA1 Message Date
Daniel Holbert
680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Nicholas Nethercote
21e7dce1a2 Bug 1410294 (part 3) - Overhaul static atom macros. r=froydnj.
There are four things that must be provided for every static atom, two of which
have a macro:
- the atom pointer declaration (no macro);
- the atom pointer definition (no macro);
- the atom char buffer (NS_STATIC_ATOM_BUFFER);
- the StaticAtomSetup struct (NS_STATIC_ATOM_SETUP).

This patch introduces new macros for the first two things: NS_STATIC_ATOM_DECL
and NS_STATIC_ATOM_DEFN, and changes the arguments of the existing two macros
to make them easier to use (e.g. all the '##' concatenation now happens within
the macros).

One consequence of the change is that all static atoms must be within a class,
so the patch adds a couple of classes where necessary (DefaultAtoms, TSAtoms).

The patch also adds a big comment explaining how the macros are used, and what
their expansion looks like. This makes it a lot easier to understand how static
atoms work. Correspondingly, the patch removes some small comments scattered
around the macro use points.

MozReview-Commit-ID: wpRyrEOTHE

--HG--
extra : rebase_source : 9f85d477b4d06c9a9e710c757de1f1476edb6efe
2017-10-22 08:50:25 +11:00
Nicholas Nethercote
074a872086 Bug 1410294 (part 1) - Rename nsStaticAtom as nsStaticAtomSetup. r=froydnj.
Because it's the type we use to set up static atoms at startup, not the static
atom itself.

The patch accordingly renames some parameters, variables, and NS_STATIC_ATOM,
for consistency.

MozReview-Commit-ID: 1a0KvhYNNw2

--HG--
extra : rebase_source : 5c66e5b2dfe053a368bf3584d957198aec4cce91
2017-10-20 14:04:47 +11:00
Nicholas Nethercote
d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Nicholas Nethercote
dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Cameron McCormack
c8564a9ea5 Bug 1388113 - Hold on to pseudo-element atoms longer. r=bholley
MozReview-Commit-ID: 98eW8VwVFPT

--HG--
extra : rebase_source : dc0b80d9cc693da3abe858ba52d691416332dee7
2017-08-17 14:37:32 -04:00
Daisuke Akatsuka
088af889f0 Bug 1210796 - Part 1a: Add GetUnanimatedComputedStyle into nsIDOMWindowUtils to use in animationinspector of devtools. r=birtles,heycam
In this patch, we implement nsIDOMWindowUtils::GetUnanimatedComputedStyle
which returns computed value of given CSS property without animation rule.  This
method is used from the DevTools animation inspector to fill in keyframe values
when the property value is null (indicating that the underlying/base value is
being used).

In order to implement this, we extend nsComputedDOMStyle constructor to fetch
the computed style minus animation style (i.e. the base style). This is somewhat
complicated by the fact that for discrete animation.
StyleAnimationValue::ExtractComputedValue may return ‘unset’, ‘initial’ or
‘inherit’. For example, if the author uses the 'unset' 'initial' or 'inherit'
keyword for a discrete property (e.g. 'align-content’), ExtractComputedValue
returns the keywords as-is. Furthermore, if the user does not set any specific
keyword, ExtractComputedValue returns ‘unset’.  We use this new
nsComputedDOMStyle mechanism to resolve these keywords into a valid keyword for
computed style in the same way as other properties (e.g. ‘opacity’).

MozReview-Commit-ID: HffJ9SCDf2k

--HG--
extra : rebase_source : 64df3850b862dada5f8e0767d47dc478d454ba31
2017-04-18 12:15:47 +09:00
Boris Zbarsky
b537f110e2 Bug 1345362 part 3. Introduce CSSPseudoElementType::NonInheritingAnonBox to represent non-inheriting anon boxes. r=heycam
The idea is to be able to call the right function during style resolution time
without doing a linear walk via nsCSSAnonBoxes::IsNonInheritingAnonBox.

MozReview-Commit-ID: JKt33GggTjz

--HG--
extra : rebase_source : fcf477dcef8529c803bf97b1d3a16f8f4fcea39f
2017-03-08 23:41:04 -05:00
Daniel Holbert
f8a884b751 Bug 1339546 part 2: Make layout/style/*.cpp include corresponding .h file as the first header. r=xidorn
MozReview-Commit-ID: 2rZ9z0BgRvN

--HG--
extra : rebase_source : d046a915283dd45ec8ff39f1b63da8ae59d3fac8
2017-02-14 11:23:11 -08:00
Thomas Wisniewski
2b28c5e2a9 Bug 1069012 - Unprefix ::placeholder pseudo-element. r=bz 2016-09-07 19:38:38 -04:00
Xidorn Quan
f355ff0241 Bug 1269976 part 2 - Add nsCSSPseudoElements::IsEnabled() and make GetPseudoType take CSSEnabledState. r=heycam
MozReview-Commit-ID: K3uFwojy6FZ

--HG--
extra : rebase_source : b4a671f8d97b1d11696c375d9af790ea27ccf0ca
extra : source : d458585bd00bbe6a503bfb0f1072c632b8f0e26f
2016-05-10 18:44:05 +10:00
Xidorn Quan
9a12bfd9db Bug 1269976 part 1 - Move CSSPseudoElements_flags to a static array in nsCSSPseudoElements. r=heycam
MozReview-Commit-ID: HWMuRrakCia

--HG--
extra : rebase_source : 7867601d650dd6dee92e7f7f922a47f0d357d6bd
extra : source : 8b27cbd442385900df9935c82c726167e489cdc8
2016-05-10 18:44:05 +10:00
Ryan VanderMeulen
937594f842 Backed out changesets 4e949692600a and 6f7ecae8e663 (bug 1269976) for bustage. 2016-05-09 23:58:49 -04:00
Xidorn Quan
05db7e1bc8 Bug 1269976 part 2 - Add nsCSSPseudoElements::IsEnabled() and make GetPseudoType take CSSEnabledState. r=heycam
MozReview-Commit-ID: K3uFwojy6FZ

--HG--
extra : source : 9828f687af13af0d4e220ea440692b29cf14dcd0
2016-05-10 13:36:25 +10:00
Xidorn Quan
85ca906802 Bug 1269976 part 1 - Move CSSPseudoElements_flags to a static array in nsCSSPseudoElements. r=heycam
MozReview-Commit-ID: HWMuRrakCia

--HG--
extra : source : fca40d54c5270d09642f329267809fb3f7447c60
2016-05-10 13:36:25 +10:00
Boris Chiou
5c37ed6ba0 Bug 1244049 - Part 4: Define CSSPseudoElementTypeBase. r=dbaron
In order to convert CSSPseudoElementType into its underlying type easier,
we define CSSPseudoElementTypeBase. However, keep using uint8_t directly for
forward declarations.
2016-02-18 19:18:00 +01:00
Boris Chiou
e436478f26 Bug 1244049 - Part 2: Replace nsCSSPseudoElements::Type with CSSPseudoElementType. r=dbaron
Also, try to use forward declaraions for CSSPseudoElementType;

--HG--
extra : rebase_source : c00eb9753e8f618a33aa711538ac45c0132b353c
2016-02-17 21:37:00 +01:00
Boris Chiou
185a769719 Bug 1244049 - Part 1: Define scoped enum for CSSPseudoElement type. r=dbaron
--HG--
extra : rebase_source : e53dd269e47fa97eb259ebd9295d012eacbdb612
2016-02-16 23:07:00 +01:00
L. David Baron
9907e9112a Bug 1082899 patch 2 - Add flags storage and accessors for nsCSSPseudoClasses. r=birtles
The code for this is basically copied from nsCSSPseudoElements.
2014-10-23 12:57:27 -04:00
Birunthan Mohanathas
3440613a39 Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo
--HG--
rename : mfbt/Util.h => mfbt/ArrayUtils.h
2013-12-08 21:52:54 -05:00
Cameron McCormack
f8487d13bf Bug 922669 - Part 3: Add a flag to represent whether a pseudo-element supports user action pseudo-classes (currently :hover and :active). r=bz 2013-11-28 17:46:38 +11:00
Arnaud Bienner
639a9f2efd Bug 938334 - Use "Type" as parameter in nsCSSPseudoElements methods instead of "nsIAtom*" when it makes sense to do so. r=dbaron 2013-11-17 19:33:56 +01:00
Ehsan Akhgari
35ff0cae16 Bug 938123 - Build layout/style in unified mode; r=roc 2013-11-14 21:42:57 -05:00
David Zbarsky
3250bd906e [Bug 847110] Fix up includes in layout/style r=dbaron 2013-03-02 19:31:48 -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
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Jacob Holzinger
6a62cb6a9b Bug 696242 - Convert NS_RegisterStaticAtoms and nsCSSScanner::ReportUnexpectedParams to take an array-reference rather than a pointer and length, making it impossible to pass a pointer/length that are inconsistent. r=jwalden
--HG--
extra : rebase_source : 882b5b4d500b1fa242c0a3cfa3084e4171cbaa9d
2012-03-08 18:22:57 -08:00
Jeff Walden
b5e57820bf Bug 693469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. (Exceptions: assigning to static initializers, use in static assertions, as template parameters, etc. These will go away when the relevant compilers have C++11 constexpr support.) r=cjones
--HG--
extra : rebase_source : b4bae9a0f85abf2feb828609b50e756916b99a6f
2011-10-10 22:50:08 -07:00
Jeff Walden
d0532c3e95 Back out everything since 5435ee09cf7b. Tinderbox compilers hate me. r=epic-fail 2011-10-12 12:21:53 -07:00
Jeff Walden
0f30b277bf Bug 639469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. r=cjones
--HG--
extra : rebase_source : 860a8271bf7e51cde358f2a4185c410de1fc2960
2011-10-10 22:50:08 -07: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
Daniel Holbert
021aa79cc9 Bug 551397: CSS_PSEUDO_ELEMENT needs to be undefined before next definition. r=sicking 2010-03-10 12:33:37 -08:00
Jonas Sicking
c24e5442a9 Bug 534136 Part 1: Make atoms keep a pointer to an nsStringBuffer rather than storing the data inline. r=bsmedberg 2010-03-08 07:44:59 -08:00
Boris Zbarsky
5132d64872 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-11 02:37:40 -05:00
Boris Zbarsky
c1d4ecaf51 Bug 525608 part 1. Introduce an enum for keeping track of pseudo-elements. r=dbaron 2009-12-11 02:37:40 -05:00
Boris Zbarsky
8202b90f61 Backing out bug 525608 and bug 525952 2009-12-10 18:28:08 -08:00
Boris Zbarsky
6eb3c28de7 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-10 14:36:05 -08:00
Boris Zbarsky
8616f91258 Bug 525608 part 1. Introduce an enum for keeping track of pseudo-elements. r=dbaron 2009-12-10 14:36:04 -08:00
L. David Baron
c07ac412dc Existing callers call IsCSS2PseudoElement on non-pseudo-elements (in particular, anon boxes), so we need to make that not assert and be deterministic. (Bug 521044) r=bzbarsky 2009-10-07 20:22:42 -07:00
L. David Baron
1f2c562740 Add flags to pseudo-elements, and add one that says which ones are expected to contain elements. (Bug 505515) r=bzbarsky 2009-08-10 15:52:29 -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
10600c0acd Add support for '::' notation for CSS pseudo-elements (bug 62843). Drop
selectors containing unrecognized pseudo-classes and pseudo-elements (bug
145968).  Fix some CSS rules in quirk.css and xul.css that were bogus (no
bug).  Patch in bug 62843.  r+sr=dbaron
2003-07-04 01:33:10 +00:00
alecf%netscape.com
c8aef61acf fix for bug 199170, convert layout to use nsStaticAtom. sr=dbaron 2003-04-02 04:51:07 +00:00
dbaron%dbaron.org
ea93b55cc8 Reduce code size of atom lists by storing a table of strings and pointers to fill in. b=181383 r=alecf sr=sfraser 2003-02-22 15:58:07 +00:00
dbaron%fas.harvard.edu
a34c46af22 Change my email address from dbaron@fas.harvard.edu to dbaron@dbaron.org. Comment changes only. 2003-01-01 23:53:20 +00:00
dbaron%fas.harvard.edu
f6b1702067 Consolidate all CSS pseudos and split them into three atom lists to distinguish between pseudo-classes, pseudo-elements, and fake-pseudo-elements used for anonymous boxes. b=147887 r,sr=roc,bz 2002-11-17 15:37:56 +00:00