Граф коммитов

808 Коммитов

Автор SHA1 Сообщение Дата
Andreea Pavel fa0861e443 Merge mozilla-inbound to mozilla-central. a=merge on a CLOSED TREE 2018-02-28 00:24:02 +02:00
Emilio Cobos Álvarez c03ffd9c62 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
Frederik Braun 6b0d4f302c Bug 1433929 - Drop forms when sanitizing HTML fragments for chrome-privileged documents. r=bz
MozReview-Commit-ID: 10q5eymtmU0

--HG--
extra : rebase_source : a28a81e0453cec9e5895e072ffe838ef8199b311
2018-02-15 17:06:52 +01:00
Adrian Wielgosik 35f8ed790f Bug 1440741 - Remove all members from nsIDOMHTMLFormElement. r=qdot
MozReview-Commit-ID: 2UcUy4MkVsM

--HG--
extra : rebase_source : ddc6c18c5015ebc5569defa09b32c40e83939886
2018-02-23 19:28:08 +01:00
Emilio Cobos Álvarez b26f7c3694 Bug 1440258: Flag doc level anonymous content instead of guessing. r=bholley
Poking at the frame tree has problems: If we poke in negative (using
eSkipNativeAnonymousContent), as we were doing, we mess up the case where we're
actually _not_ doc-level, and _not_ ::before or ::after. This can't happen for
content documents, but can happen for chrome (since nsDocElementBoxFrame
implements nsIAnonymousContentCreator).

If we poke in positive, as we used to, you get that right, but mess up the
root scrollbar case.

Instead, use a node property to mark doc level anon content. This is a case rare
enough that it seems worth to not steal a node bit.

To recap the failure:

 * The initial value of -moz-control-character-visiblity is different on beta
   and nightly.

 * XUL has a global rule setting -moz-control-character-visibility on the root,
   to a value so that it's the initial one on nightly, but the non-initial one
   on beta.

 * Changes to this property cause a reframe.

 * Reframes of a nsIAnonymousContentCreator anon content reframe the container.

 * We were failing to inherit correctly for the nsIAnonymousContentCreator
   content for the root XUL element on the initial styling, inheriting from the
   default computed values instead, since we failed to reach the root element's
   primary frame from GetFlattenedTreeParentForDocumentElementNAC ->
   AppendDocumentLevelNativeAnonymousContentTo, since the primary frame is set
   _after_ processing children.

   This seems somewhat risky to change, and inconsistent with any other stuff
   the frame constructor does, see bug 973390.

 * Given that, the next restyle of the root element, in this case caused due to
   the customizable UI, we _found_ the actual correct parent, recomputed the
   style, saw that -moz-control-character-visiblity had changed, and reframed.
   But we were reframing the whole window, not just the NAC, because of the
   fourth bullet point. Reframing the whole window caused us to lose the popup
   state (that's bug 1440506).

   Worse than that is the fact that given we reframe and reconstruct the
   anonymous countent again, we go back to the initial bogus state, just
   awaiting for the next restyle to reframe the whole window.

I wish there was a bullet-proof way to test it that isn't just counting reframes
and relying on which properties reframe or not, but due to the nature of
nsIAnonymousContentCreator's NAC, it's not possible in any easy way I can think
of.

MozReview-Commit-ID: IPYB5trsN8R
2018-02-23 20:31:52 +01:00
Adrian Wielgosik 2d4df58ad8 Bug 1439751 - Remove all members from nsIDOMHTMLInputElement. r=qdot
MozReview-Commit-ID: JVagEzvSONN

--HG--
extra : rebase_source : a7e1cf2e5ccc1925f3a11c7d935438ef6307c70c
2018-02-20 23:10:44 +01:00
Jonathan Kingston 8afc412494 Bug 1435733 - Upgrade mixed display content pref. r=baku,ckerschb,francois,mayhemer
MozReview-Commit-ID: ETIgVF3zhRu

--HG--
extra : rebase_source : e4c59f50584158f4b31527347b10424b56692fa1
2018-02-05 15:37:27 +00: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
Tom Schuster db56d2ee65 Bug 1431095 - Change Content-Type-Options: nosniff allowed script MIME types to match the spec. r=ckerschb
--HG--
extra : rebase_source : e4047e619b88bbb025f3eab27e8e1a826a9429b7
2018-02-16 19:32:11 +01:00
Yaroslav Taben 9460881a14 Bug 619092 - Refactor code for removing wyciwyg scheme from URL into util method r=bz
MozReview-Commit-ID: 3eSJJDMDKfE

--HG--
extra : rebase_source : a55ff32e3435f15bbe325b92f4f0a33a22afd679
2018-02-16 16:52:50 -05:00
Gijs Kruitbosch bfee896494 Bug 1437147 - report warnings when the sanitizer removes stuff for chrome documents, r=bz
MozReview-Commit-ID: Lx1JjpYrLpD

--HG--
extra : rebase_source : fcd98b67a194a59e2d4e6d44a5442e359ce22255
2018-02-15 16:03:19 +00:00
Olli Pettay b9ac198b01 Bug 1413102 - Ensure Shadow DOM boundaries are dealt properly in event handling, r=masayuki 2018-02-15 12:08:42 +02:00
Dorel Luca 12fe7a2577 Backed out changeset 2320b7fd9266 (bug 1413102) for Mochitest failure on dom/tests/mochitest/pointerlock/test_pointerlock-api.html 2018-02-14 20:44:19 +02:00
Olli Pettay 6a7af9eddf Bug 1413102 - Ensure Shadow DOM boundaries are dealt properly in event handling, r=masayuki
--HG--
extra : rebase_source : 72130abec4634f60f9c8f9b9bcd7630ef26097e1
2018-02-14 14:16:15 +02:00
Sebastian Hengst f5e840425b merge mozilla-inbound to mozilla-central. a=merge 2018-02-10 00:26:50 +02:00
Boris Zbarsky 92bbd744e1 Bug 1436508 part 11. Remove the use of the nsIDOMKeyEvent::DOM_VK* constants in C++. r=masayuki
MozReview-Commit-ID: Honw0NrVMuV
2018-02-09 11:17:09 -05:00
Masayuki Nakano a04da0af59 Bug 1134542 - Get rid of nsIDOMWindowUtils::sendKeyEvent() and nsIFrameLoader::sendCrossProcessKeyEvent() r=smaug
nsIDOMWindowUtils::sendKeyEvent() is already replaced with nsITextInputProcessor
for making callers set any attributes of KeyboardEvent and guaranteeing
consistency behavior with keyboard events caused by native key events.  E.g.,
whether keypress event should be dispatched or not is automatically decided.

nsIFrameLoader::sendCrossProcessKeyEvent() is similart to
nsIDOMWindowUtils::sendKeyEvent() but it dispatches keyboard events in
child process directly.  Currently, nsITextInputProcessor doesn't have this
feature but nobody wants/uses this feature.  So, for removing actual
implementation of nsIDOMWindowUtils::sendKeyEvent(), i.e.,
nsContentUtils::SendKeyEvent(), which is shared by both
nsDOMWindowUtils::SendKeyEvent() and nsFrameLoader::SendCrossProcessKeyEvent(),
we should remove this unused API too. (FYI: it's implemented for old Fennec,
by bug 553149.)

MozReview-Commit-ID: 9n0UVo8Me8k

--HG--
extra : rebase_source : e9b117f5b9afec76e63d57ab8cd86dafb5873789
2018-01-31 17:04:20 +09:00
Brad Werth 9805f317cb Bug 1418930 Part 1: Define and use a method nsContentUtils::CORSModeToLoadImageFlags to standardize conversion of CORS modes to load image flags. r=bz
MozReview-Commit-ID: AqsEUhFYxH6

--HG--
extra : rebase_source : 94ab4f3b1e5729cce8a2572c949b174fc74fd878
2018-01-31 11:10:01 -05:00
Andrea Marchesini 8cdf705535 Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
Edgar Chen 084a83413d Bug 1430951 - Avoid element name atomizing to improve performance of LookupCustomElementDefinition; r=smaug
Since we are dealing with the element (nodeInfo->LocalName() and NameAtom() are the same value),
we could use nodeInfo->NameAtom() instead.

MozReview-Commit-ID: 4vIBDEM1Nwv

--HG--
extra : rebase_source : 150d5ea982363eb2ef4c5039fae67be1e08884ba
2018-01-17 14:55:13 +08:00
Boris Zbarsky 928d0d4fa7 Bug 1434318 part 13. Remove nsIDOMDocument::CreateEvent. r=mystor
MozReview-Commit-ID: EaUjTLeaQ0n
2018-01-31 15:18:11 -05:00
Andrea Marchesini a5bed23bd8 Bug 1432963 - Fixing workers headers - part 15 - static function in a workers namespace, r=smaug 2018-01-31 08:24:30 +01:00
Andrea Marchesini 2c7c69af24 Bug 1432963 - Fixing workers headers - part 14 - WorkerPrivate without workers namespace, r=smaug 2018-01-31 08:24:08 +01:00
Gurzau Raul c380dfe905 Merge inbound to mozilla-central. a=merge 2018-01-30 12:01:49 +02:00
Boris Zbarsky 7c392f077e Bug 1418085 part 6. Remove nsIDOMHTMLElement. r=mystor
MozReview-Commit-ID: 5QUyFeAQYZQ
2018-01-30 00:25:36 -05:00
Hiroyuki Ikezoe 66329b0a9c Bug 1433846 - Introduce nsContentUtils::GetPresShellForContent(const* nsIContent). r=xidorn
MozReview-Commit-ID: 38RbeooWjFW

--HG--
extra : rebase_source : 37020698c792f7db0378851b77bca45c9b2bd109
2018-01-29 14:19:25 +09:00
Boris Zbarsky f26bfa5954 Bug 1432977 part 1. Remove nsIDOMHTMLElement's draggable attribute. r=mccr8
MozReview-Commit-ID: Gj8thsaNGCF
2018-01-29 23:37:54 -05:00
Boris Zbarsky e565b1fe1b Bug 1432944 part 11. Remove nsIDOMElement::GetAttribute. r=mccr8
MozReview-Commit-ID: 2f1vFvRdCPG
2018-01-29 23:28:00 -05:00
Boris Zbarsky f60fd673d6 Bug 1432186 part 19. Remove the nsIDOMNode::*_NODE constants. r=mccr8
MozReview-Commit-ID: KvKjeKIOB9K
2018-01-29 23:10:53 -05:00
Boris Zbarsky df23390565 Bug 1432186 part 8. Remove nsIDOMNode::DOCUMENT_POSITION_* constants. r=mccr8
MozReview-Commit-ID: DXhiXZ3qQHg
2018-01-29 23:10:50 -05:00
Ben Kelly e71d8db226 Bug 1430139 P3 Remove workers namespace from service worker code. r=asuth 2018-01-26 13:08:59 -08:00
Frederik Braun e4b43bfc43 Bug 1433414: Add missing NS_ENSURE_SUCCESS r=smaug
This adds a missing NS_ENSURE_SUCCESS, to catch XML parsing failures (e.g. unclosed tags).

MozReview-Commit-ID: BvxIWTF7IWf
2018-01-26 15:53:36 +01:00
Kris Maglione b3cac601f6 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

--HG--
extra : rebase_source : 1c0a1448a06d5b65e548d9f5362d06cc6d865dbe
extra : amend_source : 7184593019f238b86fd1e261941d8e8286fa4006
2018-01-24 14:56:48 -08:00
Ben Kelly 132eba9966 Bug 1231211 P11 Add a StorageAllowedForChannel() and use it in ServiceWorkerInterceptController. r=asuth 2018-01-23 10:38:53 -05:00
Ben Kelly c0ed8a4f53 Bug 1231211 P5 Add nsContentUtils::IsNonSubresourceInternalPolicyType() method. r=asuth 2018-01-23 10:38:52 -05:00
Andrea Marchesini b8bb98af8c Bug 1430997 - Rename nsINode::IndexOf to nsINode::ComputeIndexOf, r=catalinb 2018-01-23 14:30:18 +01:00
Cosmin Sabou 1f9b4f0f06 Merge inbound to mozilla-central. a=merge 2018-01-17 11:46:53 +02:00
Andrea Marchesini 05c32178fd Bug 1425440 - Replace RemoveChildAt_Deprecated with RemoveChildNode in nsContentUtils, r=catalinb 2018-01-16 18:59:54 +01:00
Edgar Chen 629d03627c Bug 1420377 - Avoid atomizing 'is' value twice when the custom element is created from parser; r=smaug
MozReview-Commit-ID: JHw3di1Q9E9

--HG--
extra : rebase_source : a1f1ac6ddefc7d2ffb543eb30fc41c868f050288
2017-11-24 16:57:00 +08:00
Jessica Jong 4bee56a645 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
Emilio Cobos Álvarez 339814eda4 Bug 1427677: Get rid of nsContentUtils::HasDistributedChildren. r=bz
The whole function doesn't have much sense.

I killed its only DOM use in bug 1427511.

Now it only has two callers in nsCSSFrameConstructor, which basically only want
to know whether the children of the same node can have different flattened tree
parents.

So let's check that directly instead (checking whether the element has a binding
or a shadow root), and simplify a bit other surrounding code while at it.

Leave the XUL popup / menubar code doing the broken thing they were doing
beforehand, because it doesn't look to me like it's trivial to fix... They're
effectively assuming that the children of the menupopup end up in a single
insertion point, which is true, but doesn't need to be. Maybe they should walk
the DOM tree? Don't want to dig into that right now, since XUL insertion points
can be filtered and all that... Not fun.

Also, this removes the broken optimization that used to check
mParentFrame->GetContent()->HasChildren(), because it's pretty broken. It used
to be relevant before bug 653881, because <children> element used to not exist,
but now the insertion point at least needs to contain the <children> element all
the time.

There even used to be a XXX comment saying that the optimization didn't work,
which was removed in:

  https://hg.mozilla.org/mozilla-central/rev/2d8585ec74b3

We could still check for "no insertion points", and optimize that, but it
doesn't seem worth it.

MozReview-Commit-ID: L4lspkxKENr
2018-01-09 20:50:17 +01:00
Ben Kelly 223b11ff62 Bug 1426977 P2 Add StorageAllowedForNewWindow() to support docshell service worker checks. r=mystor 2018-01-08 20:25:53 -05:00
John Dai d480d5e221 Bug 1419662 - Fix incorrect custom element type in CustomElementData. f=echen, r=smaug 2018-01-07 18:45:00 +02:00
Andrea Marchesini 4fe8b382b6 Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 20 - DevTools enabled, r=asuth 2018-01-08 14:05:06 +01:00
Andrea Marchesini 2bfde4fc2d Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 19 - Resist finger-printing enabled, r=asuth 2018-01-08 14:05:06 +01:00
Andrea Marchesini f4ab91bebc Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 13 - Streams API enabled, r=asuth 2018-01-08 14:05:05 +01:00
Andrea Marchesini 4e9579eb6c Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 12 - Push enabled, r=asuth 2018-01-08 14:05:05 +01:00
Andrea Marchesini c05772d855 Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 11 - Promise Rejection Event enabled, r=asuth 2018-01-08 14:05:04 +01:00
Andrea Marchesini 61778fdf43 Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 5 - Performance logging enabled, r=asuth 2018-01-08 14:05:04 +01:00
Andrea Marchesini 1a7b13aab4 Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 1 - dump enabled, r=asuth 2018-01-08 14:05:03 +01:00