Commit Graph

40 Commits

Author SHA1 Message Date
Xidorn Quan
e175680895 Bug 1397644 part 1 - Implement XUL tree pseudo style resolution for stylo. r=emilio
MozReview-Commit-ID: 5JqvLv3tt5m

--HG--
extra : source : 23a7db4b7938b095947abeb41edb0cb6375f95da
2017-10-20 21:31:13 +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
Bobby Holley
977fd4a02a Bug 1397500 - Disable the ActiveElementUsesStyle optimization for stylo. r=emilio
MozReview-Commit-ID: 20aqaFv9fxE
2017-09-06 15:30:53 -07:00
Nazım Can Altınova
b2b88364dd Bug 1355721 - stylo: Implement font feature values lookup r=emilio,xidorn
MozReview-Commit-ID: 7wgQ1NCn7vL

--HG--
extra : rebase_source : 6c774e87b8bd3f30d819302aba5a73a50047981a
2017-08-23 18:05:53 -07:00
Gregory Szorc
2a5e786286 Backed out changesets b749fc196a50, 2791eac8d760 (bug 1355721) for build bustage
CLOSED TREE

--HG--
extra : amend_source : 7618f27e1cf71347f12384935374d303d5c1ab23
extra : histedit_source : 1143d226673ace563bb5d9ff3c420ded33439791%2C9746a30097304bd2214a0072773dc00c767d31cd
2017-08-24 20:30:17 -07:00
Nazım Can Altınova
00f1cc4565 Bug 1355721 - stylo: Implement font feature values lookup r=emilio,xidorn
MozReview-Commit-ID: 7wgQ1NCn7vL

--HG--
extra : rebase_source : c104c2b09ebfbf5cdb98bc5638473cac1bfc40c9
2017-08-23 18:05:53 -07:00
Xidorn Quan
7399a0157a Bug 1382077 part 1 - Have StyleSet::MediumFeaturesChanged return nsRestyleHint rather than a bool. r=heycam
MozReview-Commit-ID: 5g3mHU8pxXP

--HG--
extra : rebase_source : aff51be14395850620fe43d814c49e30a3048be5
2017-07-24 11:27:08 +10:00
Carsten "Tomcat" Book
41e41e6d05 Backed out changeset 23c6326dd926 (bug 1382077) on request from xidorn 2017-07-25 12:17:56 +02:00
Xidorn Quan
d8543d6975 Bug 1382077 part 1 - Have StyleSet::MediumFeaturesChanged return nsRestyleHint rather than a bool. r=heycam
MozReview-Commit-ID: 5g3mHU8pxXP

--HG--
extra : rebase_source : aff51be14395850620fe43d814c49e30a3048be5
2017-07-24 11:27:08 +10:00
Emilio Cobos Álvarez
2b7de51623 Bug 1381844: Be more explicit about the kind of style context we handle all the time. r=bholley
MozReview-Commit-ID: E0mdkhU3XBz
2017-07-22 18:02:57 +02:00
Manish Goregaokar
d909c5cea0 Bug 1367904 - Part 11: stylo: Use ServoStyleContext in ServoStyleSet/ServoRestyleManager; r=bholley
MozReview-Commit-ID: JJOBixTSCZq
2017-07-17 21:00:54 -07:00
Ting-Yu Lin
3ea291f24f Bug 1377196 Part 2 - Add AppendAllXBLStyleSheets to ServoStyleSet. r=heycam
MozReview-Commit-ID: HSQnBk8djil

--HG--
extra : rebase_source : 458787e519c556b659591ab3f627e71a5f87e60d
2017-06-29 16:09:22 -07:00
Ting-Yu Lin
51d252c459 Bug 1377196 Part 1 - Store nsBindingManager* in ServoStyleSet. r=heycam
We need to call nsBindingManager's method from ServoStyleSet in a later
patch.

Also, we call nsStyleSet::SetBindingManager() immediately after we call
nsStyleSet::Init(). Therefore, we could pass binding manager to Init()
directly, and delete SetBindingManager().

MozReview-Commit-ID: 43WTpW3mSKX

--HG--
extra : rebase_source : f24f6085c51dfae1a969aee1e073720097d240d5
2017-06-29 13:43:59 -07:00
Emilio Cobos Álvarez
b7a3d1be4c Bug 1376077: Remove aPseudoElement argument from the StyleSet classes. r=heycam
MozReview-Commit-ID: InxDtd5Pmf3

--HG--
extra : rebase_source : 68bfc7fafb75b6b547f035e635300a202a60086d
2017-06-24 11:25:05 +02:00
Emilio Cobos Álvarez
f87691e784 Bug 1357461: Cache effective media query results. r=heycam
And implement a function that returns whether they changed, to be shared with
Servo.

MozReview-Commit-ID: 8gnAdJaEfZC
2017-06-03 18:59:07 +02:00
Emilio Cobos Álvarez
69601ee10e Bug 1367553: Provide the kind of change that the stylesheet suffered to RecordStyleSheetChange. r=heycam
I plan to use it for now to force a full document restyle when a standalone rule
changes or something like that.

In practice, we can do better sometimes, and we may just want to propagate to
the StyleSet all the style change notifications in order to have access to the
rule that changed and all that...

But for now this seemed easier than adding other four or five functions to
StyleSetHandle.

MozReview-Commit-ID: 2BEIliGu4mO

--HG--
extra : rebase_source : 386a1b9fe5ffc5fefbf20678068573ea195043f0
2017-05-24 04:28:58 +02:00
Emilio Cobos Álvarez
d4ee389879 Bug 1367553: Move dirty style tracking to the StyleSet. r=heycam
MozReview-Commit-ID: 2ut8SAwNGN2

--HG--
extra : rebase_source : d9f7d7f1da7b38e595021795ee902e63746c8161
2017-05-24 02:53:08 +02:00
Phil Ringnalda
4dcbd3095c Backed out 2 changesets (bug 1367553) for build bustage
CLOSED TREE

Backed out changeset 3e6c9a752596 (bug 1367553)
Backed out changeset 1ee24478fa16 (bug 1367553)

MozReview-Commit-ID: B805jBJYcqL
2017-05-25 06:13:01 -07:00
Emilio Cobos Álvarez
38735b0dbd Bug 1367553: Provide the kind of change that the stylesheet suffered to RecordStyleSheetChange. r=heycam
I plan to use it for now to force a full document restyle when a standalone rule
changes or something like that.

In practice, we can do better sometimes, and we may just want to propagate to
the StyleSet all the style change notifications in order to have access to the
rule that changed and all that...

But for now this seemed easier than adding other four or five functions to
StyleSetHandle.

MozReview-Commit-ID: 2BEIliGu4mO

--HG--
extra : rebase_source : 926f8442fbd17c7ffa7f72b6b4a515a28b9aa18b
2017-05-24 04:28:58 +02:00
Emilio Cobos Álvarez
e2b5e966dc Bug 1367553: Move dirty style tracking to the StyleSet. r=heycam
MozReview-Commit-ID: 2ut8SAwNGN2

--HG--
extra : rebase_source : 5f84d20bd197cd2203093ef4b57cb6b8ce2eb15f
2017-05-24 02:53:08 +02:00
Brad Werth
450a0513e2 Bug 1339629 Part 9: Uplift EnsureUniqueInnerOnCSSSheets and SetNeedsRestyleAfterEnsureUniqueInner into StyleSetHandle, and eliminate CSSStyleSheet::EnsureUniqueInner. r=heycam
MozReview-Commit-ID: LH7vTKUmuv8

--HG--
extra : rebase_source : 35d2e23978150001c2a6293a8749065dd49eed4a
2017-05-15 16:30:10 -07:00
Bobby Holley
74189ef7bc Bug 1329876 - Don't maintain a TreeMatchContext for Servo. r=bz 2017-05-20 22:00:01 +02:00
Bobby Holley
cdff82b294 Bug 1329876 - Stop accepting aTreeMatchContext in the ServoStyleSet methods. r=bz
This makes it clear it's unused.
2017-05-20 21:59:59 +02:00
Xidorn Quan
647879714c Bug 1328319 part 7 - Enable querying counter-style rule on Servo backend. r=heycam
MozReview-Commit-ID: Aj3AcW1KmRe

--HG--
extra : rebase_source : b17302b7026c78627bee766094fb117b2e2abe48
2017-05-11 14:47:24 +10:00
Brad Werth
e2e3019c59 Bug 1348481 Part 3: Fix a dangerous typo in StyleSetHandleInlines (replaced one variable with another) and add assert to catch the problem it created. r=heycam
MozReview-Commit-ID: L2tfMt7TM60

--HG--
extra : rebase_source : 7047ed8922bae65d4ecb30c157559959d5a59e51
2017-04-18 11:29:13 -07:00
Cameron McCormack
060797a439 Bug 1358968 - Part 2: Use nsCSSAnonBoxList.h data to skip parent display-based style fixups when resolving anon box style. r=bz
MozReview-Commit-ID: HugxFcRcCqv

--HG--
extra : rebase_source : 5c3b12151db531a0b595cff674b1d1d137ebb9cf
2017-04-24 16:25:37 +08:00
Xidorn Quan
be843c7162 Bug 1345696 part 7 - Provide @font-face rules for stylo backend. r=heycam
MozReview-Commit-ID: CHPxz7iOLg6

--HG--
extra : rebase_source : 56371228e08b1accbdd30f738622bc211e6daee8
2017-03-27 17:53:27 +11:00
Boris Zbarsky
964a12c306 Bug 1345362 part 4. Rename ResolveAnonymousBoxStyle to ResolveInheritingAnonymousBoxStyle. r=heycam
MozReview-Commit-ID: GVA1fTh0RDv

--HG--
extra : rebase_source : 4333baf6764f346d68836e387fa002705684bfdd
2017-03-08 23:50:28 -05: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
Boris Zbarsky
f12067d36e Bug 1343078 part 7. Make placeholders a non-inheriting anon box. r=dbaron
MozReview-Commit-ID: 3kQQroDRlr8

--HG--
extra : rebase_source : 6b1c8e0c1f287532badedb50439e415f97a4cf81
2017-03-08 00:18:40 -05:00
Boris Zbarsky
ca2ae1cf7a Bug 1343078 part 1. Give placeholders and first-letter continuations different kinds of anonymous boxes. r=dbaron
MozReview-Commit-ID: B5IHgVUo1Rp

--HG--
extra : rebase_source : d7eab69a0dbcf0a460a249d843c5510a470b5a04
2017-03-08 00:18:32 -05:00
Bobby Holley
09ce7e77ed Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio 2017-01-09 11:50:16 -08:00
Bobby Holley
f8c9d884fc Bug 1317016 - Basic infrastructure for RestyleHint-driven traversal. r=emilio
MozReview-Commit-ID: 7wH5XcILVmX
2016-11-25 10:06:39 -08:00
Xidorn Quan
2f49a48a09 Bug 1304302 part 10 - Replace all uses of StyleSheetHandle. r=heycam
This commit is generated by the following commands with some minor
manual adjustment:

find . \( -name '*.h' -or -name '*.cpp' \) -not -path './layout/style/StyleSheet*' -exec sed -i -b \
  -e '/^\(#include\|using\)/s/StyleSheetHandle/StyleSheet/g' \
  -e 's/\(mozilla::\)\?StyleSheetHandle::RefPtr/RefPtr<\1StyleSheet>/g' \
  -e 's/StyleSheetHandle()/nullptr/g' \
  -e 's/->AsStyleSheet()//g' \
  -e 's/StyleSheetHandle/StyleSheet*/g' {} +
sed -i -b 's/sheet->AsVoidPtr()/sheet.get()/' layout/style/Loader.cpp
sed -i -b 's/AsHandle()/this/' layout/style/StyleSheet.cpp

MozReview-Commit-ID: 7abdvlKHukd

--HG--
extra : source : e5682242db07203b5a91810fe1e243c955310588
2016-09-26 22:03:25 +10:00
Xidorn Quan
1dc2955ab8 Bug 1304302 part 8 - Change include of {CSS,Servo}StyleSheet.h to StyleSheetInlines.h. r=heycam
It is a preparation for later patch which moves functions from those
classes into StyleSheet. Some of the functions are better defined in
StyleSheetInlines.h.

This commit is generated by the following command:

find . \( -name '*.h' -or -name '*.cpp' \) -not -name '*StyleSheet*' -exec sed -i -b \
  -e '/^#include/ s_/\(CSS\|Servo\)StyleSheet\.h_/StyleSheetInlines.h_' \
  -e '1,\_^#include "mozilla/StyleSheetInlines.h"_ ! { \_^#include "mozilla/StyleSheetInlines.h"_d }' {} +

MozReview-Commit-ID: 54H5x27Pmso

--HG--
extra : source : e4fe253a8f82c3c58e5191d6af66fb0e85f2df19
2016-09-26 22:03:25 +10:00
Cameron McCormack
3aadcf811c Bug 1268404 - Part 1: Split out ResolveStyleForText from ResolveStyleForNonElement and pass in the text node. r=bholley 2016-04-29 14:01:44 +10:00
Xidorn Quan
d5599a3104 Bug 1097499 part 3 - Add a separate anonbox for text nodes. r=heycam
MozReview-Commit-ID: 1GfoFEGhyka

--HG--
extra : source : 38b806fd0fa54934439db0de75600def43142272
2016-04-22 09:18:41 +10:00
Bobby Holley
3836b7c35b Bug 1258017 - Redesign and simplify rule tree GC. r=dbaron
The basic idea here is as follows:
* Rule nodes are reference-counted, but releasing them adds them to a linked
  list rather than freeing them. This allows for the reuse that motivated the
  original GC scheme.
* We get rid of the marking, and instead rely on the reference count.
* Sweeping no longer requires a complicated traversal. We just pop items
  off the free list until it's empty. When a child is destroyed, its parent
  may go onto the free list.
* We remove special handling for the root node, and use a regular reference-counted
  edge from the style set.
* The free list automatically asserts that it's empty (meaning all nodes have been
  freed) in its destructor, which runs when the style set is destroyed.
* We get rid of the list of style context roots on the style set. We still need
  a count though, because of the HasCachedStyleData check.
2016-03-28 08:59:22 -07:00
Cameron McCormack
0ecd5593cc Bug 1244074 - Part 4: Use StyleSheetHandle instead of concrete style sheet class in most places. r=dholbert 2016-02-24 18:01:12 +11:00
Cameron McCormack
c7df59c911 Bug 1244068 - Part 2: Add skeleton ServoStyleSet and a StyleSetHandle smart pointer. r=dholbert 2016-02-24 18:01:10 +11:00