Commit Graph

55 Commits

Author SHA1 Message Date
Brad Werth
486088166d Bug 1395322 Part 1: Enforce consistent use of nsIDOMCSSRule enums for Servo rule types. r=xidorn
MozReview-Commit-ID: DmfaYCe9QAY

--HG--
extra : rebase_source : 6a89bd910de053c4535bdfbdf7df551bf9c83472
2017-09-06 16:58:42 -07:00
Andrew McCreight
78807d8776 Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv
Replace it with NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION, because it
has been the same for a while.

MozReview-Commit-ID: 5agRGFyUry1

--HG--
extra : rebase_source : 5388c56b2f6905c6ef969150f0c5b77bf247624d
2017-08-29 16:02:48 -07:00
Nazım Can Altınova
ffc264cb6b Bug 1365900 - Create ServoFontFeatureValuesRule and bind servo data r=xidorn
Add ServoFontFeatureValuesRule for CSSOM representation of
@font-feature-values rule and wire up with bindings.

MozReview-Commit-ID: B4Lpj43bvKX

--HG--
extra : rebase_source : 6508027f88ff76784ed7d0e5420d6e174f116b38
2017-07-25 18:30:15 -07:00
Emilio Cobos Álvarez
aa8fc8476c Bug 1372041: Refactor @import so it also respects the stylesheet's media properly. r=heycam
MozReview-Commit-ID: EBmd8nG877t
2017-07-02 17:19:08 +02:00
Emilio Cobos Álvarez
f16a67fdd4 Bug 1372041: Refactor a bunch of stuff so link rel="media" is honored. r=heycam
This still leaves one annoying refactoring of @import so we also fix it for
them.

MozReview-Commit-ID: 4s0WExDEH75
2017-07-02 17:19:07 +02:00
Brad Werth
c5cfde3395 Bug 1371453 Part 2: Update ConstructImportRule callsites and other affected code to tolerate ServoImportRules with no attached raw sheet. r=xidorn
MozReview-Commit-ID: HOLPcRvjnq1

--HG--
extra : rebase_source : 1097bae19d1d78d35985b77c1b2b7911a33e24ca
2017-06-27 11:10:47 -07:00
Brad Werth
18d0567044 Bug 1371453 Part 1: Relax the logic ServoCSSRuleList::InsertRule to fail soft when processing an @import rule with a malformed URL. r=xidorn
MozReview-Commit-ID: Ejt3CzETGPU

--HG--
extra : rebase_source : e805e56c1f4b64082ebddb9a3d58327da6f2993f
2017-06-23 11:54:00 -07:00
Xidorn Quan
e3c82192cb Bug 1359217 part 6 - Add ServoStyleRuleMap to handle style rule mapping. r=heycam
This commit adds class ServoStyleRuleMap which caches the mapping from
raw Servo style rule to Gecko's wrapper object.

It is a per-document object, and is added as an observer of document
when constructed, so that it updates data inside when possible.

For safety consideration, this change also makes ServoStyleRule support
weak pointer, and use weak pointer inside ServoStyleRuleMap.

MozReview-Commit-ID: YxBnZ88tjf

--HG--
extra : source : 0f2bc306d27b8ab22f1aa08aa9d44af0dba4694d
2017-06-19 15:45:43 +10:00
Xidorn Quan
7db62f5a16 Bug 1359217 part 5 - Fix reversed condition for inserting import rule. r=heycam
MozReview-Commit-ID: 7LU4l83lQ0t

--HG--
extra : source : d6d6c57ccdb0d0851e98f1ed79b4449b2ab7f6e9
2017-06-19 15:45:43 +10:00
Xidorn Quan
1269699516 Bug 1352968 part 8 - Construct @import rule object eagerly. r=heycam
MozReview-Commit-ID: HrgZnW21dHz

--HG--
extra : source : cedc65c6376373d54e623dc5cfadaa2de92909cb
2017-05-30 11:10:25 +10:00
Xidorn Quan
a17c79bc30 Bug 1352968 part 5 - Add a param to ctor of ServoCSSRuleList for top level list. r=heycam
@import rules can only exist in top level rule lists, and we need the
stylesheet to construct the import rules.

MozReview-Commit-ID: APCyGW8re8f

--HG--
extra : source : b9b78672249f390d56d71fa46dfa4b4cd49ef182
2017-05-30 11:10:25 +10:00
Xidorn Quan
4f83161da8 Bug 1352968 part 3 - Add basic CSSOM support for @import rule. r=heycam
Initialization of mChildSheet will be implemented in a later patch.

MozReview-Commit-ID: 3SX3GJEhpBQ

--HG--
extra : source : e45a434d0e9d2e2d8c628b17c2074b8f5de4b1ee
2017-05-30 11:10:25 +10:00
Xidorn Quan
65bfd17373 Bug 1352968 part 0 - Fix up before adding new files. r=heycam
MozReview-Commit-ID: HSrROKVr1dD

--HG--
extra : source : b22cf2f1834994ee89503dfa1b394ff2ec4b81bb
2017-05-30 11:10:25 +10:00
Brad Werth
47826ded85 Bug 1339629 Part 11: Call EnsureUniqueInner from ServoCSSRuleList when a StyleSheet is set. r=heycam
MozReview-Commit-ID: cvdITwpREk

--HG--
extra : rebase_source : 1b3745d2b10337a6a93fe700f4d18efd526ce03b
2017-05-18 15:48:48 -07:00
Xidorn Quan
153f90c76a Bug 1345697 part 3 - Implement CSSKeyframesRule and CSSKeyframeRule for stylo. r=heycam
MozReview-Commit-ID: AeU0BWaBfYe

--HG--
extra : source : 41460384de0116c90dcbcb2caf9f2763a62b5f40
2017-05-19 16:12:34 +10:00
Xidorn Quan
2723728359 Bug 1328319 part 2 - Add basic integration of @counter-style. r=heycam
MozReview-Commit-ID: 68CcxyWuINu

--HG--
extra : rebase_source : 2772c4ab938daf61e4a14fa952b24ecd4220de6b
2017-05-15 14:18:44 +10:00
Fernando Jimenez Moreno
9e66b37474 Bug 1350175 - Part 2: FFI changes to get line and column. r=xidorn
MozReview-Commit-ID: 87pVnoLmjPl

--HG--
extra : rebase_source : 1decaf9bc3aa75d64254aea8fdb08679c2557ca2
2017-04-25 16:24:39 +02:00
Fernando Jimenez Moreno
321888d66f Bug 1361994 - Part 3: Implement CSSOM support for @-moz-document. r=xidorn
MozReview-Commit-ID: HnFDV9h7SYW

--HG--
extra : rebase_source : 326d86d96c34102b31c855d9083316558dd2a3df
2017-05-11 14:11:16 +02:00
Fernando Jimenez Moreno
c98d07f3f9 Bug 1361994 - Part 2: Fix build error in ServoCSSRuleList. r=xidorn
MozReview-Commit-ID: wiowblsACq

--HG--
extra : rebase_source : f679ebfb45fea71b8ed1d2b5b0b09abe221b4736
2017-05-11 14:11:16 +02:00
Xidorn Quan
a82f5a5ae1 Bug 1355394 part 3 - Implement CSSOM support for @supports. r=heycam
MozReview-Commit-ID: AV1t6mIFF0J

--HG--
extra : rebase_source : b69ba50070290aef27dfe00866da8a59d3c8520f
2017-04-26 15:59:29 +08:00
Brad Werth
7c2789c8d2 Bug 1346256 Part 2: Define methods in ServoCSSRuleList to fill a hash of RawServoStyleRule to ServoStyleRule. r=heycam,xidorn
MozReview-Commit-ID: 4Swb9KwV0uO

--HG--
extra : rebase_source : 771ac051648526b2cef59acc8f700548762b73b6
2017-04-07 08:07:37 -07:00
J. Ryan Stinnett
7f0b8b2dd6 Bug 1345206 - Wire up bindings for @page rule. r=xidorn
Connect the Servo types and functions for working with @page rules to Gecko.

This also adjusts the Stylo test expectations to match the current state with
@page support.

MozReview-Commit-ID: 513d05m51wK

--HG--
extra : rebase_source : aa92dc1ad4b3949418759b3893a918663ec6ee0c
2017-03-30 21:25:22 -05:00
Xidorn Quan
1e6b39eb51 Bug 1352763 part 4 - Pass CSS loader to Servo for insertRule. r=emilio
MozReview-Commit-ID: 6yalz8D8BWc

--HG--
extra : rebase_source : a76c8ee72806b0326cab9fe251ce23d4bf935609
2017-04-03 20:04:32 +10:00
Xidorn Quan
b49153b29e Bug 1352763 part 3 - Have ServoStyleSheet also implement nsICSSLoaderObserver. r=heycam
MozReview-Commit-ID: 1Z6jAmQ9CY6

--HG--
extra : rebase_source : 1e228d29b6cd6afdc1b47dd28e5a4ff9a79d5af7
2017-04-03 19:55:06 +10:00
Xidorn Quan
9558f57119 Bug 1345696 part 6 - Fix cycle collection for font-face rule. r=heycam,mccr8
Having Servo's FontFaceRule owning Gecko's nsCSSFontFaceRule object opens an
untracked edge, because we generally don't track the reference through Servo
objects, so there is a chance that nsCSSFontFaceRule can form a undroppable
reference cycle.

This patch adds a workaround that we track @font-face rule twice in CSS rule
list. This is not perfect, but the idea is that, if someone wants to put some
reference on the @font-face rule, the rule itself and its parent list should
have been constructed in the CSSOM tree. If they are not there, we are
probably safe from cycle reference.

For @font-face rule, that assumption isn't strictly true. Script can still
get a font-face rule via layout inspector's nsIDOMFontFace::rule. If some
script puts an object which references the stylesheet of the rule or any of
its parent rule / rule list into font-face rule's expando, we would leak
again... But as far as that is an internal interface, we are probably safe?

MozReview-Commit-ID: DDMJh3mxDCH

--HG--
extra : rebase_source : 646fcf076195151e6890ebffb7597e58c8a7d522
2017-03-28 16:11:44 +11:00
Xidorn Quan
8f66ffc743 Bug 1345696 part 5 - Support CSSOM access to @font-face rules. r=manishearth
MozReview-Commit-ID: Gm4Bm0zgsh3

--HG--
extra : rebase_source : 26972312c5dcdb3de4033786e21ab7eecac23d6e
2017-03-27 14:49:26 +11:00
Xidorn Quan
7be07ee519 Bug 1345698 part 5 - Add support of CSSNamespaceRule for stylo. r=heycam
MozReview-Commit-ID: Kl4Wd3eh9ll

--HG--
extra : rebase_source : 7c649dd885ad31ddfb1e563dedf6272038d560da
2017-03-14 18:51:59 +11:00
Xidorn Quan
c0a293e41b Bug 1345698 part 1 - Unify common code for implementing a rule type. r=heycam
MozReview-Commit-ID: ABwAq2HXrkC

--HG--
extra : rebase_source : 76dd1436234ae351d13ccc218c31754705d70bfe
2017-03-14 17:52:37 +11:00
Xidorn Quan
6d88ee92fc Bug 1315601 part 16 - Implement ServoMediaRule. r=heycam
MozReview-Commit-ID: GcDNr5Lv73m

--HG--
extra : rebase_source : 0266aba01f11f75256535bc03769f8edffec8e5b
2017-03-09 17:37:45 +11:00
Xidorn Quan
3c7372ed02 Bug 1315601 part 10 - Make ServoCSSRuleList support being nested. r=heycam
MozReview-Commit-ID: 8IUGxkMZPMj

--HG--
extra : rebase_source : a51c88fd19cf85376a52b4c61b3bd84df6356dab
2017-03-09 20:53:34 +11:00
Xidorn Quan
ad09e1f480 Bug 1339301 - Downgrade unimplemented CSS rule from error to warning. r=heycam
MozReview-Commit-ID: 7brKkeCrbhZ

--HG--
extra : rebase_source : d4f0888673c94e593af53e2ad08a1f63efe425b0
2017-02-14 12:19:54 +11:00
Xidorn Quan
35f2f9ad03 Bug 1337637 - Release rule when deleting from ServoCSSRuleList. r=heycam
MozReview-Commit-ID: CrVNCTEJ7l6

--HG--
extra : rebase_source : 69473337c5b7833486c3b7d0f3bfe452d950a2ba
2017-02-08 14:19:08 +11:00
Boris Zbarsky
7f64e99cc4 Bug 851892 part 9. Add a CSSRule Web IDL interface. r=peterv,heycam
Note that this explicitly drops CSSRule.UNKNOWN_RULE.
2017-01-13 10:41:03 -05:00
Boris Zbarsky
0da388ba25 Bug 851892 part 8. Get rid of css::Rule::GetDOMRule. r=heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
65f894384a Bug 851892 part 1. Make all CSS rules cycle-collected. r=heycam,smaug 2016-11-30 18:18:14 -05:00
Sebastian Hengst
3c9c348769 Backed out changeset 9a4b96c10b23 (bug 851892) for build bustage. r=backout on a CLOSED TREE 2017-01-20 19:31:31 +01:00
Sebastian Hengst
bcb6968086 Backed out changeset 9ef39356f62c (bug 851892) 2017-01-20 19:30:32 +01:00
Sebastian Hengst
6a2dfd7d83 Backed out changeset b975a988fb33 (bug 851892) 2017-01-20 19:30:28 +01:00
Boris Zbarsky
7d89c9b854 Bug 851892 part 9. Add a CSSRule Web IDL interface. r=peterv,heycam
Note that this explicitly drops CSSRule.UNKNOWN_RULE.
2017-01-13 10:41:03 -05:00
Boris Zbarsky
4cc8d36e13 Bug 851892 part 8. Get rid of css::Rule::GetDOMRule. r=heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
e92f7dfbdc Bug 851892 part 1. Make all CSS rules cycle-collected. r=heycam,smaug 2016-11-30 18:18:14 -05:00
Phil Ringnalda
686006613e Backed out 20 changesets (bug 851892) for load failures in Android crashtest-4
Backed out changeset b9c4115cdeac (bug 851892)
Backed out changeset 5f491bf49b85 (bug 851892)
Backed out changeset 9bf5bcb3e8c5 (bug 851892)
Backed out changeset a9cab46e8b45 (bug 851892)
Backed out changeset 73858e15c8c0 (bug 851892)
Backed out changeset a25638588b6b (bug 851892)
Backed out changeset d58e0e5069ef (bug 851892)
Backed out changeset d8da2a3d8f10 (bug 851892)
Backed out changeset a8da3c34983f (bug 851892)
Backed out changeset 29cf8acbd21e (bug 851892)
Backed out changeset c53cd7bdf8b3 (bug 851892)
Backed out changeset e841a2796375 (bug 851892)
Backed out changeset 2eab85b00159 (bug 851892)
Backed out changeset ca4b1fb9cae4 (bug 851892)
Backed out changeset 74c0ba66f108 (bug 851892)
Backed out changeset 719bb9f41e5b (bug 851892)
Backed out changeset d6aa4c6192df (bug 851892)
Backed out changeset dc81a167a75d (bug 851892)
Backed out changeset 65422477b3a5 (bug 851892)
Backed out changeset 3089dd379077 (bug 851892)
2017-01-15 11:50:10 -08:00
Boris Zbarsky
cea6088d45 Bug 851892 part 9. Add a CSSRule Web IDL interface. r=peterv,heycam
Note that this explicitly drops CSSRule.UNKNOWN_RULE.
2017-01-13 10:41:03 -05:00
Boris Zbarsky
13b4594e28 Bug 851892 part 8. Get rid of css::Rule::GetDOMRule. r=heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
b428dc3b24 Bug 851892 part 1. Make all CSS rules cycle-collected. r=heycam 2016-11-30 18:18:14 -05:00
Boris Zbarsky
0c844d909c Back out bug 851892 for Windows build bustage on CLOSED TREE 2017-01-13 11:47:22 -05:00
Boris Zbarsky
8cfef678c8 Bug 851892 part 9. Add a CSSRule Web IDL interface. r=peterv,heycam
Note that this explicitly drops CSSRule.UNKNOWN_RULE.
2017-01-13 10:41:03 -05:00
Boris Zbarsky
c2d6f05094 Bug 851892 part 8. Get rid of css::Rule::GetDOMRule. r=heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
b775cd73c7 Bug 851892 part 1. Make all CSS rules cycle-collected. r=heycam 2016-11-30 18:18:14 -05:00
Xidorn Quan
cd5b8893bf Bug 1326167 - Hook ServoStyleSheet and ServoCSSRuleList into cycle collection. r=bz
MozReview-Commit-ID: 6n1rjB8aMqp

--HG--
extra : rebase_source : 8bab3247e2ef101c190881ec4d19a8bb543587e0
extra : source : 3e774461c2cf59f3835806c1e6441c0ef263aec4
2017-01-06 15:14:28 +11:00