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

15192 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 432d45b460 Bug 1439027: Simplify PresShell::Initialize. r=bz
Most of the callers pass the already-existing pres-context visible area. The few
that don't can set it themselves.

MozReview-Commit-ID: KRi4ShrgOrE
2018-02-21 12:42:17 +01:00
Emilio Cobos Álvarez 30b133d3c7 Bug 1439223: Stop ShadowRoot::Host from being a useless function call. r=smaug
Also, change DocumentFragment to use RefPtr, since that's the usual style.

MozReview-Commit-ID: 4PQ19nbmhUh

--HG--
extra : rebase_source : 2afb214b764ba48a4a8718190a6853ae6d6ea80b
2018-02-18 14:33:14 +01:00
Valentin Gosu 55a7a824c6 Bug 1435671 - Reduce binary size by making NS_MutateURI.Apply not be a templated method r=mayhemer
We instead add a templated method NS_MutatorMethod that returns a std::function<nsresult(nsIURIMutator*)> which Apply then calls with mMutator as an argument.
The function returned by NS_MutatorMethod performs a QueryInterface, then calls the passed method with arguments on the result.

MozReview-Commit-ID: Jjqp7gGLG1D

--HG--
extra : rebase_source : f2a17aee7bb66a7ba8652817d43b9aa7ec7ef710
2018-02-21 01:00:54 +01:00
J. Ryan Stinnett bbd75cba2e Bug 1438697 - Add inFrameSwap property on page transition. r=mrbkap
During a frame swap (using the `swapFrameLoaders` API on a frame loader owner),
we dispatch `pagehide` events before swapping and `pageshow` events after
swapping.

For some consumers that watch these events (such as DevTools), it would be
helpful to filter out the ones that sent because of frame swapping.  This change
adds a chrome-only `inFrameSwap` property to such events so that we can tell
them apart.

MozReview-Commit-ID: QzIDuaF2zC

--HG--
extra : rebase_source : 3ac15e34c18b648c4cb060e69587e39e4ebaab60
2018-02-16 13:05:06 -06:00
Hiroyuki Ikezoe 467ed67c74 Bug 1388557 - Call RequestRestyle(Layer) in the case where we attach orphaned animating element to the document. r=birtles
MozReview-Commit-ID: IIcyYFROqDx

--HG--
extra : rebase_source : f096635d400528660d5243d2884d125e7b623db2
2018-02-21 10:13:13 +09:00
Hiroyuki Ikezoe 4606fafb88 Bug 1417354 - Clear pending restyle requests for the element and its pseudos where the element is detached from the document. r=hiro
MozReview-Commit-ID: GLHjtHNusuB

--HG--
extra : rebase_source : aaf05c7773d11cf61a28803d4ba70546c2b98e27
2018-02-21 07:00:20 +09: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
Hiroyuki Ikezoe 2ae05eae09 Bug 1417354 - Drop unused presshell and prescontext in nsGlobalWindowInner.cpp. r=smaug
MozReview-Commit-ID: Ok80ilFDsf

--HG--
extra : rebase_source : 490e58ea922a56fe8d4c2ffeea4ea83198141bd3
2018-02-21 06:15:22 +09:00
nbeleuzu@mozilla.com 01eef6aff1 Backed out changeset c9dcce0a1068 (bug 1435671) for build bustages on nsIURIMutator.h. CLOSED TREE 2018-02-21 00:06:46 +02:00
Valentin Gosu f1850e9354 Bug 1435671 - Reduce binary size by making NS_MutateURI.Apply not be a templated method r=mayhemer
We instead add a templated method NS_MutatorMethod that returns a std::function<nsresult(nsIURIMutator*)> which Apply then calls with mMutator as an argument.
The function returned by NS_MutatorMethod performs a QueryInterface, then calls the passed method with arguments on the result.

MozReview-Commit-ID: Jjqp7gGLG1D

--HG--
extra : rebase_source : 592d13349a8c4627c7ce3146ec592f577b39f3cc
2018-02-20 22:39:40 +01:00
Andreea Pavel 4f8782dc6e Backed out changeset 3ab4e934cd7f (bug 1439395) for crashtest failures at tests/layout/style/crashtests/1400936-2.html on a CLOSED TREE 2018-02-20 17:43:31 +02:00
Emilio Cobos Álvarez eb044841b5 Bug 1439395: Clear Servo data only when the DOM is in a consistent state. r=bholley
We used to do it this way effectively until I fixed it in bug 1400936.

Per the list of fuzz bugs that bug has in the "Depends on" field, some of those
without a super-clear fix, and others that aren't listed in there, and all the
complexity we had to deal with while receiving restyle requests mid-unbind, etc,
I think this is the right call.

This clears data on RestyleManager::ContentRemoved for non-anonymous nodes, and
on UnbindFromTree for subtrees rooted at anonymous nodes.

This will hopefully yield enforceable invariants.

MozReview-Commit-ID: IMwX5Uh1apv
2018-02-20 15:19:03 +01:00
Emilio Cobos Álvarez e14354de1a Bug 1439016: followup: Reuse AssertNoStaleServoDataIn in CreateShell too. r=me
MozReview-Commit-ID: JfJyxuAlf5Z
2018-02-20 14:04:42 +01:00
Emilio Cobos Álvarez 6dd24e93ac Bug 1439016: Remove dead code from Shadow DOM v0. r=bholley
Could do that on a different bug but...

MozReview-Commit-ID: L1ri2s8z75f

--HG--
extra : rebase_source : cfdd998081cb8ef49cc5e66801fc706774f5497a
2018-02-19 18:15:38 +01:00
Emilio Cobos Álvarez 1e890af15e Bug 1439016: Assert that there's no stale servo data in shadow roots either. r=bholley
Just expanding the assertion to cover shadow trees.

MozReview-Commit-ID: FLE0noGzaIF

--HG--
extra : rebase_source : fa68f04b8095bd48eab598415e1700620ecce092
2018-02-19 15:00:37 +01:00
Emilio Cobos Álvarez 006627baa9 Bug 1439016: Clear servo data on slot changes too. r=bholley
Pretty much the same way as what we do on XBL insertion point changes, since the
data would be stale.

I think both of those are kind of a hack, btw, and that we could fix it doing
ClearServoDataFromSubtree properly before we start unbinding. That'd prevent all
these issues, and all the complexity that entails receiving restyle requests
mid-unbind (we'd guarantee the tree is always in a stable state).

That's a matter of a different bug though.

MozReview-Commit-ID: Ev6RvGuPGiv

--HG--
extra : rebase_source : 8ae0db799282bfb8ca2385d6997763f29a082c61
2018-02-19 14:54:12 +01:00
Ciure Andrei 47cb352984 Merge inbound to mozilla-central. a=merge on a CLOSED TREE 2018-02-20 12:15:57 +02:00
Xidorn Quan a0c9e1acaa Bug 1438497 part 3 - Add XUL prototype cache to memory report. r=njn
MozReview-Commit-ID: 7CSEJKFkm7B

--HG--
extra : rebase_source : fe10ebd0d3b5538565e6e9692feb1cb993ef01a8
2018-02-19 21:07:44 +11:00
Dorel Luca f41b03eca9 Backed out changeset 38577c007450 (bug 1424371) for Marionett test failure on testing/marionette/harness/marionette_harness/tests/unit/test_window_maximize.py. CLOSED TREE 2018-02-19 22:15:23 +02:00
Milan Sreckovic 7571df7e7c Bug 1424371: Use BaseRect access methods instead of member variables in dom/ r=qdot
MozReview-Commit-ID: HXWhggOMIEK

--HG--
extra : rebase_source : 9c9eacf80d2b7f78faa82a1549170b98d12cdaa8
2018-02-19 12:56:10 -05:00
Tooru Fujisawa 9a81f2437f Bug 1414674 - Do not enter the compartment of the target window when calling KeyframeEffect and KeyframeEffectReadOnly constructor via Xray. r=bz,birtles
KeyframeEffect and KeyframeEffectReadOnly constructors can run in the caller
compartment, which is okay because the current compartment is used in the
following places and all of them are safe:

1. GlobalObject::CallerType(), that is ultimately passed to
   nsDocument::IsWebAnimationsEnabled in KeyframeEffectParamsFromUnion,
   to decide whether to copy mIterationComposite/mComposite to
   KeyframeEffectParams.

   GlobalObject::CallerType() can now be different than the target window's one,
   if the caller has the system principal and the target is web content, and
   in that case nsDocument::IsWebAnimationsEnabled there always returns true
   while Web Animations can be disabled on web content.

   honoring the mIterationComposite/mComposite properties is OK, since it just
   changes the animation behavior, and this is disabled by default until
   remaining spec issues are resolved.

2. GlobalObject::Context(), that is ultimately passed to
   KeyframeUtils::GetKeyframesFromObject and used while extracting information
   from passed-in keyframe object, with iterable/iterator protocols.

   Performing that operation in the caller side is okay, since the same thing
   can be done on caller, and the operation doesn't perform any GCThing
   allocation on the target window global.
2018-02-17 17:21:13 +09:00
Ben Kelly eb78122ad1 Bug 1439099 P3 Remove ServiceWorker::MatchesDescriptor() in favor of Descriptor().Matches(). r=asuth 2018-02-19 12:06:19 -08:00
Emilio Cobos Álvarez cc5a1b6c85 Bug 1439224: Make shadow root style changes not restyle the whole document. r=xidorn
Also, make them not rebuild the CascadeData synchronously, via the
FlushSkinSheets call, since that's broken. That fixes bug 1413119.

This is a little step in getting rid of XBL usage for Shadow DOM.

MozReview-Commit-ID: HJ7FeUZlRTW

--HG--
extra : rebase_source : 0fcd0ed461856c1e87e45ef63c9e1d2e81281469
2018-02-18 14:35:57 +01:00
Xidorn Quan a23cb7d912 Bug 1438497 - Add bindings into memory report. r=bholley,njn
MozReview-Commit-ID: FrFEUlrqcs8

--HG--
extra : rebase_source : 4ead07cb6854ef816a1d6b31aa9028220a14ec89
2018-02-16 23:02:28 +11: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
Christoph Kerschbaumer 494f074b53 Bug 1432358: Allow certain top-level pages to be agnostic to CSP. r=smaug
--HG--
extra : source : 27527f95cccca4927d4fee56b0dab9af11c5733f
extra : intermediate-source : 2fa11c525da3d0c7ca58a593241c1902f2849528
2018-02-01 14:07:01 +01:00
Chris Peterson fe5cd3d5d9 Bug 1436263 - Part 3: Remove `virtual` from final virtual function declarations. r=froydnj
MozReview-Commit-ID: 8pjYjEvQF42

--HG--
extra : rebase_source : 5eb0bea2ef5f06a811b4f3daf57ce8720f12dd07
2018-02-08 21:22:43 -08:00
Chris Peterson 0129d900f3 Bug 1436263 - Part 2: Replace `override final` virtual function specifiers with just `final`. r=froydnj
MozReview-Commit-ID: 70gt5SUu4Dv

--HG--
extra : rebase_source : 71912c6bde22aaed01e70615a4ee794a36e70d0e
extra : source : 1c22d4c65d70b797ee3e963ec426c90e1f89b5e3
2018-02-05 22:50:00 -08:00
Chris Peterson d09123f248 Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D

--HG--
extra : rebase_source : 94831c1e13a840dd2ea0600f64bcf70c2bf938d9
extra : source : cf9283bf1b0bca3a6311c98e227329d451f80ecb
2018-02-05 22:46:57 -08:00
Andreea Pavel 3391719f1c Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-02-17 23:50:07 +02:00
Andreea Pavel 2e506ce663 Merge mozilla-inbound to mozilla-central. a=merge 2018-02-17 23:44:10 +02:00
Tooru Fujisawa d70a10cbd8 Backed out changeset c3f16a179c93 (bug 1414674) 2018-02-18 01:24:08 +09:00
Boris Zbarsky 6bd0320c4c Bug 619092 indentation fix followup.
MozReview-Commit-ID: ACcpu8bVeiS
2018-02-17 11:22:21 -05:00
Dorel Luca e3b96b7694 Merge mozilla-central to mozilla-inbound 2018-02-17 12:01:23 +02:00
Dorel Luca 07d2af4219 Merge mozilla-inbound to mozilla-central. a=merge 2018-02-17 11:55:38 +02:00
Tooru Fujisawa d58a217b1c Bug 1414674 - Do not enter the compartment of the target window when calling KeyframeEffect and KeyframeEffectReadOnly constructor via Xray. r=bz,birtles
KeyframeEffect and KeyframeEffectReadOnly constructors can run in the caller
compartment, which is okay because of the following reasons:

1. The target window global is used for most operation:
     * KeyframeEffectReadOnly::ConstructKeyframeEffect uses the target window
       global instead of current global.
     * KeyframeEffectParamsFromUnion which receives `aGlobal.CallerType()`

   In Xray case, Web Animations API can be disabled on web content
   (currently disabled on beta/release by default), and in that case some API
   won't work even it's triggered from WebExtensions, but it should be fine.

2. GetKeyframesFromObject is executed in the caller's compartment to access
   the passed-in JSObject that is keyframe, with iterable/iterator protocols.
   This operation doesn't perform any GCThing allocation on the target window
   global.
2018-02-17 17:21:13 +09:00
Bas Schouten 628d3b7134 Bug 1437492 - Part 2: Based on profile data, use the simple-matrix optimized matrix class in some places. r=mattwoodrow
MozReview-Commit-ID: EBRrGXc2wEj
2018-02-17 00:43:38 +01:00
Gurzau Raul 3daf5ac131 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-02-17 00:13:16 +02:00
Yaroslav Taben 9e616d15ed Bug 619092 - Truncate wyciwyg URLs on Reload to prevent exposing them; r=bz
This change prevents URLs with wyciwyg schemes to be set as mDocumentURI.
Otherwise, in JS, document.URL returns a wyciwyg://* URL and a subsequent
call to document.write makes wycywyg URL visible in the address bar.

MozReview-Commit-ID: BaKpDkkIYbM

--HG--
extra : rebase_source : cc14c247e4aaa43645481cbc520040eacbba6e21
2018-02-16 16:55:35 -05: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
Jonathan Kingston 9f340d8168 Bug 1429732 - Use a pref to disable registerProtocolHandler in insecure contexts. r=baku,dao
MozReview-Commit-ID: 9NxFv57CyZO

--HG--
extra : rebase_source : 897ca40537493cc9df4bef7a538a5fdb04769889
2018-02-04 12:10:10 +00:00
Olli Pettay 1dfbc7a331 Bug 1430301 - Implement ShadowRoot.elementFromPoint/elementsFromPoint, r=emilio
--HG--
extra : rebase_source : 570f17a7a63ea602533910192c04b4e12f082aa8
2018-02-16 20:42:58 +02:00
Narcis Beleuzu 2d9816273c Merge inbound to mozilla-central. a=merge 2018-02-16 11:49:59 +02:00
Hiroyuki Ikezoe befb3a6212 Bug 1432396 - Call UnblockOnload only if we've already blocked load event. r=bz
When the window is destroyed in unload event callbacks for the previous
document, we haven't started loading, i.e. we haven't called BlockOnload()
for the new document in nsContentSink::WillBuildModelImpl, so if we called
nsDocument::StopDocumentLoad() in such cases, UnblockOnload calls will mismatch
BlockOnload calls.

MozReview-Commit-ID: HjLtmGGvXKS

--HG--
extra : rebase_source : 8d81afd5cd7988cb165d9fee5dcfbf5fbf702331
2018-02-16 06:15:01 +09:00
Margareta Eliza Balazs 55aa0e75d6 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-02-15 22:43:18 +02:00
Noemi Erli 656ee92d98 Merge inbound to mozilla-central. a=merge 2018-02-15 21:29:11 +02:00
Jonathan Kew 7a1f777b90 Bug 1435989 - Add a 'ranges' attribute to the InspectorFontFace object, to expose ranges of text that were rendered with a specific font. r=bz,dholbert 2018-02-15 18:48:22 +00:00
Jon Coppeard 9b97fa3a81 Bug 1342416 - Preload module scripts r=baku 2018-02-15 13:18:59 +00:00
Andreea Pavel a403fc3f13 Merge mozilla-central to mozilla-inbound. on a CLOSED TREE 2018-02-15 12:37:30 +02:00
Andreea Pavel 74b7ffee40 Merge mozilla-inbound to mozilla-central a=merge
--HG--
rename : js/src/jscompartment.cpp => js/src/vm/JSCompartment.cpp
rename : js/src/jscompartment.h => js/src/vm/JSCompartment.h
rename : js/src/jsscript.cpp => js/src/vm/JSScript.cpp
rename : js/src/jsscript.h => js/src/vm/JSScript.h
extra : amend_source : 9c233cb959c45e401189d089a094f9d141d2b912
2018-02-15 12:24:21 +02:00