Commit Graph

520 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
cd9cfe75b9 Bug 1422528: Inline and make stylo take the rare path for GetClasses directly. r=bz
Servo already checks MayHaveClass. This should improve Gecko performance, too.

MozReview-Commit-ID: KpVOVsKh6pe
2017-12-02 21:45:33 +01:00
Emilio Cobos Álvarez
e6f6e27356 Bug 1422641: Inline Gecko_GetSMILOverrideDeclarationBlock. r=Manishearth,xidorn
MozReview-Commit-ID: E8cM7zRZHn1
2017-12-05 14:20:26 +01:00
Emilio Cobos Álvarez
422cf2fbb1 Bug 1422636: Inline Gecko_Namespace. r=xidorn
MozReview-Commit-ID: FFdmaYCDxnv
2017-12-05 14:20:18 +01:00
Emilio Cobos Álvarez
7c41f2680e Bug 1422633: Inline the Rust bits of GetDocumentState too. r=xidorn
MozReview-Commit-ID: 9zvZF72ljS
2017-12-05 14:20:11 +01:00
Emilio Cobos Álvarez
c4cd4309a3 Bug 1422524: Avoid calling nsAttrValue::Type twice in the common case. r=xidorn
MozReview-Commit-ID: JCnUrlYCWv3
2017-12-02 20:36:53 +01:00
Ting-Yu Lin
48f97afc24 Bug 1418224 Part 3 - Add shape-outside: <image> support to style system. r=heycam
Some Gecko style system files are modified to prevent assertions and
crashing, and to keep test failures on stylo disabled builds to minimum.

MozReview-Commit-ID: GuxAeCTz0xx
2017-11-17 16:34:37 +08:00
dluca
617c4e7f6a Backed out 4 changesets (bug 1418224) for build bustages r=backout on a CLOSED TREE
Backed out changeset 3ef8715cb8d7 (bug 1418224)
Backed out changeset 0d58d9fed90d (bug 1418224)
Backed out changeset faad7f275749 (bug 1418224)
Backed out changeset 1e86ff6b95ae (bug 1418224)
2017-11-27 07:42:50 +02:00
Ting-Yu Lin
0ba402e925 Bug 1418224 Part 3 - Add shape-outside: <image> support to style system. r=heycam
Some Gecko style system files are modified to prevent assertions and
crashing, and to keep test failures on stylo disabled builds to minimum.

MozReview-Commit-ID: GuxAeCTz0xx
2017-11-17 16:34:37 +08:00
Gabriele Svelto
b159f57c78 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from layout; r=dbaron
MozReview-Commit-ID: 4hCfUa0TgLw
2017-10-10 15:22:38 +02:00
shindli
f90a73f3c0 Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto
9b32b77dff Bug 1402519 - Remove MOZ_CRASHREPORTER directives from layout; r=dbaron
MozReview-Commit-ID: 4hCfUa0TgLw
2017-10-10 15:22:38 +02:00
Cameron McCormack
c8f7651b7a Bug 1418245 - Move @-moz-document matching function out of css::DocumentRule. r=TYLin
MozReview-Commit-ID: 81dCiFosF0V
2017-11-17 17:31:22 +08:00
Cameron McCormack
382b3d4bbb Bug 1418899 - Part 4: Move image layer filling function out of nsRuleNode. r=cjku
MozReview-Commit-ID: 2FXGFEkpIKE
2017-11-20 13:53:58 +08:00
Cameron McCormack
d30125f5f4 Bug 1418899 - Part 3: Use a single image layer array filling function. r=cjku
We were accidentally using the background one for the mask layers list anyway,
and I don't think the overhead of filling the arrays for the two properties
mask layers don't use is a problem.

MozReview-Commit-ID: 7LDiYGrnUd5
2017-11-20 13:44:22 +08:00
Cameron McCormack
7a2fd5344d Bug 1418899 - Part 2: Move some font-related static methods out of nsRuleNode. r=TYLin
MozReview-Commit-ID: 3l9L6bHr0PJ
2017-11-20 12:43:21 +08:00
Cameron McCormack
d77272d4fc Bug 1418232 - Part 2: Simplify Gecko_MatchLang a little. r=emilio
MozReview-Commit-ID: 9dHoD5KQYvF
2017-11-17 16:51:01 +08:00
Cameron McCormack
a8dbc039e4 Bug 1418232 - Part 1: Move pseudo-class matching helper methods from nsCSSRuleProcessor to nsCSSPseudoClasses. r=emilio
MozReview-Commit-ID: LYn6duc0Zwh
2017-11-17 16:48:34 +08:00
Cameron McCormack
825c8b6a82 Bug 1418217 - Move visited links pref to StylePrefs. r=TYLin
On a CLOSED TREE to fix Servo bustage.

MozReview-Commit-ID: HLukaX0EFFv
2017-11-17 14:08:22 +01:00
Emilio Cobos Álvarez
6ced9ba481 Bug 1410624: Add a Document::elements_with_id API. r=xidorn
MozReview-Commit-ID: BNtbJp0RI68
2017-11-04 12:36:22 +01:00
Emilio Cobos Álvarez
bf557b0c5a Bug 1410624: Integrate QuerySelectorAll in Gecko. r=heycam
MozReview-Commit-ID: 2Jf3Z6ikjXB
2017-11-04 12:33:41 +01:00
Emilio Cobos Álvarez
20cec903c5 Bug 1410624: Add some declarations and bindings so the build isn't busted when servo-vcs-sync goes back alive. r=me,heycam
https://github.com/servo/servo/pull/18988 has merged a while ago in servo, but
since the sync service is down, I haven't been able to land the relevant patches
today.

This at least ensures that the build isn't busted when servo-vcs-sync goes back
up.

MozReview-Commit-ID: 9ohgwcnMc5T
2017-10-23 22:46:02 +02:00
Cameron McCormack
b8dd60db88 Bug 1407246 - Split out Variables struct difference calculation. r=emilio
MozReview-Commit-ID: CtWtG3zkD1D
2017-10-12 09:12:30 +08:00
Bobby Holley
f4674e7200 Bug 1407080 - Add an API to annotate crash reports from stylo. r=Manishearth
MozReview-Commit-ID: KuD4SbVrdYH
2017-10-10 13:30:57 -07:00
Hiroyuki Ikezoe
f0a38025cf Bug 1329169 - Use atom for animation-name property. r=xidorn
MozReview-Commit-ID: 9yVWXVi1oXf
2017-10-10 17:00:28 +09:00
Sebastian Hengst
7d14f8623a merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EE6DcCgHufi
2017-10-09 11:19:20 +02:00
Nicholas Nethercote
a35e82f193 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Bobby Holley
758f0e2d95 Bug 1406220 - Followup: Assert main thread to silence heap-write hazard. r=me
MozReview-Commit-ID: JFW9zDbV5VV
2017-10-07 14:31:00 -07:00
Bobby Holley
cc632c301b Bug 1406220 - Add canary and journaling. r=Manishearth,r=dmajor
MozReview-Commit-ID: 582ZiTmcvgs
2017-10-07 12:35:24 -07:00
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
Brad Werth
17fc79eff7 Bug 1403699 Part 1: Unify ServoBindings synchronization primitives into a single RWLock. r=bholley
MozReview-Commit-ID: GdYLEQHiM1f
2017-10-03 12:57:38 -07: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
Bobby Holley
352ba9d09f Bug 1403397 - Revert: Round hashglobe allocations up to the nearest page size. r=bholley
This reverts commit a4aba77facc8ceab1e0d7f7d796075a6606b15c6.

MozReview-Commit-ID: 7quMDoDmqxL
2017-10-03 14:07:05 -07:00
Bobby Holley
db0be0bf4b Bug 1403397 - Revert: Protect the hashmaps outside of rebuilds. r=bholley
This reverts commit 80a3d080ad6f6ae8641443ba08e11a6e9eed260a.
2017-10-03 14:05:57 -07:00
Ting-Yu Lin
d35b7d33db Bug 1404243 Part 3 - Remove refcount for StyleBasicShape, and use UniquePtr to hold it. r=heycam
After StyleBasicShape is set to StyleShapeSource, it's life cycle never go
beyond StyleShapeSource, so I make StyleBasicShape hold by a UniquePtr in
StyleShapeSource.

Also, replace all raw pointers to StyleBasicShape by UniquePtr in all APIs.

MozReview-Commit-ID: 1MfIFjP8TsQ
2017-09-25 18:50:24 +08:00
Bobby Holley
c1d9b87823 Bug 1403397 - Protect the hashmaps outside of rebuilds. r=Manishearth,r=dmajor,r=ehoogeveen
MozReview-Commit-ID: KACmfw4pZY2
2017-09-28 18:23:13 -07:00
Bobby Holley
6c0521f1b5 Bug 1403397 - Round hashglobe allocations up to the nearest page size. r=Manishearth,r=dmajor
MozReview-Commit-ID: 34KFtcwCkBB
2017-09-28 18:23:11 -07:00
Emilio Cobos Álvarez
016ad396a4 Bug 1396073: Simplify and remove some more code. r=xidorn
MozReview-Commit-ID: Ec9pfQw7U6W
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-09-28 12:26:44 +02:00
Emilio Cobos Álvarez
361b007536 Bug 1403592: Never flush the user font set when getting font metrics from style resolution. r=Manishearth
In this case, the caller doesn't go through all the PreTraverseSync stuff (we
don't really want it to do so), via GetComputedStyleNoFlush.

It makes sense to not flush the user font set that case, we'll schedule a
restyle properly if / when needed.

Since the set should be flushed otherwise, let's just not flush it from the
styling code.

MozReview-Commit-ID: LLHfxemJ8QQ
2017-09-28 10:12:50 +02: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
Xidorn Quan
45b9f27e27 Bug 1400438 - Use array instead of linked list for -moz-border-*-colors. r=heycam,mattwoodrow
MozReview-Commit-ID: LPl1Rlg5gRn
2017-09-18 13:38:39 +10:00
Nicholas Nethercote
3f8bdbce23 Bug 1401427 - Fix leak in the UACacheReporter and re-enable it. r=heycam.
The problem was the missing |gUACacheReporter = nullptr;|.
2017-09-20 21:17:27 +10:00
Nicholas Nethercote
fe133fb30c Bug 1401427 - Temporarily disable UACacheReporter due to a leak.
MozReview-Commit-ID: G8MBeSqYkqa
2017-09-20 12:23:47 +10:00
Nicholas Nethercote
7ba62ed662 Bug 1400078 - Measure the UA cache. r=njn.
ServoStyleSetSizes now has two uses, one for the Stylist, and one for the UA
cache, and so the patch removes 'Stylist' from the field names.

Example output from about:memory:

> +----1,359,608 B (00.55%) -- layout
> |    +----756,488 B (00.31%) -- style-sheet-cache [2]
> |    +----393,968 B (00.16%) -- servo-ua-cache
> |    |    +--234,496 B (00.10%) -- element-and-pseudos-maps
> |    |    +---59,648 B (00.02%) -- revalidation-selectors
> |    |    +---58,320 B (00.02%) -- invalidation-map
> |    |    +---30,752 B (00.01%) -- other
> |    |    +---10,752 B (00.00%) -- precomputed-pseudos

MozReview-Commit-ID: 8oxuJO0ojp
2017-09-19 09:25:00 +10:00
Steve Fink
0acf670f60 Bug 1400442 - Assert that Gecko_ShouldCreateStyleThreadPool is only called on the main thread, r=emilio 2017-09-15 17:16:34 -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
Emilio Cobos Álvarez
25e977ece0 Bug 1399546: Remove unused binding function. r=me
MozReview-Commit-ID: 9FN3j5zNHQe
2017-09-17 19:39:51 +02:00
Emilio Cobos Álvarez
a77197321f Bug 1399546: Add an API to know if an element is it's document body element. r=heycam
MozReview-Commit-ID: 8mtd4CsoSlU
2017-09-16 02:39:09 +02: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