Commit Graph

353 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
Cameron McCormack
0adc428de6 Bug 1397626 - Part 3: Use SharedFontList to store font-family specified and computed values. r=xidorn
MozReview-Commit-ID: J3MNO2un2ov
2017-10-03 12:27:45 +08:00
Cameron McCormack
4ad8de31f3 Bug 1397626 - Part 2: Replace uses of FontFamilyListRefCnt with SharedFontList. r=xidorn
MozReview-Commit-ID: 7HoBae9UOks
2017-10-02 10:24:25 +08:00
Nicholas Nethercote
9fda5528d2 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
2017-09-26 08:33:21 +10:00
Cameron McCormack
cb218c09b0 Bug 1403030 - stylo: One more followup to fix a build error. r=me 2017-09-26 10:31:10 +08:00
Bobby Holley
f468a30435 Bug 1400435 - Use a more precise check in the nsCSSValue destructor. r=xidorn
MozReview-Commit-ID: KFdgtxyOZ01
2017-09-19 22:53:23 -07:00
Nicholas Nethercote
5089385c78 Bug 1399758 - Measure ImageValue objects. r=heycam.
We have about 11,500 of these when loading gmail in a Stylo-enabled build, from
SpecifiedUrls; the objects themselves account for about 1.3 MiB of memory, and
the strings within them about 2.9 MiB.

We also have a very small number of them on the Gecko side.
2017-09-14 18:48:19 +10:00
Josh Matthews
64ccd9b6c6 Bug 1397971 - Share strings in URLDataValue with Rust. r=heycam 2017-09-15 13:11:37 -07:00
Sebastian Hengst
bee1310a1f Backed out changeset 1536fa69bad4 (bug 1399758) for Hazard failures. r=backout 2017-09-15 10:00:52 +02:00
Nicholas Nethercote
fb472f685b Bug 1399758 - Measure ImageValue objects. r=heycam.
We have about 11,500 of these when loading gmail in a Stylo-enabled build, from
SpecifiedUrls; the objects themselves account for about 1.3 MiB of memory, and the
strings within them about 2.9 MiB.

We also have a very small number of them on the Gecko side.

MozReview-Commit-ID: AduCIaDIzGG
2017-09-14 18:48:19 +10:00
Nazım Can Altınova
ecbcd73f2e Bug 1386848 - stylo: Get proper length value from calc nsCSSValue r=xidorn
We were getting the proper app units value for transform matrix offset before
Bug 1384656. But after that bug we started using GetCalcValue() method and
it wasn't converting length to app units and this was cousing to miscalculate
translate functions in transform property.

MozReview-Commit-ID: HHlrSg00252
2017-08-04 17:36:18 -07:00
Brad Werth
52b929d34a Bug 1383296 Part 1: Remove all uses of the nsCSSValue::Serialization enum, now that it no longer has multiple values. r=heycam
MozReview-Commit-ID: n6px5hNHtB
2017-07-21 17:26:35 -07:00
Brad Werth
3bc5ca39ef Bug 1302513 Part 5: Simplify nsCSSValue::AppendToString, now that aSerialization can only take one value. r=dholbert
MozReview-Commit-ID: 9qJOkJTzUY2
2017-07-21 18:07:14 -07:00
Mantaroh Yoshinaga
2ee29d445e Bug 1377541 - Reorder shadow array when serializing. r=birtles
CSSparserImpl::ParserShadowItem stores shadow items in a different order that
does not match the order we use when serializing computed shadow items.

The items order of storing by parser:
 <length> <length> <length> <length> <color> <inset>
The items order of serializing:
 <color> <length> <length> <length> <length> <inset>

Spec of this serialized order is as follow:
5c46d78107

This patch will shuffle the order of this items in the shadow array when
serializing it.

MozReview-Commit-ID: CIawpYKKIRy
2017-08-01 23:22:05 +09:00
Cameron McCormack
7910a427e1 Bug 1382964 - Part 1: Don't cache URLValueData::mMightHaveRef when in a traversal. r=xidorn
MozReview-Commit-ID: 2ucnu4vuaVg
2017-07-21 16:34:20 +08:00
Andrew Osmond
0bae6517a7 Bug 1359833 - Part 5. Callers pass the loading document to imgRequestProxy::SyncClone and GetStaticRequest. r=tnikkel 2017-07-19 14:15:11 -04:00
Nicholas Nethercote
4cbdad69e6 Bug 1374580 (part 2) - Remove nsAFlat{,C}String typedefs. r=froydnj.
All the instances are converted as follows.

- nsAFlatString  --> nsString
- nsAFlatCString --> nsCString
2017-06-20 19:19:05 +10:00
Bevis Tseng
e6dc9e02bc Bug 1372453 - Part 2: Name the caller of ProxyReleaseEvent. r=billm
MozReview-Commit-ID: LYhSWnZkq0i
2017-06-14 09:27:17 +08:00
Xidorn Quan
bd6a029cd7 Bug 1367028 part 1 - Simplify serialization of specified rect values in border-image props when possible. r=dholbert
MozReview-Commit-ID: C4mNCHqeIoX
2017-05-29 14:53:58 +10:00
cku
c6499b81da Bug 1310885 - Part 4. (gecko) Allow ImageValue::Intialize be called more then once, but only LoadImage in the first call.
MozReview-Commit-ID: IjL2e2LIy0f
2017-05-04 16:49:30 +08:00
Phil Ringnalda
c80de42a91 Backed out 3 changesets (bug 1310885) for heap write hazard failures
Backed out changeset 77352010d8e8 (bug 1310885)
Backed out changeset 9245a2fbb974 (bug 1310885)
Backed out changeset 7c2db290c4b6 (bug 1310885)

MozReview-Commit-ID: 7JWuxt9QDO0
2017-05-11 23:03:31 -07:00
cku
f6d604f05a Bug 1310885 - Part 4. (gecko) Allow ImageValue::Intialize be called more then once, but only LoadImage in the first call. r=haycam
MozReview-Commit-ID: IjL2e2LIy0f
2017-05-04 16:49:30 +08: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
Hiroyuki Ikezoe
d715d03af4 Bug 1342316 - Check eCSSUnit_Calc_Plus' array length in assertion. r=heycam
MozReview-Commit-ID: 9bxXrl36FtA
2017-04-28 07:52:02 +09:00
Daniel Holbert
a8a2232acc Bug 1357117 part 3: Serialize -webkit-linear-gradient() expressions using the (less-expressive) -webkit-linear-gradient syntax, instead of -moz-linear-gradient. r=heycam
Specifically:
* This patch uses a flag added in a prior patch to let us use the author's
  chosen prefix (-webkit or -moz) when serializing.  (We treat the -moz version
  as a special case, because that makes it more straightforward to unsupport
  -moz if/when we can.)
* This patch makes us share the linear-gradient() side-or-corner serialization
  codepath when serializing points for -webkit-linear-gradient. (The
  alternative is the -moz-linear-gradient codepath, which defaults to
  serializing with percent values 0%/100% for sides & corners -- and raw
  percentages are invalid in -webkit-linear-gradient(), so we can't share that
  codepath.) Notably, we have to skip the "to " token that the
  linear-gradient() codepath would normally print out -- that was a late
  addition to the spec and so it only exists in the unprefixed modern syntax.
  (Instead, -webkit-linear-gradient syntax is implicitly "from" the given
  point).


MozReview-Commit-ID: 9Oqo8nG1XDU
2017-04-25 11:48:41 -07:00
Daniel Holbert
b2b5cf7068 Bug 1357117 part 2: Add flag to distinguish between -moz & -webkit prefixed gradient expressions. r=heycam
This patch doesn't change our behavior -- we won't actually act on the new flag
until the next patch in this series.

MozReview-Commit-ID: EONsLM54eG1
2017-04-25 11:48:39 -07:00
Daniel Holbert
d078e2e1d1 Bug 1357117 part 1: Change linear-gradient serialization code to group space separator with the "to" token. r=heycam
This patch doesn't change our behavior -- we'll still produce the same serialization that we would've before.

MOTIVATION: A later patch will make us share this codepath to serialize into
-webkit-linear-gradient() syntax.  That syntax uses the same representation for
points as unprefixed modern linear-gradient() (with box-side-or-corner keywords
"top", "right", etc.), but it does *not* use the word "to".  So we'd like to
allow "to"-and-its-subsequent-space-character to be optional. Hence, this patch
groups the space together with "to", rather than as a prefix on the next token,
so that we can skip right to printing the point (without a leading space)
when we add support for -webkit-linear-gradient() serialization.

MozReview-Commit-ID: 5fCzx4NmpcC
2017-04-25 11:48:37 -07:00
cku
86fac31415 Bug 1357432 - Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. r=heycam
IsLocalRefURL is originally designed to be used by URLValue only. Since we need
this function in SVGUseElement::LookupHref too, move it to nsContentUtils as a
util function.

MozReview-Commit-ID: FDjWVbTfB0V
2017-04-18 23:35:56 +08:00
Iris Hsiao
98dbf05642 merge autoland to mozilla-central a=merge 2017-04-14 17:09:58 +08:00
Eric Rahm
843e1a784c Bug 1356060 - Cleanup nits. r=me
MozReview-Commit-ID: Jk6d9UkdbiU
2017-04-13 15:21:41 -07:00
Eric Rahm
6021db5857 Bug 1356060 - Just use nsString in URLValueData. r=heycam
This switches over from using nsStringBuffer to nsString for URLValueData's
|mString| member. This avoids various tedious conversions and can provide
potential performance improvements by avoiding length calculations.

MozReview-Commit-ID: 5eRifUZrAso
2017-04-13 15:18:25 -07:00
Xidorn Quan
0f2df09dac Bug 1355734 - Remove text-decoration-line: -moz-anchor-decoration. r=heycam,masayuki
MozReview-Commit-ID: 4TmVncV1K5G
2017-04-13 16:17:03 +08:00
cku
b1c9fe3f9f Bug 1354772 - Part 2. Compute URLValueData::mMightHaveRef when need. r=heycam
MozReview-Commit-ID: 8t5tKrjB1cz
2017-04-10 16:41:51 +08:00
cku
c77e7448d3 Bug 1354772 - Part 1. Compute URLValueData::mIsLocalRef when need. r=heycam
MozReview-Commit-ID: 77pcTcaScF0
2017-04-10 17:25:48 +08:00
Xidorn Quan
93655e51b9 Bug 1343964 part 1 - Move URLExtraData into its own header. r=heycam
This patch does the following in addition to a simple move:
* change the type of the pointers from RefPtr to nsCOMPtr
* move it from mozilla::css namespace to mozilla

MozReview-Commit-ID: 72MYq6kWm4s
2017-04-04 10:04:13 +10:00
Xidorn Quan
95cf226194 Bug 1351957 - Create URLExtraData for holding base uri, referrer, and principal. r=heycam
MozReview-Commit-ID: 1wqTb3kvvWh
2017-03-30 18:54:48 +11:00
Bobby Holley
c2e3d797d1 Bug 1350244 - Back out bug 1348606 part 3 (Inline nsCSSValue::Array::SizeOfIncludingThis). r=me
This reverts commit 0afb8c9034ea1d59d25dac863c9f30430215773a.

MozReview-Commit-ID: IAOnqb5K3J7
2017-03-29 11:05:20 -07:00
Bobby Holley
b86b97cc10 Bug 1350244 - Back out bug 1348606 part 5 (Use a threadsafe array for counters). r=me
This reverts commit 07301f1c3f71b36dbe2345e8faa9bc6d643cfc97.

MozReview-Commit-ID: 8tLjUhki2C1
2017-03-29 11:05:17 -07:00
Bobby Holley
68330022ab Bug 1351026 - Followup build bustage fix. rpending=froydnj CLOSED TREE
MozReview-Commit-ID: FnzU7d5Emq1
2017-03-27 14:34:46 -07:00
Bobby Holley
c6a40ed6f6 Bug 1351026 - Whitelist the compositor thread in DO_RESET. r=emilio
MozReview-Commit-ID: 3k6Rrq7mbWx
2017-03-27 13:11:10 -07:00
Bobby Holley
c374cf6caa Bug 1348606 - Use a threadsafe array for counters. r=xidorn
MozReview-Commit-ID: KgTgcD5mGqr
2017-03-23 10:56:49 -07:00
Bobby Holley
b30cb4dc0b Bug 1348606 - Inline nsCSSValue::Array::SizeOfIncludingThis. r=xidorn
This will make it easier to macro-ize this stuff.

MozReview-Commit-ID: Hcmg6yaTTdt
2017-03-23 10:56:46 -07:00
JerryShih
225732b92d Bug 1347164 - serialize colors using "rgba()" as the color-function, if they have a non-opaque alpha channel. r=dholbert
MozReview-Commit-ID: 44T8gy7UWFJ
2017-03-20 17:26:05 +08:00
Ting-Yu Lin
315afe9175 Bug 1338446 Part 4 - Label StyleImageRequestCleanupTask. r=heycam
If nsStyleImageRequest::Resolve() has been called, we cache the DocGroup and
use it for dispatching events for the clean up task. Otherwise, it's safe to
do clean up task on non-main thread.

MozReview-Commit-ID: BXalEkc6dBm
2017-03-14 21:29:55 +08:00
Manish Goregaokar
ceb5b11b52 Bug 1296477 - Part 2: stylo: Implement remaining content values; r=heycam
MozReview-Commit-ID: 9fLM5bdR8hr
2017-03-11 22:40:54 -08:00
Xidorn Quan
e1027d5733 Bug 1345804 part 2 - Add new AtomIdent unit to nsCSSValue. r=heycam
MozReview-Commit-ID: 4Qc3POvHrJg
2017-03-10 15:53:56 +11:00
cku
c71480a03d Bug 1345377 - Implement URLValueData::HasRef. r=heycam
Improve code readability.

MozReview-Commit-ID: HDJ7TeyqCpN
2017-03-07 17:31:48 +08:00
Xidorn Quan
57b3c7d52d Bug 1339394 - Don't serialize transparent color to transparent keyword when not necessary. r=heycam,jaws
MozReview-Commit-ID: 59cmaCoFJMR
2017-02-16 10:26:13 +11:00
Iris Hsiao
97929fe90a Backed out changeset ae26b4e4d59b (bug 1339394) for developer's request 2017-02-15 13:10:35 +08:00
Xidorn Quan
5444bad47a Bug 1339394 - Don't serialize transparent color to transparent keyword when not necessary. r=heycam
MozReview-Commit-ID: 59cmaCoFJMR
2017-02-14 22:43:32 +11:00