Commit Graph

453037 Commits

Author SHA1 Message Date
Wes Kocher
286a265f77 Backed out 2 changesets (bug 1230118, bug 1230110) for windows debug assertions in browser_perf-categories-js-calltree.js
Backed out changeset a9ce85f77af9 (bug 1230118)
Backed out changeset b9d8d05aa4ee (bug 1230110)

--HG--
extra : commitid : 9wnrd9NnBlp
2015-12-03 15:38:04 -08:00
Brian Birtles
3cd1347f35 Bug 1226118 part 15 - Remove no-longer-necessary delays from test_running_on_compositor.html; r=hiro
Since part 3 in this patch series updated the way we clear the "running on
compositor" flag, we can update these tests so they no longer wait for this
flag (see bug 1226118 comment 21).
2015-12-04 08:34:18 +09:00
Brian Birtles
c663fcf129 Bug 1226118 part 14 - Rewrite GetAnimationCollection(nsIFrame*) in terms of the existing GetAnimationCollection; r=dholbert
This simply allows us to share the code that maps from pseudo-types to atoms.
2015-12-04 08:34:18 +09:00
Brian Birtles
7351fd75e6 Bug 1226118 part 13 - Move the GetAnimationCollection definitions side-by-side; r=dholbert
This is to match the order in the header file and because in the next patch I'd
like to somewhat re-implement one method in terms of the other and having them
side-by-side will make it easier to read the code.

This patch makes no code changes whatsoever besides shifting the placement of
the function definitions within the .cpp file.
2015-12-04 08:34:17 +09:00
Brian Birtles
f82ce867cf Bug 1226118 part 12b - Rename CommonAnimationManager::GetAnimations to GetAnimationCollection; r=dholbert
This is to align with the existing GetAnimationCollection method that takes
a frame. Also, by making this name more specific hopefully it will be used less
since we are trying to move as much code as possible over to using EffectSet
instead of AnimationCollection.
2015-12-04 08:34:17 +09:00
Brian Birtles
e0492c55ba Bug 1226118 part 12a - Make RestyleManager::GetMaxAnimationGenerationForFrame used frame-based GetAnimationCollection; r=dholbert 2015-12-04 08:34:17 +09:00
Brian Birtles
7cccaf3f92 Bug 1226118 part 11 - Remove CommonAnimationManager::GetAnimationsForCompositor; r=dholbert 2015-12-04 08:34:17 +09:00
Brian Birtles
13bc863699 Bug 1226118 part 10 - Use EffectCompositor::GetAnimationsForCompositor in nsLayoutUtils; r=dholbert 2015-12-04 08:34:17 +09:00
Brian Birtles
e56195af79 Bug 1226118 part 9 - Use EffectCompositor::GetAnimationsForCompositor in nsDisplayList; r=dholbert
The existing code contains a comment about needing to add transitions before
animations. However, this is unnecessary since the interaction between
transitions and animations is handled by the mWinsInCascade member that is
checked in AddAnimationsForProperty.
2015-12-04 08:34:17 +09:00
Brian Birtles
7806ce3d5d Bug 1226118 part 8 - Add EffectCompositor::GetAnimationsForCompositor that uses the EffectSet rather than AnimationCollection; r=dholbert
This added method should behave in an equivalent manner to the existing
CommonAnimationManager::GetAnimationsForCompositor except for the following
differences:

* It uses the EffectSet attached to a target element rather than one of the
  AnimationCollection object on the owning element.

* It returns an array of Animation objects consisting of only those Animations
  that actually have the specified property as opposed to the
  AnimationCollection consisting of *all* CSS animations or *all* CSS
  transitions for the element regardless of whether they run on the compositor
  or not.

It may not be obvious why these two methods otherwise behave in an equivalent
fashion so the following explains how the existing code is mirrored in the new
method.

The existing code is as follows:

> AnimationCollection*
> CommonAnimationManager::GetAnimationsForCompositor(const nsIFrame* aFrame,
>                                                    nsCSSProperty aProperty)
> {
>   AnimationCollection* collection = GetAnimationCollection(aFrame);
>   if (!collection ||
>       !collection->HasCurrentAnimationOfProperty(aProperty) ||
>       !collection->CanPerformOnCompositorThread(aFrame)) {
>     return nullptr;
>   }
>
>   // This animation can be done on the compositor.
>   return collection;
> }

The new EffectCompositor::GetAnimationsForCompositor begins with two checks
performed at the beginning of CanPerformOnCompositorThread: the checks for
whether async animations are enabled or not and whether the frame has refused
async animations since these are cheap and it makes sense to check them first.

The next part of EffectCompositor::GetAnimationsForCompositor checks if there is
an EffectSet associated with the frame. This is equivalent to the check whether
|collection| is null or not above.

Following, we iterate through the effects in the EffectSet.

We first check if each effect is playing or not. In the above code,
HasCurrentAnimationOfProperty only checks if the effect is *current* or not.
However, CanPerformOnCompositorThread will only return true if it finds an
animation that can run on the compositor that is *playing*. Since playing is
a strict subset of current we only need to perform the more restrictive test.

Next we check if the effect should block running other animations on the
compositor. This is equivalent to the remainder of CanPerformOnCompositorThread.
Note that the order is important here. Only playing animations should block
other animations from running on the compositor. Furthermore, this needs to
happen before the following step since animations of property other than
|aProperty| can still block animations from running on the compositor.

Finally, we check if the effect has an animation of |aProperty|. This is
equivalent to the remainder of HasCurrentAnimationOfProperty.

If all these checks succeed, we add the effect's animation to the result to
return.
2015-12-04 08:34:12 +09:00
Brian Birtles
40c6c207b0 Bug 1226118 part 7 - Rename and rework KeyframeEffectReadOnly::CanAnimatePropertyOnCompositor to ShouldBlockCompositorAnimations; r=hiro
KeyframeEffectReadOnly::CanAnimatePropertyOnCompositor has a comment that says
it, "Returns true |aProperty| can be run on compositor for |aFrame|" but it
does nothing of the sort.

What it *does* do is check answer the question, "If there happened to be an
animation of |aProperty| on |aFrame|, should we still run animations on the
compositor for this element?".

This patch renames the method accordingly and moves the step where we iterate
over a given effect's animated properties from
AnimationCollection::CanPerformOnCompositor to inside this method, making this
method a class method rather than a static method at the same time.

As noted in the expanded comment, the approach of blocking opacity animations
in these situations seems unnecessary but for now this patch just preserves the
existing behavior.
2015-12-04 08:32:53 +09:00
Brian Birtles
a9efb98276 Bug 1226118 part 6 - Remove no longer used LayerAnimationRecord/Info code from AnimationCommon; r=dholbert
This code has now been moved to LayerAnimationInfo.{h,cpp} and is not used in
AnimationCommon.
2015-12-04 08:32:53 +09:00
Brian Birtles
fd98de719c Bug 1226118 part 5 - Move LogAsyncAnimationFailure to AnimationUtils; r=dholbert
This patch also moves AnimationUtils out of the dom namespace since it seems
unnecessary. We typically only put actual DOM interfaces in the dom namespace.
2015-12-04 08:32:53 +09:00
Brian Birtles
7f1672cff8 Bug 1226118 part 4 - Use EffectSet in ActiveLayerManager's animated-scale checks; r=dholbert 2015-12-04 08:32:53 +09:00
Brian Birtles
a92b5ec6ab Bug 1226118 part 3 - Use EffectSet in CommonAnimationManager::ClearIsRunningOnCompositor; r=hiro, r=dholbert 2015-12-04 08:32:53 +09:00
Brian Birtles
f409225f4c Bug 1226118 part 2 - Use EffectSet in nsLayoutUtils animation functions; r=dholbert 2015-12-04 08:32:52 +09:00
Brian Birtles
5ea3caedb7 Bug 1226118 part 1 - Add EffectSet::GetEffectSet(const nsIFrame*); r=dholbert 2015-12-04 08:32:52 +09:00
Henrik Skupin
58e9f9d3e0 Bug 1229908 - ScriptMixin._urlopen() has to use quoted URL to not fail if spaces are contained. r=jlund 2015-12-04 00:29:50 +01:00
Blake Kaplan
0bb2b116eb Bug 1116478 - Open web content handlers in the proper tab in e10s. r=billm
--HG--
extra : rebase_source : 9ce04d3a3b30ecdcef4c4781639f0e5ea22d8b22
2015-12-03 15:04:28 -08:00
Maja Frydrychowicz
65297a6d50 Bug 1229467 - Include wptserve in common.tests.zip; r=gps
--HG--
extra : commitid : BqsAW4Qumv3
extra : rebase_source : eba9a1c941c8d3f48e6a02e07689ced16dd32cfe
extra : histedit_source : 3e3726d534589579f896f0b339e800d3513f0b34
2015-12-01 15:45:41 -05:00
Bogdan Postelnicu
10821cd308 Bug 1230118 - added asserts on aOwner and aOwner->Elm() r=surkov
--HG--
extra : commitid : DZ2Gxt3duam
extra : rebase_source : f35ddfd3a3eea486b0f1d23896bd158663132b2e
2015-12-03 14:07:43 -08:00
Andrew McCreight
5e1c30c848 Bug 1230110 - HTMLImageElement should call its superclass's DestroyContent(). r=smaug
--HG--
extra : commitid : L6Z2VdVTfXK
extra : rebase_source : fad68a186e8124cab5beffa34e9db960fe5d2d38
2015-12-03 14:03:12 -08:00
Nicholas Nethercote
5a37352d4a Bug 1229665 - Convert widget clip regions to LayoutDevicePixels. r=botond.
--HG--
extra : rebase_source : 315ac98884f84f3b5d53f156f3e02ddde3a57dbc
2015-12-02 14:32:55 -08:00
Jeff Muizelaar
2b32c585ee Bug 1229152. Expose unsized GL_FLOAT formats required by GL_OES_texture_float
BUG=angleproject:1209
2015-12-03 16:40:51 -05:00
Catalin Badea
6c1a994648 Bug 1221992 - Fix test using GetMostRecentWindow from the child process. r=smaug 2015-12-03 23:19:29 +02:00
Catalin Badea
889982d7af Bug 1221992 - Prevent ServiceWorkerClients.OpenWindow from opening tabs in private mode windows. r=smaug 2015-12-03 23:19:29 +02:00
Morgan Phillips
817cebef63 Bug 1197095 - ensure that ForOfIterator does not pass arguments to next calls; r=evilpie
--HG--
extra : rebase_source : e08bea96808616797f4840ce064c7c1389269593
2015-12-03 12:23:41 -08:00
Ralph Giles
7723ca9104 Bug 1228721 - Conditionalize other webvtt navigator access. r=kinetik
Missed this in the previous commit.
2015-12-03 09:32:00 -08:00
Benjamin Bouvier
8a44551069 Bug 1229396: Templatize constants merging in the shared x86 masm; r=jandem
--HG--
extra : rebase_source : 924dd237eb655231842a96ff44bfdd61e5c86219
extra : histedit_source : ea1533c1aaf8897ff537fbbe6a8b1cc727cc7d32
2015-12-01 19:35:03 +01:00
Benjamin Bouvier
1bba39f692 Bug 1229396: Templatize Float/Double/SimdData in MacroAssembler-x86-shared.h; r=jandem
--HG--
extra : rebase_source : 88c53674d68586686b92d3ce215d649bb3c746ab
extra : histedit_source : cd0d7381f1a9a5087a4a174daa0d8aa369a47c68
2015-12-01 19:24:49 +01:00
Benjamin Bouvier
0c856aafcc Bug 1229396: Templatize get{Float,Double,SimdData}; r=jandem
--HG--
extra : rebase_source : b5529425719159dc9d08ba67c3c6add7da33d210
extra : histedit_source : 8c4ff3221b3374d976835ea9c88d4f0ee4f7ccff
2015-12-01 19:09:40 +01:00
Benjamin Bouvier
c1bb13250b Bug 1229396: Propagate OOM when pushing elements to the uses array; r=jandem
--HG--
extra : rebase_source : 1288ddfb31b5b71340d74d55f7b68ab7e49f52e2
extra : histedit_source : 11d523919e76ec641acacf0ccb659d2d02ede6e9
2015-12-01 18:28:51 +01:00
Jeff Muizelaar
303885a832 Bug 1207288. Ask ANGLE for the correct output version. r=jgilbert 2015-12-03 14:37:02 -05:00
Robert O'Callahan
0a93154cb8 Bug 927228 - Allow ImageLayerization for images using 'contain' and 'cover'. r=mstange
--HG--
extra : commitid : 7UUYvEXd4bI
extra : rebase_source : 861443bafb02c8b7ba9b890a6685846a242f651d
2015-12-03 17:36:40 +01:00
Markus Stange
21ce2dd228 Bug 1200611 - Size ImageLayers correctly for <img>s using object-fit. r=dholbert
This changes nsDisplayImage::GetDestRect and nsImageFrame::PredictedDestRect to return
the true dest rect of the image, without intersecting it with the image content box.
The only caller of these functions that actually requires a rectangle that's within
the image's content bounds is nsDisplayImage::GetOpaqueRegion, so I'm changing that
to intersect with the display item's bounds.
I'm pretty sure nsImageFrame::MaybeDecodeForPredictedSize() also prefers the unclipped
dest rect, because it cares about the scale at which the image is painted, and not
about which parts of the image are painted.

--HG--
extra : commitid : CDJJnfN7vF3
extra : rebase_source : 5b59f81ab60290f508b83db7e942559da621cb70
2015-12-03 15:20:10 +01:00
Chris Pearce
ff1b756ddd Bug 1230026 - Add test for 'webm' initDataType for ClearKey initData. r=gerald
--HG--
rename : dom/media/test/test_eme_key_ids_initdata.html => dom/media/test/test_eme_initDataTypes.html
2015-12-04 07:24:32 +13:00
Chris Pearce
9654972991 Bug 1230026 - Support 'webm' initDataType format for MP4 ClearKey initData. r=gerald 2015-12-04 07:24:11 +13:00
Maja Frydrychowicz
ec0bb89f43 Bug 1230079 - Update media-test revisions to use latest Marionette; r=me
--HG--
extra : commitid : BqIIREstHOS
extra : rebase_source : feb069bfc578a2453a88ca43f182520d7c87a844
2015-12-03 10:01:44 -05:00
Olli Pettay
c1987714e7 Bug 1229760 - CustomElement registry keeps strong reference to the unresolved elements, r=wchen 2015-12-03 18:21:04 +02:00
Geoff Brown
6dcf945cd4 Bug 1201018 - Catch exception in PersistTabsRunnable; r=rnewman 2015-12-03 09:10:46 -07:00
Jan Beich
16a744dd9f Bug 1229395 - Part 2 - Rely on MALLOC_H to provide function prototypes for MOZ_NATIVE_JEMALLOC. r=glandium 2015-12-01 16:54:44 +00:00
Jan Beich
93cec6dc70 Bug 1229395 - Part 1 - Unbreak MOZ_NATIVE_JEMALLOC after bug 1141079. r=glandium 2015-12-01 16:39:33 +00:00
Jan Beich
814acd7ab8 Bug 1228208 - Make sure ICU flags are prepended before system flags. r=glandium 2015-12-02 09:40:50 +00:00
Bogdan Postelnicu
797941ef16 Bug 1228342 - initialize mTainting by all constructors. r=bkelly 2015-12-03 02:39:00 +01:00
Mike Conley
51d7f5de3d Bug 1193838 - Allow ProfileGatherer to gather profiles from exiting processes. r=BenWa
--HG--
extra : commitid : IhyN838vNVU
extra : rebase_source : a91c87e3f9a087cd789bdb678651ab351357092a
2015-08-18 14:57:35 -04:00
Mike Conley
9811d5b26c Bug 1193838 - Expose ProfileGatherer as an nsISupports through nsIProfiler for process parent actors. r=BenWa
We need to let ContentParent and PluginModuleParent get a reference to the ProfileGatherer
during the window of time that we're profiling so that if they start to die (the actor is
starting to go away), they have a gatherer they can send their last profile data to.

--HG--
extra : commitid : LkcpDsiXmp0
extra : rebase_source : d1c9e6e7640ff759cef25920e2bc17c0484544bd
2015-08-12 14:20:26 -04:00
Mike Conley
0069816212 Bug 1193838 - Make ProfileGatherer exist during the lifetime of a GeckoSampler. r=BenWa
--HG--
extra : commitid : GutYRbuADgV
extra : rebase_source : dc291977bb7ef43a024e26c83abb47b75a82b841
2015-12-01 13:01:27 -05:00
Gian-Carlo Pascutto
cb4e1a83eb Bug 1228788 - Force QT device release to happen on the main thread. r=jesup 2015-12-03 15:11:15 +01:00
Gian-Carlo Pascutto
2e171e6a85 Bug 1227407 - Ensure Cameras is alive before calling through it. r=jesup 2015-12-03 15:11:07 +01:00
Nathan Froyd
ffeb7c7fe3 Bug 1229963 - use UniquePtr<T[]> instead of nsAutoArrayPtr<T> in dom/media/; r=cpearce 2015-12-02 18:07:59 -05:00