Commit Graph

165 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
801e2e420d Bug 1425769: Base class for ShadowRoot and Document to manage style state. r=smaug
This also removes some confusing comments around nsIDocument regarding some kind
of "special" stylesheets, which don't seem to exist anymore, and consolidates
StyleSheetList so that we only have one implementation.

I think that fixes a potential leak on the shadow root code (even though the API
is v0 only), given the pointer from the ShadowRootStyleSheetList to the
ShadowRoot wasn't being CCd.

Also, more stuff could be renamed, methods removed, etc, feel free to suggest
more cleanup, I've done mostly the minimal.

Next steps are moving the stylesets there and stop using the proto binding sheet
list / resources.

MozReview-Commit-ID: D9hnDgPQAS5
2017-12-19 11:09:59 +01:00
Dorel Luca
3cdf78a701 Backed out changeset 13faabcf8e96 (bug 1425769) for Linux bustage on build/src/dom/base/nsLineBreaker.h 2017-12-19 11:07:44 +02:00
Emilio Cobos Álvarez
db4b312701 Bug 1425769: Base class for ShadowRoot and Document to manage style state. r=smaug
This also removes some confusing comments around nsIDocument regarding some kind
of "special" stylesheets, which don't seem to exist anymore, and consolidates
StyleSheetList so that we only have one implementation.

I think that fixes a potential leak on the shadow root code (even though the API
is v0 only), given the pointer from the ShadowRootStyleSheetList to the
ShadowRoot wasn't being CCd.

Also, more stuff could be renamed, methods removed, etc, feel free to suggest
more cleanup, I've done mostly the minimal.

Next steps are moving the stylesets there and stop using the proto binding sheet
list / resources.

MozReview-Commit-ID: D9hnDgPQAS5
2017-12-17 22:29:10 +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
Cameron McCormack
fea3ddf90b Bug 1419709 - Move a few nsStyleStructID-related static methods out of nsRuleNode.h r=emilio
MozReview-Commit-ID: GyEMmvlH4mh
2017-11-22 18:08:33 +08:00
Daniel Holbert
8fea3c215f Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK
2017-10-27 10:33:53 -07:00
Masatoshi Kimura
e29c3d5a3e Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj
MozReview-Commit-ID: 7JoD4VYzZp3
2017-10-21 23:53:02 +09:00
Cameron McCormack
ec137f147e Bug 1408322 - Remove inDOMUtils.cssPropertyIsValid() and use CSS.supports() instead. r=jryans
MozReview-Commit-ID: HNYVb31PZus
2017-10-17 13:00:42 +08:00
Cameron McCormack
ce449895d5 Bug 1408312 - Part 3: Replace nsCSSParser/nsRuleNode usage for color computation in Servo styled documents. r=xidorn
MozReview-Commit-ID: LuB0izWz7nk
2017-10-16 09:06:39 +08:00
Cameron McCormack
8b797bbfc4 Bug 1408312 - Part 2: Replace nsCSSParser usage in inDOMUtils::IsValidCSSColor. r=xidorn
MozReview-Commit-ID: AGo249i7ATL
2017-10-16 09:02:35 +08:00
Sebastian Hengst
1011e35081 Backed out changeset 93065f7849c5 (bug 1408312) 2017-10-16 16:15:40 +02:00
Sebastian Hengst
071a381ddf Backed out changeset f13bc708c440 (bug 1408312) 2017-10-16 16:15:34 +02:00
Cameron McCormack
4062abccb9 Bug 1408312 - Part 3: Replace nsCSSParser/nsRuleNode usage for color computation in Servo styled documents. r=xidorn
MozReview-Commit-ID: LuB0izWz7nk
2017-10-16 09:06:39 +08:00
Cameron McCormack
058cc5baa4 Bug 1408312 - Part 2: Replace nsCSSParser usage in inDOMUtils::IsValidCSSColor. r=xidorn
MozReview-Commit-ID: AGo249i7ATL
2017-10-16 09:02:35 +08:00
Xidorn Quan
7720f1d537 Bug 1407888 part 1 - Collect styleset from binding base in inDOMUtils::GetCSSStyleRules. r=heycam
MozReview-Commit-ID: 6vKkQQ4wUvA
2017-10-12 17:41:13 +11:00
Phil Ringnalda
5f2bcd264d Backed out 2 changesets (bug 1407888) for aSheet->HasUniqueInner() assertion failures
CLOSED TREE

Backed out changeset 50e535750cc9 (bug 1407888)
Backed out changeset e1287860a439 (bug 1407888)

MozReview-Commit-ID: 8UHuO8Fz0pL
2017-10-12 19:59:50 -07:00
Xidorn Quan
2e4ccdaca8 Bug 1407888 part 1 - Collect styleset from binding base in inDOMUtils::GetCSSStyleRules. r=heycam
MozReview-Commit-ID: 6vKkQQ4wUvA
2017-10-12 17:41:13 +11: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
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
Ting-Yu Lin
a78b44acbc Bug 1281101 Part 1 - Remove MOZ_ENABLE_MASK_AS_SHORTHAND from layout code. r=cjku
MozReview-Commit-ID: HWq2IOLsflD
2017-09-21 17:36:57 +08:00
Ehsan Akhgari
2d9c8b15b3 Bug 1394191 - Remove unneeded nsContentList.h includes from layout; r=dholbert 2017-08-29 07:29:11 -04:00
Xidorn Quan
5fb2b685c5 Bug 1386865 part 2 - Collect style rule maps for XBL bindings. r=heycam
MozReview-Commit-ID: HPmZopu1L7Z
2017-08-03 16:59:17 +10:00
Sebastian Hengst
bcdb6dc579 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 4EWdTlEncz7
2017-07-22 11:38:42 +02:00
Sylvestre Ledru
576cac5ec7 Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL
2017-07-15 19:03:04 +02:00
Manish Goregaokar
836931eee3 Bug 1382017 part 2 Gecko piece - Remove usage of ServoComputedValues from binding functions; r=xidorn
MozReview-Commit-ID: 3KygTIIMVvF
2017-07-18 23:17:34 -07:00
Xidorn Quan
90bd9071ee Bug 1372464 - Use ComputedValues rather than element to get style rule list. r=heycam
MozReview-Commit-ID: JPBbhrxG0Lh
2017-07-10 09:38:58 +10:00
Cameron McCormack
acd8ab80dd Bug 1378300 - Stop assuming Gecko style set when fetching XBL sheets for devtools. r=xidorn
MozReview-Commit-ID: KmRDWUQQzPT
2017-07-05 17:11:54 +08:00
Ting-Yu Lin
ceb27796f7 Bug 1377196 Part 2 - Add AppendAllXBLStyleSheets to ServoStyleSet. r=heycam
MozReview-Commit-ID: HSQnBk8djil
2017-06-29 16:09:22 -07:00
Markus Stange
539f07616a Bug 1370034 - Add CSS properties -moz-window-transform and -moz-window-transform-origin, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: BlLMswF0bKO
2017-06-19 01:44:22 -04:00
Cameron McCormack
95368ca21c Backout bug 1291457 and bug 1370034 for bustage. 2017-06-19 13:55:15 +08:00
Xidorn Quan
d7fcde119b 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
2017-06-19 15:45:43 +10:00
Markus Stange
ec6ecdb465 Bug 1370034 - Add CSS properties -moz-window-transform and -moz-window-transform-origin, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: BlLMswF0bKO
2017-06-19 00:21:16 -04:00
Ben Tian
bbf4df3f37 Bug 1351072 - [e10s] Clear active document when closing popup of <select>. r=smaug
MozReview-Commit-ID: IaRG67FwIPL
2017-06-14 13:42:03 +08:00
Manish Goregaokar
533734efc7 Bug 1373018 - Part 10: stylo: Remove StyleSource; r=bholley
MozReview-Commit-ID: 4IcROeDNoBA
2017-06-10 22:27:45 -07:00
Fernando Jimenez Moreno
ccd922f671 Bug 1367615 - Part 1: Move inDOMUtils style rules related functionality to BindingStyleRule. r=emilio
MozReview-Commit-ID: 7d96KT2yYBF
2017-06-07 17:48:49 +02:00
KuoE0
0880ffd10d Bug 1358993 - (Part 3) Call ServoStyleSheet::ReparseSheet in inDOMUtils::ParseStyleSheet. r=heycam
MozReview-Commit-ID: KRDBy8k4lHa
2017-05-25 10:55:57 +08:00
Matt Brubeck
8ccfedcd89 Bug 1357716 - stylo: Don't return uninitialized pointers from GetCSSStyleRules. r=xidorn
MozReview-Commit-ID: JPj6d27PALc
2017-05-18 14:50:05 -07:00
Boris Zbarsky
50c4dcff23 Bug 1361274. There's no need to update link :visited state when doing querySelectorAll, since querySelectorAll ignores that state anyway. r=smaug
In our current setup, in which links with an href attribute always match either
:link or :visited, no matter whether that attribute's value is a valid URI,
changes to the attribute always put the element into either the "match nothing"
state or the "match :link" state, via calls to Link::ResetLinkState.

The only thing FlushPendingLinkUpdates is needed for is (lazily, in case it
turns out to not be needed because the element got removed from the DOM anyway)
registering a history observer to switch the link state to :visited as needed.

This means that selector matching consumers that would never expose :visited
state to start with don't need to worry about calling FlushPendingLinkUpdates.
2017-05-03 16:54:25 -04:00
Brad Werth
6205a39234 Bug 1346256 Part 3: Modify GetCSSStyleRules to collect ServoStyleRules. r=xidorn
MozReview-Commit-ID: IMQLykuXjfL
2017-04-07 15:21:36 -07:00
Mayank Srivastav
2ef5980a23 Bug 1156019 - Fix the issue of background-size property, regenerated properties css database & updated tests. r=xidorn
MozReview-Commit-ID: ACRxUEWBbSM
2017-04-07 11:01:00 -04:00
Brian Birtles
4de61d72aa Bug 1315874 - Drop 'ForElement' from GetStyleContextForElementXXX methods; r=heycam
In the next patch we want to add a method called
GetUnanimatedStyleContextForElementNoFlush but that's much too long. Instead it
seems better to just drop 'ForElement' from all these methods since it should be
fairly obvious we are getting the style context for an element given that the
first argument is an element.

MozReview-Commit-ID: JQKaEuCKV2F
2017-04-05 14:39:23 +09:00
Brad Werth
ab3acb10da Bug 1337305 Part 2: Change GetCSSStyleRules to return RuleNodes for Gecko rules, and nothing otherwise (instead of asserting). r=xidorn
MozReview-Commit-ID: EQWOstveuaU
2017-03-13 17:24:38 -07:00
Brad Werth
89dd4dabb8 Bug 1337305 Part 1: Refactor GetRuleNodeForElement to just return the StyleContext, so caller can either get a RuleNode or a raw servo rule. r=shinglyu,xidorn
MozReview-Commit-ID: DBkMfSvOA2k
2017-03-13 17:23:17 -07:00
Boris Zbarsky
fcffc1fbb1 Bug 851892 part 8. Get rid of css::Rule::GetDOMRule. r=heycam 2017-01-13 10:41:03 -05:00
Sebastian Hengst
4249f1e162 Backed out changeset 9ef39356f62c (bug 851892) 2017-01-20 19:30:32 +01:00
Boris Zbarsky
4bc1b026f0 Bug 851892 part 8. Get rid of css::Rule::GetDOMRule. r=heycam 2017-01-13 10:41:03 -05:00
Astley Chen
364ae0f1ac Bug 1331296 : Part 5 - Update DevTool CSS property database. r=tromey
MozReview-Commit-ID: Ec49CX8iJNT
2017-01-18 10:50:37 +08:00
Phil Ringnalda
7646bbe020 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