Commit Graph

485 Commits

Author SHA1 Message Date
Nika Layzell
e5cd184550 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
Csoregi Natalia
84c5180232 Backed out 4 changesets (bug 712130) for Android autofocus failures and for failing browser_formdata.js. on a CLOSED TREE
Backed out changeset e7738f07edae (bug 712130)
Backed out changeset 3774e90777a7 (bug 712130)
Backed out changeset a3cffbfc8395 (bug 712130)
Backed out changeset ba6c2fff9fd5 (bug 712130)
2018-01-12 22:46:22 +02:00
Bobby Holley
edf15a1714 Bug 1398119 - Rearrange NoteDirtyElement for faster bailouts on the same restyle root. r=emilio
This eliminates ~90% of the time spent in NoteDirtyElement on this testcase.

MozReview-Commit-ID: Lm5hf7QRiOK
2018-01-12 12:05:40 -08:00
decltype
72710df5ab 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.

MozReview-Commit-ID: 90jiJYJWmRg
2018-01-08 22:35:00 +01:00
Ciure Andrei
b5a875e5e7 Merge inbound to mozilla-central r=merge a=merge 2018-01-11 11:54:56 +02:00
Kate McKinley
400d720dc9 Bug 1424917 - Remove support for HSTS Priming. r=mayhemer, r=ckerschb
This patch removes support and tests for HSTS priming from the tree.
2018-01-10 11:07:00 -05:00
Blake Kaplan
09c4378db5 Bug 1404297 - Temporarily assert that we don't re-enter this function. r=bzbarsky
MozReview-Commit-ID: FoQGVDWtwN1
2018-01-10 18:48:26 -05:00
Jon Coppeard
69ebe1854a Bug 1361369 - Allow async attribute on inline module scripts r=smaug 2018-01-08 15:17:34 +00:00
Emilio Cobos Álvarez
ebbcb13f05 Bug 1426494: s/StyleScope/DocumentOrShadowRoot. r=smaug
MozReview-Commit-ID: DsFPlQMGAyv
2017-12-22 01:56:36 +01:00
Emilio Cobos Álvarez
d209d9735e Bug 1426494: Share more code among Document / ShadowRoot. r=smaug
MozReview-Commit-ID: C4cJrSFPnIb
2017-12-22 01:56:17 +01:00
Emilio Cobos Álvarez
4a5b0cc09d Bug 1426494: Devirtualize StyleScope::AsNode. r=smaug
MozReview-Commit-ID: 2nDEI5aIu46
2017-12-22 01:56:16 +01:00
Emilio Cobos Álvarez
a12241bd7d Bug 1420547: Notify the pres shell specially, instead of via mutation observers. r=bz
This makes the pres shell be notified as the last observer unconditionally.

In practice this doesn't matter, and it may already be the case if an iframe
goes display: none and back. In practice, the only dependency that requires this
order is that the pres shell needs to be notified _after_ the content sink, so
we don't try to enter frame construction before beginning the shell update.

That may be worth looking into, but definitely not in the scope of this bug... :)

MozReview-Commit-ID: 9WeJ5kaUtBq
2017-12-06 05:26:32 +01:00
Cosmin Sabou
814cc32505 Backed out 3 changesets (bug 1426494) for build bustages on dom/base/FuzzingFunctions.h:25:44 r=backout on a CLOSED TREE
Backed out changeset 8d07cb1ef232 (bug 1426494)
Backed out changeset 74a8ebb0f5d3 (bug 1426494)
Backed out changeset 07c4aa18a0b6 (bug 1426494)
2017-12-21 03:09:22 +02:00
Emilio Cobos Álvarez
7fd83d7f37 Bug 1426494: s/StyleScope/DocumentOrShadowRoot. r=smaug
MozReview-Commit-ID: DsFPlQMGAyv
2017-12-21 00:24:28 +01:00
Emilio Cobos Álvarez
2c3cf57d32 Bug 1426494: Share more code among Document / ShadowRoot. r=smaug
MozReview-Commit-ID: C4cJrSFPnIb
2017-12-21 00:24:27 +01:00
Emilio Cobos Álvarez
9ae941aeb7 Bug 1426494: Devirtualize StyleScope::AsNode. r=smaug
MozReview-Commit-ID: 2nDEI5aIu46
2017-12-21 00:24:26 +01:00
Ben Kelly
9109657902 Bug 1426253 P1 Expose nsIDocument GetClientInfo(), GetClientState(), and GetController(). r=asuth 2017-12-20 10:53:18 -05:00
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
Emilio Cobos Álvarez
7f463c20ae Bug 1424816: Remove the document state cache. r=smaug
See bug 1422633, there are assertions missing, and servo doesn't assert at all
anymore.

I don't think it's worth optimizing / lazily resolving it, each time the
document state changes.

We usually just restyle the world anyway (which requires recomputing it), and
the changes that it's optimizing (nsWindow::SetActive() and XUL root element
localedir attribute changes) aren't common enough to warrant the complexity I'd
say.

This doesn't handle invalidating the cache in the case the root element goes
away, I haven't bothered because it was already broken, and GetRootElement() is
already gone in RemoveSubtreeFromDocument.

MozReview-Commit-ID: 9RuQhmmy7Kr
2017-12-14 16:07:36 +01:00
Ben Kelly
a94ff42d24 Bug 1293277 P6 Use the ClientInfo.Id() value for FetchEvent.clientId. r=baku 2017-12-12 15:44:48 -05:00
Jessica Jong
35cba086d7 Bug 1422931 - Part 2: Make webcomponents preference per-doc. r=smaug
This is to fix the case where preference is restore to false when a testcase
ends, but nsDocument::DeleteShell is called afterwards. So, we make the
preference per-doc and set it when the document is created. The value does not
change for the lifetime of the document.
2017-12-09 11:25:14 +08:00
Narcis Beleuzu
9c14a10d15 Backed out 2 changesets (bug 1422931) for crashtest failures on dom/base/crashtests/1419799.html r=backout on a CLOSED TREE
Backed out changeset 60d9744e3fc4 (bug 1422931)
Backed out changeset cf554d5d70cc (bug 1422931)
2017-12-08 18:27:56 +02:00
Jessica Jong
b940e53eb8 Bug 1422931 - Part 2: Make webcomponents preference per-doc. r=smaug
This is to fix the case where preference is restore to false when a
testcas ends, but nsDocument::DeleteShell is called afterwards. So, we
make the preference per-doc and once it is enabled for a document, it
stays enabled.
2017-12-08 22:17:40 +08:00
Emilio Cobos Álvarez
52600836d1 Bug 1422633: Inline nsIDocument::ThreadSafeGetDocumentState(). r=smaug
It's silly to pay a function call for that, and it shows up in stylo-chrome
profiles.

MozReview-Commit-ID: 8m7ZHG1KX15
2017-12-05 14:20:07 +01:00
Edgar Chen
cb6d776928 Bug 1416999 - Remove document.registerElement; r=smaug
MozReview-Commit-ID: HiX07Vbljhk
2017-11-16 12:23:15 +08:00
Alphan Chen
f742ba195a Bug 980904 - Disable the Character Encoding menu when document is decoded as UTF-8 without errors. r=hsivonen,emk,Gijs 2017-11-23 15:03:41 +08:00
Emilio Cobos Álvarez
385aa3e51f Bug 1414999: Synchronously clean style data from the DOM tree when the shell goes away. r=bz
There's nothing preventing the flat tree from changing while the document
doesn't have a shell. In that case, we really really don't want to lose track
of elements with stale style data, since then we'll mess up.

It's ok to _not_ clear the style data when the document goes into the BFCache
though, because the document is thrown away if other document runs script and
touches the cached DOM.

MozReview-Commit-ID: 4W3xDAnnLPL
2017-11-20 22:11:23 +01:00
Edgar Chen
a88956b4ad Bug 1396620 - Part 1: Remove created callback for custom elements; r=jdai,smaug
MozReview-Commit-ID: IDovq3OZwgy
2017-10-13 23:36:54 +08:00
arthur.iakab
8d9aac7353 Backed out changeset ed0cc9f86583::b6b642efbb74 (bug 1396620) for static failure at dom/base/CustomElementRegistry.cpp r=backout on a CLOSED TREE
Backed out changeset b6b642efbb74 (bug 1396620)
Backed out changeset ed0cc9f86583 (bug 1396620)
2017-11-17 01:22:14 +02:00
Edgar Chen
a54ca3a372 Bug 1396620 - Part 1: Remove created callback for custom elements; r=jdai,smaug
MozReview-Commit-ID: IDovq3OZwgy
2017-10-13 23:36:54 +08:00
Alastor Wu
a4fe8051ce Bug 1415444 - part2 : add log. r=smaug
MozReview-Commit-ID: KFB3HiPuWeo
2017-11-14 14:48:23 +08:00
Alastor Wu
5406f4181a Bug 1415444 - part1 : add flag to record whether the document has been activated by specific user gestures. r=smaug
This flag would be used to help us decide whether website could be allowed the autoplay.
The media related implementation would be implemented in bug1382574.

MozReview-Commit-ID: GGIauBufs5A
2017-11-14 14:48:18 +08:00
Nika Layzell
d6a3a1baba Bug 1414974 - Part 6: Change WebIDL bindings to refer to nsGlobalWindowInner rather than nsGlobalWindow, r=bz
MozReview-Commit-ID: KbCpDFoWyTe
2017-11-09 10:44:49 -05:00
Sebastian Hengst
52ea9f8769 merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-11-09 00:00:16 +02:00
Boris Zbarsky
67340e531a Bug 1415176. Move getElementsByName from HTMLDocument to Document. r=mccr8
MozReview-Commit-ID: CRfrXC2x97S
2017-11-08 11:13:33 -05:00
Brad Werth
854e4b429a Bug 1412173 Part 1: Implement the Document ignore-opens-during-unload counter required by spec. r=bz
MozReview-Commit-ID: IWfT5c0H3t
2017-11-02 11:47:21 -07:00
Phil Ringnalda
4a18322fed Backed out 2 changesets (bug 1412173) for unexpected passes in wpt's /html/browsers/browsing-the-web/unloading-documents/003.html
Backed out changeset 68de62dd7a9b (bug 1412173)
Backed out changeset 97de1e0cd693 (bug 1412173)

MozReview-Commit-ID: HiASSDNl4DD
2017-11-06 19:32:05 -08:00
Brad Werth
1907051887 Bug 1412173 Part 1: Implement the Document ignore-opens-during-unload counter required by spec. r=bz
MozReview-Commit-ID: IWfT5c0H3t
2017-11-02 11:47:21 -07:00
Henri Sivonen
3618c1fd8a Bug 1412866 - Use spec nomenclature for the ignore-destructive-writes counter. r=smaug
MozReview-Commit-ID: FKwbEZll95J
2017-10-30 17:45:09 +02:00
Eden Chuang
25f6174579 Bug 1403079 - Add mAllowPaymentRequest and related methods on nsIDocument to check if PaymentRequest API is allowed to use. r=smaug
Add a new member mAllowPaymentRequest on nsIDocument and following related
methods,
  bool AllowPaymentRequest() const
  void SetAllowPaymentRequest(bool aAllowPaymentRequest)
mAllowPaymentRequest is used to check if PaymentRequest is allowed to use on
the document. According to the spec
  https://html.spec.whatwg.org/multipage/iframe-embed-object.html#allowed-to-use
the mAllowPaymentRequest should be true under following situations
  1. The document is the top level content document.
  2. The document is the same origin with its parent document and its parent
     document's mAllowPaymentRequest is true.
  3. The document is different origin with its parent document but its
     parent node is an iframe with allowpaymentrequest flag and the parent
     document's mAllowPaymentRquest is true.

This patch also include following mochitests
  1. test for allowpaymentrequest flag changing. The flag change effect should
     not be applied to the document immediately, it should be updated while
     the browsing context is updated.
  2. test for effect propagation in the nested iframe.
2017-10-19 15:56:51 +08:00
Jessica Jong
d5bb6a8632 Bug 1378079 - Part 2: Introduce throw-on-dynamic-markup-insertion counter. r=hsivonen
Per spec, document objects have a throw-on-dynamic-markup-insertion counter,
which is used in conjunction with the create an element for the token algorithm
to prevent custom element constructors from being able to use document.open(),
document.close(), and document.write() when they are invoked by the parser.
2017-10-26 14:08:35 +08:00
Emilio Cobos Álvarez
4752927341 Bug 1410074: Make the caller type from MatchMedia arrive to the CSS code. r=xidorn,bz
MozReview-Commit-ID: LUiobfHSUq1
2017-10-25 16:04:48 +02:00
Cameron McCormack
315649971e Bug 1409992 - Allow SVG as images to load data: URL images. r=edgar
MozReview-Commit-ID: KMirRmkLBVa
2017-10-19 18:00:43 +08:00
Sebastian Hengst
435fb9c8cd Backed out changeset 725b9a93a191 (bug 1409992) for frequently failing layout/reftests/svg/foreignObject-img.html. r=backout 2017-10-20 11:23:28 +02:00
Cameron McCormack
cd9f17b38a Bug 1409992 - Allow SVG as images to load data: URL images. r=edgar
MozReview-Commit-ID: KMirRmkLBVa
2017-10-19 18:00:43 +08:00
Emilio Cobos Álvarez
ee230c1f39 Bug 1407864: Do not thrash the selector cache when parsing the same selector with different backend. r=heycam
Since the presence of an entry with a null selector is different for Gecko and
Servo, this seemed easier, and mimics nsLayoutStyleSheetCache.

Also, this is going away soon anyway as soon as I get to implement the rest of
the methods for stylo.

MozReview-Commit-ID: DtHJbw8C0GX
2017-10-12 10:07:25 +02:00
d9b8b90901 Bug 1305237 LoadInfo changes to include all ancestors principals and window IDs, r=bz,mystor
MozReview-Commit-ID: 1IMi5MqTx7o
2017-10-10 09:54:00 -07: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