Commit graph

87 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
ca33d8548f Bug 1281135 - Make <link disabled> work and HTMLLinkElement.disabled reflect that attribute. r=bzbarsky
...instead of forwarding to the sheet like HTMLStyleElement does.

I've proposed this behavior in:

  https://github.com/whatwg/html/issues/3840#issuecomment-480894419

I think this is one of the sane behaviors we can have, what Blink / WebKit do
makes no sense to me.

Alternative potentially-sane behavior is making the initial value of the
stylesheet's disabled bit the same as the content attribute, and both reflect
and forward the attribute from the setter.

That means that setAttribute does something different than setting `disabled`,
which means that you can get into all sorts of funny states when reloading the
sheet... So I rather not do that.

Differential Revision: https://phabricator.services.mozilla.com/D26573

--HG--
extra : moz-landing-system : lando
2019-04-19 13:31:05 +00:00
Noemi Erli
9d4b8e45ab Backed out changeset ef991fe893a4 (bug 1281135) for failures in browser_bug839103.js 2019-04-19 09:18:03 +03:00
Emilio Cobos Álvarez
60a57d4109 Bug 1281135 - Make <link disabled> work and HTMLLinkElement.disabled reflect that attribute. r=bzbarsky
...instead of forwarding to the sheet like HTMLStyleElement does.

I've proposed this behavior in:

  https://github.com/whatwg/html/issues/3840#issuecomment-480894419

I think this is one of the sane behaviors we can have, what Blink / WebKit do
makes no sense to me.

Alternative potentially-sane behavior is making the initial value of the
stylesheet's disabled bit the same as the content attribute, and both reflect
and forward the attribute from the setter.

That means that setAttribute does something different than setting `disabled`,
which means that you can get into all sorts of funny states when reloading the
sheet... So I rather not do that.

Differential Revision: https://phabricator.services.mozilla.com/D26573

--HG--
extra : moz-landing-system : lando
2019-04-18 07:48:55 +00:00
Ryan Hunt
00e98538aa Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106

--HG--
extra : rebase_source : ea3f51c2c11247114deccbc86e90fb02b8a97257
2019-02-25 16:05:29 -06:00
Emilio Cobos Álvarez
d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Emilio Cobos Álvarez
511d794764 Bug 1490791 - Make ShadowRoot stylesheet list work only when the shadow root is connected. r=smaug
This avoids the issue of triggering stylesheet loads for disconnected stuff and
such, and is more consistent with Chrome and WebKit.

This is per the recent CSSWG resolution at
https://github.com/w3c/csswg-drafts/issues/3096.

Differential Revision: https://phabricator.services.mozilla.com/D5699

--HG--
extra : moz-landing-system : lando
2018-09-12 19:54:48 +00:00
Emilio Cobos Álvarez
bd36609f59 Bug 1484773 - Containing shadow could be null after unlink. r=smaug
Bug 1483882 removed the line that used to remove the SHADOW_TREE bit during
unbind. I missed this caller which still assumed that `IsInShadowTree() ->
GetContainingShadow()`.

That means that before that patch it was going through
nsIDocument::RemoveStyleSheet, which looks pretty wrong to me.

Fix it so that we don't remove the stylesheet (we weren't doing it before
anyway), but we don't crash.

Differential Revision: https://phabricator.services.mozilla.com/D3831

--HG--
extra : moz-landing-system : lando
2018-08-20 23:28:57 +00:00
Emilio Cobos Álvarez
3f4c2259ec Bug 1477197: Remove unused UpdateStyleSheet argument. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D2262

MozReview-Commit-ID: IJufidwDrtc
2018-07-20 15:51:34 +02:00
Emilio Cobos Álvarez
68f214df2a Bug 1450250: Make svg:use use an actual shadow tree. r=heycam
Summary:
This fixes a couple fuzz bugs and prevents special-casing <svg:use> even more in
bug 1431255.

Unfortunately not as many hacks went away as I'd have hoped, since we still need
to match document rules, see the linked SVGWG issues.

But blocks_ancestor_combinators goes away, which is nice since it's on a very
hot path.

Test Plan: WPT for style invalidation, covered by existing tests otherwise.

Reviewers: heycam

Tags: #secure-revision

Bug #: 1450250

Differential Revision: https://phabricator.services.mozilla.com/D2154

MozReview-Commit-ID: C4mthjoSNFh
2018-07-20 14:44:51 +02:00
Andrea Marchesini
14d462eeb3 Bug 1418246 - Return valid columnNumber value in CSP violation events, r=ckerschb 2018-07-05 08:21:04 +02:00
Chris Peterson
2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Emilio Cobos Álvarez
c228998b4f Bug 1410578: Make <link rel="stylesheet"> work in shadow trees. r=heycam
Summary: Somewhat straight-forward, mostly removing special-casing.

Differential Revision: https://phabricator.services.mozilla.com/D1761

MozReview-Commit-ID: 6f8duD4pGrl
2018-06-22 04:15:56 +02:00
Boris Zbarsky
bea3100e53 Bug 1455676 part 14. Remove most use of nsIDOMNode in dom/. r=qdot 2018-05-29 22:58:49 -04:00
Emilio Cobos Álvarez
cb56e2c9f3 Bug 1459529: Remove UPDATE_STYLE. r=heycam
Now that BeginUpdate is useless for the UPDATE_STYLE case, we don't need the
update mechanism at all. Just ensure that ApplicableStylesChanged is called on
the pres shell via the relevant RuleChanged, etc. notifications.

There's a big hidden gotcha here. nsIDocument::BeginUpdate does put a script
blocker on the stack for these updates. However it's not needed, since no script
can run during these notifications (only the stylesheet events we post for
devtools, but those use AsyncEventDispatcher and PostDOMEvents, so they don't
try to run immediately).

nsIDocument::BeginUpdate also does XBL binding attached queue stuff, but we
can't change bindings during these notifications anyway, so it also doesn't
matter.

MozReview-Commit-ID: HJvK6zQfloh
2018-05-15 18:44:29 +02:00
Emilio Cobos Álvarez
50a8a26470 Bug 1447009: Ignore title if the element is not in the document. r=heycam
Turns out this was well specified, see the linked bits.

MozReview-Commit-ID: HjdbFS78Mwj
2018-05-10 00:37:50 +02:00
Emilio Cobos Álvarez
17a92ff99b Bug 1459844: Share more code and fix some inconsistencies between html / svg style elements. r=heycam
MozReview-Commit-ID: IkTrIfJI1iK
2018-05-10 00:21:27 +02:00
Emilio Cobos Álvarez
9509853a38 Bug 1459498: Rename nsIStyleSheetLinkingElement::StyleSheetInfo to SheetInfo. r=heycam
MozReview-Commit-ID: FeOmISAxWBk
2018-05-08 10:07:46 +02:00
Emilio Cobos Álvarez
91b6cb40dc Bug 1459498: Use StyleSheetInfo more. r=heycam
Not as much as I'd like, because we have all the internal loads and child
sheets, but...

MozReview-Commit-ID: 7402w8vxCel
2018-05-08 10:07:43 +02:00
Emilio Cobos Álvarez
96600d2b9a Bug 1459498: Use a different enum to differentiate IsAlternate from HasAlternateRel. r=heycam
MozReview-Commit-ID: 6pwR8t6fzSD
2018-05-08 10:07:42 +02:00
Emilio Cobos Álvarez
5b6f2bdee0 Bug 1459498: Refactor nsStyleLinkElement so that all the stylesheet information comes from one place. r=heycam
I've kept the nsAutoStrings in the StyleSheetInfo class on the hopes that the
compiler does RVO, but if it doesn't I can remove I guess.

MozReview-Commit-ID: 2vN6BSEhYcw
2018-05-08 10:07:41 +02:00
Emilio Cobos Álvarez
37eed71b1c Bug 1425866: Just null-check the CSS Loader for now. r=heycam
After discussing with Olli there isn't any kind of severe problem out of this.
Shadow subtrees will be disconnected just like the rest, and they shouldn't
assume that the document hasn't been disconnected first.

MozReview-Commit-ID: CX4fXOqEIFj

--HG--
extra : rebase_source : cd30cb8b8199fb73120c0bcade68986454090005
2018-04-27 01:46:50 +02:00
Emilio Cobos Álvarez
31aff796a0 Bug 1456435: Make the loader a bit less outparam-happy. r=heycam
Returning the same type and UpdateStyleSheet.

This hopefully helps seeing how the data flows between the methods, instead of
the messy bits we had before.

MozReview-Commit-ID: C6THNRi8bbg
2018-04-26 16:43:58 +02:00
Emilio Cobos Álvarez
5618bcfb59 Bug 1456435: Less bool outparam in Loader too. r=heycam
MozReview-Commit-ID: D5A2BxwHGjn
2018-04-26 16:43:54 +02:00
Emilio Cobos Álvarez
a00f507b72 Bug 1456435: Make UpdateStyleSheet less bool-happy. r=heycam
MozReview-Commit-ID: FlTD390lMhg
2018-04-26 16:43:52 +02:00
Emilio Cobos Álvarez
e0fb59363f Bug 1456435: Don't clone a URI for sheet loading. r=heycam
nsIURI is immutable now.

MozReview-Commit-ID: 1eMikl399Fd
2018-04-26 16:43:45 +02:00
Dragana Damjanovic
d9148a8a51 Bug 1441246 - Move preload cod from nsStyleLinkElement to HTMLLinkElement. r=smaug
--HG--
extra : rebase_source : 01cb8b69aa1187abb83b36098d81df1d96c7d79c
2018-04-20 12:47:00 +03:00
Xidorn Quan
1cf8082e67 Bug 1447828 part 3 - Remove StyleBackendType uses from MediaList. r=emilio
MozReview-Commit-ID: 9sG73iLeBw4

--HG--
extra : rebase_source : a2626f6d1f8af02caeb7f3d37b7d258b4544b62d
extra : source : 2f443463446897080b85ac0da5b7a9ea6ccc9de2
2018-03-29 02:31:46 +11:00
Boris Zbarsky
4fa4d2a7f5 Bug 1446598 part 2. Get rid of nsIDOMComment. r=mystor
MozReview-Commit-ID: GGXPQnlwuUM
2018-03-19 15:15:39 -04:00
Emilio Cobos Álvarez
de099db7bd Bug 1444905: Remove scoped style support from the old style system. r=xidorn,smaug
Summary: It uses two node bits that can be better suited for something else.

Reviewers: xidorn, smaug

Bug #: 1444905

Differential Revision: https://phabricator.services.mozilla.com/D709

MozReview-Commit-ID: HIPDtHm6xpM
2018-03-13 10:26:13 +01:00
Hiroyuki Ikezoe
1b0cba9367 Bug 1417354 - Introduce nsIDocument::GetPresContext(). r=smaug
It would be convenient to get nsPresContext from nsIDocument.

MozReview-Commit-ID: Ei6V3UE8XGr

--HG--
extra : rebase_source : 8d2a917eb62cf341e4e1810451fd01c01dbc3bad
2018-02-21 07:00:10 +09:00
Boris Zbarsky
c32290c3d7 Bug 1435132 part 3. Remove the last NS_IMETHOD bit from nsIStyleSheetLinkingElement. r=mccr8
MozReview-Commit-ID: K7mnYXOJOK6
2018-02-02 08:21:32 -05:00
Boris Zbarsky
69cbdecca9 Bug 1435132 part 2. Make nsIStyleSheetLinkingElement::GetCharset infallible. r=mccr8
MozReview-Commit-ID: 2maFIxR2HkS
2018-02-02 08:21:32 -05:00
Boris Zbarsky
54a6506018 Bug 1435132 part 1. Remove NS_IMETHOD noise from never-failing nsIStyleSheetLinkingElement methods. r=mccr8
MozReview-Commit-ID: EibysYsW1rv
2018-02-02 08:21:32 -05:00
Cameron McCormack
cc7db5c40c Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN

--HG--
extra : source : de22d220635f8c059834b76f769d5215ab1a8b5b
2018-02-01 15:04:04 +11:00
Nika Layzell
a0d1f16079 Bug 1383876 - Part 1: Remove GroupedSHistory and Prerendering logic from C++ code, r=freesamael, r=smaug
MozReview-Commit-ID: 2aHA6NcQPGk
2018-01-12 17:52:52 -05:00
Cameron McCormack
e3549b2d1c Bug 1427512 - Part 22: Remove nsIDOMStyleSheet. r=xidorn,bz
MozReview-Commit-ID: KO2mWX4P8lI
2018-01-11 16:17:57 +08:00
Emilio Cobos Álvarez
c8eb630ebe Bug 1423990: Move the last few attribute-related methods outside of nsIContent. r=bz
MozReview-Commit-ID: 8JZuS6O8f8W
2017-12-25 17:50:10 +01:00
Emilio Cobos Álvarez
ffdf5d2cb5 Backout changeset e43f568b3e9a (bug 1423990) because some OSX-only code still doesn't build. r=me 2017-12-25 12:55:45 +01:00
Emilio Cobos Álvarez
c0959b2955 Bug 1423990: Move the last few attribute-related methods outside of nsIContent. r=bz
MozReview-Commit-ID: 8JZuS6O8f8W

--HG--
extra : rebase_source : 09b82acb4f3d69e8a4345457ab217443bc28d6e2
2017-12-07 19:13:50 +01:00
Kris Maglione
1653b08073 Bug 1415352: Part 4c - Use subject principal as the triggering principal for inline <style> nodes. r=bz
This change captures the subject principal when a scripted caller sets the
textContent or innerHTML property of a <style> node, and uses it as the
triggering principal for the resulting stylesheet.

If the node contents are modified in any way other than through textContent or
innerHTML, the triggering principal is forgotten (which is an intentional
design feature).

MozReview-Commit-ID: GacZFIB5BzS

--HG--
extra : rebase_source : 04926f30b8e2831d18d3fb64b850f670f006eb85
2017-11-07 14:25:45 -08:00
Kris Maglione
bd57fba62b Bug 1415352: Part 2 - Exempt inline CSS from extension principals from CSP. r=bz
MozReview-Commit-ID: D0dofgOaLXZ

--HG--
extra : rebase_source : ee649c83191e64f5f0370e61a54b506f4767ac71
2017-11-05 12:19:34 -08:00
Kris Maglione
9c145b38f6 Bug 1406278: Part 8b - Use subject principal as triggering principal in style <link> "href" attribute. r=bz
MozReview-Commit-ID: LWMkBcB4WIg

--HG--
extra : rebase_source : fa2daf25c58190cee7e55798347d4eaffa0d5250
extra : histedit_source : f2887c9e53c572aa5e675600cd1aeb6c5a72becc%2Ce7a84ac505319ca24e65c73a4df13014a0a0cdc0
2017-10-05 19:40:48 -07:00
Kris Maglione
6d422a0fcd Bug 1406278: Part 8a - Cleanup some uses of CallQueryInterface. r=bz
MozReview-Commit-ID: 20yDJiKLJav

--HG--
extra : rebase_source : 6ec35274aacb0bda12d6a25b1aeaa993d5cc49f8
2017-10-05 19:06:54 -07:00
Bobby Holley
2a5c1f23e1 Bug 1398982 - Remove style scoped warnings for stylo. r=me
We're unshipping stylo scoped anyway.

MozReview-Commit-ID: IeZLzX3ZU9i
2017-09-15 16:40:33 -07:00
Wes Kocher
ed7085cec0 Backed out changeset 3b21f5d72f54 (bug 1398982) for unexpected passes in reftests a=backout
MozReview-Commit-ID: E4svy69pFIz
2017-09-15 15:50:14 -07:00
Bobby Holley
76cc5d68ad Bug 1398982 - Remove style scoped warnings for stylo. r=me
We're unshipping stylo scoped anyway.

MozReview-Commit-ID: IeZLzX3ZU9i
2017-09-15 12:20:22 -07:00
Thomas Nguyen
33fb4a1505 Bug 1384493 - LoadStyleLink and LoadInlineStyle should use correct referrer policy. r=heycam
If the link element has referrerpolicy attribute, we should use policy in the
attribute with higher priority

MozReview-Commit-ID: GZZeRaoxPUw
2017-08-15 00:05:00 -04:00
Masatoshi Kimura
866d87ee67 Bug 1361579 - Remove nsISimpleContentPolicy. r=Ehsan
MozReview-Commit-ID: BsjkGpTpe8I

--HG--
extra : rebase_source : 640807623fc70797932a0ee592b887d5c134b5f9
2017-08-03 17:50:00 +09:00
Dragana Damjanovic dd.mozilla@gmail.com
0bd7a2c931 Bug 1222633 - Add rel=preload - dom part. r=smaug 2017-07-10 15:05:56 +02:00