Commit Graph

34 Commits

Author SHA1 Message Date
Nicholas Nethercote
7dbfdaf890 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
2017-10-03 09:05:19 +11:00
Xidorn Quan
b29017cff3 Bug 1393189 part 5 - Rewrite CounterStyleOrNone::from_gecko_value to use fewer binding functions. r=heycam
MozReview-Commit-ID: 3EsExs0DzQr
2017-08-29 17:11:13 +10:00
Xidorn Quan
fc8edefa79 Bug 1393189 part 3 - Replace all uses of nsCSSProps::kListStyleKTable with gBuiltinStyleTable. r=dholbert
The change in CounterStyleManager::BuildCounterStyle converts a case-
insensitive comparison to a case-sensitive comparison by comparing atom
pointer directly. But this is fine because all names of builtin counter
styles should have been lowercased by the parser. For Gecko, it is done
in CSSParserImpl::ParseCounterStyleName, and for Servo, it is done in
counter_style::parse_counter_style_name.

MozReview-Commit-ID: JHHmzEaNIpn
2017-08-29 15:36:32 +10:00
Xidorn Quan
543ead416b Bug 1393189 part 2 - Have CounterStyle::GetStyleName return nsIAtom and make it const. r=dholbert
MozReview-Commit-ID: KmnQSK7ZvND
2017-08-29 15:21:36 +10:00
Xidorn Quan
c64eb7af88 Bug 1393189 part 1 - Statically initialize builtin style table with their name atom included. r=dholbert
Doing this at compile time would save a bit of our startup time, which
I've promised to do since @counter-style was initially implemented, see
bug 966166 comment 103 (the paragraph with "constexpr").

Also, having this implemented here makes using atom instead of string
on name of builtin counter styles easier, for later patches.

MozReview-Commit-ID: C9HYcuShBQv
2017-08-29 14:44:14 +10:00
Nicholas Nethercote
4ce1e9c11f Bug 1374580 (part 3) - Remove ns{,C}Substring typedefs. r=froydnj.
All the instances are converted as follows.

- nsSubstring  --> nsAString
- nsCSubstring --> nsACString
2017-06-20 19:19:52 +10:00
Xidorn Quan
0e0b579d0c Bug 1372488 - Make counter style 'disc' not overridable. r=dbaron
MozReview-Commit-ID: 11ZpZtRQSUF
2017-06-13 16:00:37 +10:00
Xidorn Quan
5826e363b8 Bug 1371976 - Resolve counter style during parallel traversal when possible. r=heycam
MozReview-Commit-ID: 4StYe5Fb3Uw
2017-06-14 16:39:47 +10:00
Xidorn Quan
9cd84daeea Bug 1352968 part 0 - Fix up before adding new files. r=heycam
MozReview-Commit-ID: HSrROKVr1dD
2017-05-30 11:10:25 +10:00
Xidorn Quan
7b0ab58807 Bug 1363596 part 2 - Add support for symbols() function. r=heycam
MozReview-Commit-ID: IuFnhkdWG3C
2017-05-27 23:33:25 +10:00
Xidorn Quan
45aa08d57d Bug 1363596 part 1 - Merge nsCOMPtr<nsIAtom> into CounterStylePtr. r=heycam
MozReview-Commit-ID: D2fdlrC3yop
2017-05-27 23:33:25 +10:00
Xidorn Quan
b47214dcef Bug 1366735 part 1 - Change counter functions to use struct rather than nsCSSValue::Array. r=heycam
MozReview-Commit-ID: 4FiOxCOsjtD
2017-05-22 22:51:20 +10:00
Xidorn Quan
f526ac5958 Bug 1363699 part 2 - Make AnonymousCounterStyle use thread-safe refcount. r=heycam
Although this is not strictly necessary at the moment, static analysis
reports this as a new heap write hazard. Since we would eventually do
this change for symbols() support in Stylo, it is easier to just change
it here than convincing hazard analysis to believe it is harmless.

MozReview-Commit-ID: 7lfyZN6tDnJ
2017-05-11 15:05:23 +10:00
Xidorn Quan
b7742acb67 Bug 1363699 part 1 - Make named CounterStyle objects not refcounted. r=heycam
This change does the following:
* Introduce a new smart pointer called CounterStylePtr which either
  holds an AnonymousCounterStyle strongly, or a named CounterStyle
  managed by CounterStyleManager weakly, and use it to replace all
  RefPtr<CounterStyle> around the codebase.
* Rename CounterStyleManager::mCacheTable to mStyles to reflect the
  fact that it is used to manage all styles, not just for caching.
* Add a retired styles list which collect all named CounterStyle
  evicted from mStyles, and post a PostRefreshObserver to destroy
  objects in that list after next flush.
* Remove helper functions for counter style in nsStyleList and expose
  mCounterStyle directly, to make code simpler with the new pointer.

Reason for adding a new smart pointer type rather than making their
AddRef/Release behave like BuiltinCounterStyle is that, it is possible
that after a flush, some stale style structs may still be alive. They
can contain pointer to destroyed CounterStyle objects. Although the
actual content may never be accessed anymore, RefPtr may still access
the object for refcounting during destruction.

MozReview-Commit-ID: xxegwSDhNb
2017-05-13 21:42:23 +10:00
Xidorn Quan
45a9721391 Bug 1362302 part 1 - Use nsIAtom for counter style names. r=dbaron
MozReview-Commit-ID: 5VK6BgGRVRs
2017-05-06 11:34:35 +10:00
Kartikaya Gupta
a2a492cb06 Bug 1312319 - Add a NS_INLINE_DECL_PURE_VIRTUAL_REFCOUNTING macro and replace existing pure-virtual AddRef/Release declarations. r=froydnj
MozReview-Commit-ID: 5yt3O4Hoois
2017-01-25 14:51:34 -05:00
Chris Peterson
c35faf4632 Bug 1277775 - Replace MOZ_CONSTEXPR{_VAR,_TMPL} with constexpr. r=froydnj 2016-07-08 14:39:53 -07:00
Bobby Holley
061c639a7a Bug 1269933 - Teach CounterStyles their name and remove the string member from the style structs. r=xidorn 2016-05-06 00:09:18 -07:00
Andrea Marchesini
f0aa02df0b Bug 1156632 - Remove unused forward class declarations - patch 5 - rdf, parser, layout and something else, r=ehsan 2015-04-22 08:29:22 +02:00
Xidorn Quan
2c8d233a41 Bug 1144607 part 2 - Support string value for list-style-tyle. r=dbaron 2015-03-27 09:48:10 +11:00
Xidorn Quan
9367313df0 Bug 1144607 part 1 - Remove CounterStyleManager::BuildCounterStyle for anonymous counter styles. r=dbaron 2015-03-27 09:48:10 +11:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Masatoshi Kimura
bae0a32948 Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Ehsan Akhgari
a7f747ec15 Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -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 MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Ehsan Akhgari
b1d67a056e Bug 1118426 - Mark virtual overridden functions as MOZ_OVERRIDE in layout/style; r=dbaron 2015-01-06 23:33:51 -05:00
Xidorn Quan
6d30043c6c Bug 1077718 - Switch dynamic CounterStyle objects to use arena allocation. r=mats 2014-10-16 16:10:00 -04:00
Ehsan Akhgari
e5cb405ee6 Bug 1079324 - Fix some more bad implicit constructors in layout; r=dholbert 2014-09-24 09:16:53 -04:00
Xidorn Quan
8a90632dfd Bug 966168 - Implement symbols() CSS function. r=dbaron 2014-09-25 02:19:00 +02:00
Carsten "Tomcat" Book
55fcae0970 Backed out changeset d53b25dcf2d7 (bug 966168) for causing bustage 2014-09-25 09:40:40 +02:00
Xidorn Quan
188c5b8da6 Bug 966168 - Implement symbols() CSS function. r=dbaron 2014-09-24 15:32:00 +02:00
Ehsan Akhgari
17f80c37f2 Bug 1048246 - Fix more bad implicit constructors in layout; r=roc 2014-08-07 19:48:38 -04:00
Benoit Jacob
255a665287 Bug 1027251 - Fix or whitelist dangerous public destructors in layout/ - r=dbaron 2014-06-18 22:28:59 -04:00
Xidorn Quan
d13c1e6380 Bug 982355 - Support disclosure-{open,closed} counter styles. r=jfkthame 2014-06-13 17:34:00 +02:00
Xidorn Quan
c02eeaf494 Bug 966166 - Part 2: Computation of counter style. r=dbaron 2014-06-11 21:11:00 -04:00