Commit Graph

485 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
90da53ffa2 Bug 1444580: Mark nsIDocument::Dispatch final. r=smaug
MozReview-Commit-ID: 1xAE0WF8IFN
2018-03-12 12:26:05 +01:00
Emilio Cobos Álvarez
6972e1b6a1 Bug 1444580: Devirtualize the IntersectionObserver bits. r=smaug
MozReview-Commit-ID: 65WtMQPu7f4
2018-03-12 12:26:03 +01:00
Emilio Cobos Álvarez
4f7ff7a723 Bug 1444580: Devirtualize a few other things. r=smaug
SetScriptHandlingObject / GetScopeObject / GetWindowInternal /
GetScriptHandlingObjectInternal / GetScriptHandlingObject

MozReview-Commit-ID: Bx7cCo7wc0Y
2018-03-12 12:26:00 +01:00
Emilio Cobos Álvarez
116134bcb7 Bug 1444580: Devirtualize IsScriptEnabled. r=smaug
MozReview-Commit-ID: FEhddLUXnO4
2018-03-12 12:25:58 +01:00
Emilio Cobos Álvarez
bfd59525be Bug 1444580: Devirtualize PaymentRequest stuff. r=smaug
This one was easy, the bit was already in the right place :)

MozReview-Commit-ID: 79KJNsIXIyb
2018-03-12 12:25:56 +01:00
Emilio Cobos Álvarez
b5c4c9512a Bug 1444580: Devirtualize autofocus and navigation timing stuff. r=smaug
MozReview-Commit-ID: K5Y9lxSJgOG
2018-03-12 12:25:54 +01:00
Emilio Cobos Álvarez
1e97727f58 Bug 1444580: Devirtualize more nsIDocument bits. r=smaug
MozReview-Commit-ID: 5y1FgNb2NMB
2018-03-12 12:25:52 +01:00
Hiroyuki Ikezoe
e3a88fc185 Bug 1442817 - Add another variant of nsDocument::FlushPendingNotifications which are able to skip to flushing throttled animations. r=birtles,emilio
MozReview-Commit-ID: BZ9yAoAmWBB
2018-03-09 06:41:30 +09:00
Emilio Cobos Álvarez
b80b50a69f Bug 1443756: Devirtualize style-related nsIDocument methods. r=smaug
Summary: They have no particular reason to be virtual.

Reviewers: smaug

Bug #: 1443756

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

MozReview-Commit-ID: JN8MtfXvw3D
2018-03-07 23:57:04 +01:00
Emilio Cobos Álvarez
1e19ec7b61 Bug 1443553: Devirtualize BeginUpdate, FlushPendingNotifications, CreatorParserOrNull. r=smaug
MozReview-Commit-ID: FzPcHcyzJ02
2018-03-07 11:22:51 +01:00
Emilio Cobos Álvarez
1ea0ab458e Bug 1443553: Devirtualize ContentStateChanged / DocumentStatesChanged / StyleRule*. r=smaug
MozReview-Commit-ID: RE6rrBQMMU
2018-03-07 11:21:51 +01:00
Emilio Cobos Álvarez
521c012a20 Bug 1443553: Devirtualize nsIDocument::AddObserver / RemoveObserver. r=smaug
MozReview-Commit-ID: 8JeFLusnIQd
2018-03-07 11:20:43 +01:00
Emilio Cobos Álvarez
a373cb9e9b Bug 1443483: FlushTarget doesn't really make sense. r=xidorn
Summary:
FlushTarget wants to decide whether we should flush the parent document or all
of them. However, the only point of flushing parent documents is that media
query changes could affect the document we really want to flush.

That's completely pointless if we actually don't flush the subdocument, so just
skip doing that. This case is already checked (see the DocumentNeedsRestyle
stuff, which is also somewhat poorly named, which walks up the document chain).

Reviewers: xidorn

Bug #: 1443483

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

MozReview-Commit-ID: LiI7IrUBeqq
2018-03-07 01:09:46 +01:00
Christoph Kerschbaumer
3c66d0e8e0 Bug 1430751 - Apply unified behavior model for about: pages to about:privatebrowsing. r=gijs,mrbkap 2018-03-05 09:20:34 +01:00
Blake Kaplan
01fc11ad0c Bug 1404297 - Change the way we iterate over our links to update. r=smaug
MozReview-Commit-ID: BTADrB9itjh
2018-03-01 11:26:54 -08:00
Bogdan Tara
1a7aa5dc6c Backed out changeset b235338be4d9 (bug 1404297) for build bustages on /builds/worker/workspace/build/src/dom/base/nsDocument.cpp a=backout CLOSED TREE 2018-02-28 01:42:50 +02:00
Blake Kaplan
b4ccc7f7fc Bug 1404297 - Change the way we iterate over our links to update. r=smaug
MozReview-Commit-ID: BTADrB9itjh
2018-02-27 17:54:00 -05:00
Emilio Cobos Álvarez
f31600f1a6 Bug 1425759: Make Shadow DOM Stylo-only. r=smaug
I don't plan to fix this stuff up on the old style system.

MozReview-Commit-ID: E7Ayatwsw4E
2018-02-27 12:39:25 +01:00
Emilio Cobos Álvarez
01aee7ccf1 Bug 1425759: Simplify the style backend type setup. r=bholley
Now that what we use to decide whether a document is styled by Servo are only
prefs and the doc principal, we don't need to inherit the style backend type,
since unless the pref has changed, the result will be the same.

MozReview-Commit-ID: KBmeBn1cRne
2018-02-27 12:39:20 +01:00
Boris Zbarsky
2f8423ff8d Bug 1437921 part 1. Add an attribute on document that is a Promise that resolves when the document has fired DOMContentLoaded _and_ maybe started layout. r=mystor
MozReview-Commit-ID: LpPFPKlHTXe
2018-02-22 16:55:40 -05:00
Hiroyuki Ikezoe
b1da8534e8 Bug 1417354 - Introduce nsIDocument::GetPresContext(). r=smaug
It would be convenient to get nsPresContext from nsIDocument.

MozReview-Commit-ID: Ei6V3UE8XGr
2018-02-21 07:00:10 +09:00
Olli Pettay
c9fa213741 Bug 1430301 - Implement ShadowRoot.elementFromPoint/elementsFromPoint, r=emilio 2018-02-16 20:42:58 +02:00
decltype
402ab7cd6d Bug 712130 - Defer autofocus until after frame construction. r=bz
The autofocus attribute on form elements forces layout in CheckIfFocusable.
To avoid unpleasant FOUCs, defer autofocus processing until frames are
constructed in PresShell::Initialize.

Resolve the race between nsAutoFocusEvent running and page load by checking the
readystate at time of event posting. Skip autofocus if the element moved to a
different window in the meantime.

MozReview-Commit-ID: 90jiJYJWmRg
2018-01-08 22:35:00 +01:00
Dorel Luca
491ea96856 Merge mozilla-central to autoland. CLOSED TREE 2018-02-15 00:35:45 +02:00
Olli Pettay
a326b846bb Bug 1430305 - Implement ShadowRoot.fullscreenElement , r=mrbkap 2018-02-13 18:57:32 +02:00
Adrian Wielgosik
6551526097 Bug 1438270 - Remove nsIDOMDocumentXBL. r=bz
MozReview-Commit-ID: 4TsjUaEdDP2
2018-02-14 20:10:45 +01:00
Cameron McCormack
f4f1325748 Bug 1435666 - Part 4: Remove nsIDOMXPathEvaluator. r=bz
MozReview-Commit-ID: 2nZmbJ9mdwI
2018-02-05 13:05:45 +08:00
Olli Pettay
30b2bf50f1 Bug 1430303 - Implement ShadowRoot.pointerLockElement, r=mrbkap 2018-02-03 22:08:30 +02:00
Boris Zbarsky
7e1a0e2b7f Bug 1434819 part 9. Remove nsIDOMNodeFilter. r=qdot
MozReview-Commit-ID: JsxGp9HQ2ak
2018-02-01 14:26:13 -05:00
Boris Zbarsky
249906a160 Bug 1434819 part 6. Get rid of NodeFilterHolder. r=qdot
Now that TreeWalker and NodeIterator only use webidl APIs, they always have a
NodeFilter, not nsIDOMNodeFilter.

MozReview-Commit-ID: 5pzn9V3Kxzy
2018-02-01 14:26:12 -05:00
Emilio Cobos Álvarez
de5d26b942 Bug 1434474: There's no need to rebuild font / counter styles / font feature values off a runnable. r=bholley
Everything that needs them up-to-date will call flush appropriately, there
should be no need to do it manually.

This way we coalesce all the stylist updates until the next style flush in the
best case, or until one of the consumers actually needs them.

MozReview-Commit-ID: BVsxXxhtcKL
2018-01-31 11:12:36 +01:00
Cameron McCormack
02c617875f Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN
2018-02-01 15:04:04 +11:00
Boris Zbarsky
ece69636b3 Bug 1434399 part 5. Remove nsIDOMXULDocument's commandDispatcher attribute. r=mystor
MozReview-Commit-ID: BjRVr3ScuK5
2018-01-31 14:49:27 -05:00
Cosmin Sabou
47f2c0b0a5 Backed out 19 changesets (bug 1434399) for build bustages on nsXULPopupManager.cpp on a CLOSED TREE
Backed out changeset 499f6dffd9cb (bug 1434399)
Backed out changeset 018290612415 (bug 1434399)
Backed out changeset f4c3179f8e59 (bug 1434399)
Backed out changeset f3ce2826b857 (bug 1434399)
Backed out changeset 6d2391af01dd (bug 1434399)
Backed out changeset dc98ed8c609a (bug 1434399)
Backed out changeset 8eaa395d6200 (bug 1434399)
Backed out changeset 19b18f4a53be (bug 1434399)
Backed out changeset 8ff378a6e96a (bug 1434399)
Backed out changeset 60fe73be1a26 (bug 1434399)
Backed out changeset faefb2751fdc (bug 1434399)
Backed out changeset 55cdf8b3a959 (bug 1434399)
Backed out changeset b578cc8efb92 (bug 1434399)
Backed out changeset 54cc4cb2fca1 (bug 1434399)
Backed out changeset f5343ef34d6c (bug 1434399)
Backed out changeset 8fb30e066cbd (bug 1434399)
Backed out changeset 21341b656b0f (bug 1434399)
Backed out changeset fab1f8b087a2 (bug 1434399)
Backed out changeset 55250a54852a (bug 1434399)
2018-01-31 22:45:26 +02:00
Boris Zbarsky
b46cdaa78d Bug 1434318 part 13. Remove nsIDOMDocument::CreateEvent. r=mystor
MozReview-Commit-ID: EaUjTLeaQ0n
2018-01-31 15:18:11 -05:00
Boris Zbarsky
78b6208547 Bug 1434318 part 12. Remove nsIDOMDocument's contentType attribute. r=mystor
MozReview-Commit-ID: DAXrxIxiac4
2018-01-31 15:18:11 -05:00
Boris Zbarsky
d0efb8b7e7 Bug 1434318 part 11. Remove nsIDOMDocument's stylesheet set APIs. r=mystor
MozReview-Commit-ID: 9ABdbYKZI6k
2018-01-31 15:18:11 -05:00
Boris Zbarsky
2dd62cde3b Bug 1434318 part 10. Remove nsIDOMDocument's title attribute. r=mystor
MozReview-Commit-ID: IBToVxx4bSs
2018-01-31 15:18:10 -05:00
Boris Zbarsky
eaa01b84fa Bug 1434399 part 5. Remove nsIDOMXULDocument's commandDispatcher attribute. r=mystor
MozReview-Commit-ID: BjRVr3ScuK5
2018-01-31 14:49:27 -05:00
Boris Zbarsky
06d6306e2a Bug 1276438 part 2. Move the implementation of the .body setter from nsHTMLDocument to nsIDocument. r=mystor
MozReview-Commit-ID: EJAZfrXC0QJ
2018-01-26 00:36:57 -05:00
Boris Zbarsky
09e52eb431 Bug 1276438 part 1. Move the implementation of the .body getter from nsHTMLDocument to nsIDocument. r=mystor
MozReview-Commit-ID: BhQuGS1NdmQ
2018-01-25 06:55:47 -05:00
Hiroyuki Ikezoe
2a98cc335a Bug 1433336 - Collect only documents which are observerd by IntersectionObserver in nsRefreshDriver::Tick(). r=smaug
We don't need to collect whole descendants documents.

This patch intentionally leaves animation events handling which is another
caller of CollectDocuments in nsRefreshDriver since the animation part will
be fixed in a different way in bug 1415780.

MozReview-Commit-ID: INAJm1NHLuI
2018-01-26 20:11:17 +09:00
Hiroyuki Ikezoe
a941a975fc Bug 1433336 - Add nsIDocument::CollectDescendantDocument(). r=smaug
In contrast to nsIDocument::EnumerateSubDocuments(), this new function is
supposed to work with the callback function which does not mutate any state
in the document, and also this function checks all descendant documents even
if there is a descendant that the callback function returns false.

MozReview-Commit-ID: 4f6zD29qQD2
2018-01-26 20:11:09 +09:00
Kris Maglione
9e04067677 Bug 1432966: Sanitize HTML fragments created for chrome-privileged documents. r=bz f=gijs
This is a short-term solution to our inability to apply CSP to
chrome-privileged documents.

Ideally, we should be preventing all inline script execution in
chrome-privileged documents, since the reprecussions of XSS in chrome
documents are much worse than in content documents. Unfortunately, that's not
possible in the near term because a) we don't support CSP in system principal
documents at all, and b) we rely heavily on inline JS in our static XUL.

This stop-gap solution at least prevents some of the most common vectors of
XSS attack, by automatically sanitizing any HTML fragment created for a
chrome-privileged document.

MozReview-Commit-ID: 5w17celRFr
2018-01-24 14:56:48 -08:00
Nika Layzell
1518874730 Bug 1293362 - Part 4: Generate runtime bindings for calling xpcom methods from rust, r=froydnj
MozReview-Commit-ID: K37KyHkKsSl
2018-01-23 17:27:26 -05:00
Emilio Cobos Álvarez
8c03fee402 Bug 1430608: Make nsMediaFeatures work with a document, not a pres context. r=heycam
Returning a zero-sized viewport in the case there's no shell / pres context.

For now, no other change yet. After this we can start tweaking the ShadowRoot
Stylist setup, and even try to return computed styles without a document \o/.

MozReview-Commit-ID: 3cT2PKQISri
2018-01-17 21:51:47 +01:00
Jessica Jong
1b8802d510 Bug 1428685 - Use dom.webcomponents.shadowdom.enabled pref for Shadow DOM. r=smaug
Most of the Shadow DOM related code are behind "dom.webcomponents.enabled" and
this pref is only used by Shadow DOM right now, so we should rename it to
"dom.webcomponents.shadowdom.enabled"

MozReview-Commit-ID: er1c7AsSSW
2018-01-16 17:16:30 +01:00
Alastor Wu
249aaf9dd5 Bug 1428722 - part2 : move all user-activation implementation details to nsDocument. r=smaug
In order to write tests, I would like to create an method that allows chorome js can directly set the user-activation flag.

Therefore, I need to move all these details into nsDocument, then we could easily simulate the user activation.

MozReview-Commit-ID: 5JrCoQc0vF7
2018-01-11 17:26:30 +08:00
Alastor Wu
c87a269f37 Bug 1428722 - part1 : always activate the top level frame. r=smaug
For top level frame, it should also be activated when user activate its child frame.

eg. A (youtube.com) -> B (ad.com), when user activate B frame, the A frame would also be activated.

MozReview-Commit-ID: BP7eGKiqYJe
2018-01-08 16:44:28 +08:00
Coroiu Cristina
ed8aa474e7 Merge inbound to mozilla-central r=merge a=merge 2018-01-13 11:55:23 +02:00