Commit Graph

275514 Commits

Author SHA1 Message Date
Bogdan Postelnicu
8788be63f1 Bug 1230118 - added asserts on aOwner and aOwner->Elm() r=surkov 2015-12-03 14:07:43 -08:00
Wes Kocher
4959875fde Backed out 2 changesets (bug 1221992) for windows debug assertions in browser_perf-categories-js-calltree.js
Backed out changeset bcd90e591038 (bug 1221992)
Backed out changeset 6affaa386b9b (bug 1221992)
2015-12-03 15:56:59 -08:00
Jeff Gilbert
3621b07f35 Bug 1228711 - Cubemap images must be square. - r=benwa 2015-12-03 15:38:06 -08:00
Wes Kocher
eeb9653e5f 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)
2015-12-03 15:38:04 -08:00
Brian Birtles
440477fffb 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
78ea1f39f1 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
c4a38c62e4 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
d4b16758ed 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
28f919c1db Bug 1226118 part 12a - Make RestyleManager::GetMaxAnimationGenerationForFrame used frame-based GetAnimationCollection; r=dholbert 2015-12-04 08:34:17 +09:00
Brian Birtles
94942ad5a0 Bug 1226118 part 11 - Remove CommonAnimationManager::GetAnimationsForCompositor; r=dholbert 2015-12-04 08:34:17 +09:00
Brian Birtles
0f4369941d Bug 1226118 part 10 - Use EffectCompositor::GetAnimationsForCompositor in nsLayoutUtils; r=dholbert 2015-12-04 08:34:17 +09:00
Brian Birtles
5a49c44773 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
a42b96a2e8 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
91cd4d763c 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
3a6bdc2a0f 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
9529226dc0 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
553a38bc84 Bug 1226118 part 4 - Use EffectSet in ActiveLayerManager's animated-scale checks; r=dholbert 2015-12-04 08:32:53 +09:00
Brian Birtles
1b8a387939 Bug 1226118 part 3 - Use EffectSet in CommonAnimationManager::ClearIsRunningOnCompositor; r=hiro, r=dholbert 2015-12-04 08:32:53 +09:00
Brian Birtles
d1b3fba7c3 Bug 1226118 part 2 - Use EffectSet in nsLayoutUtils animation functions; r=dholbert 2015-12-04 08:32:52 +09:00
Brian Birtles
13c98ad403 Bug 1226118 part 1 - Add EffectSet::GetEffectSet(const nsIFrame*); r=dholbert 2015-12-04 08:32:52 +09:00
Henrik Skupin
4924b91ce1 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
562f6c2af7 Bug 1116478 - Open web content handlers in the proper tab in e10s. r=billm 2015-12-03 15:04:28 -08:00
Maja Frydrychowicz
b6adad677d Bug 1229467 - Include wptserve in common.tests.zip; r=gps 2015-12-01 15:45:41 -05:00
Bogdan Postelnicu
8718be8320 Bug 1230118 - added asserts on aOwner and aOwner->Elm() r=surkov 2015-12-03 14:07:43 -08:00
Andrew McCreight
de12e4d3ca Bug 1230110 - HTMLImageElement should call its superclass's DestroyContent(). r=smaug 2015-12-03 14:03:12 -08:00
Nicholas Nethercote
ca0f34e019 Bug 1229665 - Convert widget clip regions to LayoutDevicePixels. r=botond. 2015-12-02 14:32:55 -08:00
Jeff Muizelaar
3add85f0a5 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
747c6ff6f1 Bug 1221992 - Fix test using GetMostRecentWindow from the child process. r=smaug 2015-12-03 23:19:29 +02:00
Catalin Badea
d15034e4eb Bug 1221992 - Prevent ServiceWorkerClients.OpenWindow from opening tabs in private mode windows. r=smaug 2015-12-03 23:19:29 +02:00
Morgan Phillips
66a920138f Bug 1197095 - ensure that ForOfIterator does not pass arguments to next calls; r=evilpie 2015-12-03 12:23:41 -08:00
Ralph Giles
2444684e15 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
2c3bb648e4 Bug 1229396: Templatize constants merging in the shared x86 masm; r=jandem 2015-12-01 19:35:03 +01:00
Benjamin Bouvier
3658a106e8 Bug 1229396: Templatize Float/Double/SimdData in MacroAssembler-x86-shared.h; r=jandem 2015-12-01 19:24:49 +01:00
Benjamin Bouvier
b84e524b8c Bug 1229396: Templatize get{Float,Double,SimdData}; r=jandem 2015-12-01 19:09:40 +01:00
Benjamin Bouvier
c8d5190bec Bug 1229396: Propagate OOM when pushing elements to the uses array; r=jandem 2015-12-01 18:28:51 +01:00
Jeff Muizelaar
bad50634d0 Bug 1207288. Ask ANGLE for the correct output version. r=jgilbert 2015-12-03 14:37:02 -05:00
Robert O'Callahan
b405229968 Bug 927228 - Allow ImageLayerization for images using 'contain' and 'cover'. r=mstange 2015-12-03 17:36:40 +01:00
Markus Stange
d5de0be854 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.
2015-12-03 15:20:10 +01:00
Chris Pearce
fd772594a7 Bug 1230026 - Add test for 'webm' initDataType for ClearKey initData. r=gerald 2015-12-04 07:24:32 +13:00
Chris Pearce
00d02d5074 Bug 1230026 - Support 'webm' initDataType format for MP4 ClearKey initData. r=gerald 2015-12-04 07:24:11 +13:00
Maja Frydrychowicz
5445d51671 Bug 1230079 - Update media-test revisions to use latest Marionette; r=me 2015-12-03 10:01:44 -05:00
Olli Pettay
dd00989648 Bug 1229760 - CustomElement registry keeps strong reference to the unresolved elements, r=wchen 2015-12-03 18:21:04 +02:00
Geoff Brown
76eb834c6c Bug 1201018 - Catch exception in PersistTabsRunnable; r=rnewman 2015-12-03 09:10:46 -07:00
Jan Beich
76d627ed5a 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
7053df31b9 Bug 1229395 - Part 1 - Unbreak MOZ_NATIVE_JEMALLOC after bug 1141079. r=glandium 2015-12-01 16:39:33 +00:00
Jan Beich
6263cbf48c Bug 1228208 - Make sure ICU flags are prepended before system flags. r=glandium 2015-12-02 09:40:50 +00:00
Bogdan Postelnicu
c28b473567 Bug 1228342 - initialize mTainting by all constructors. r=bkelly 2015-12-03 02:39:00 +01:00
Mike Conley
b1c5d7758c Bug 1193838 - Allow ProfileGatherer to gather profiles from exiting processes. r=BenWa 2015-08-18 14:57:35 -04:00
Mike Conley
374f39cebf 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.
2015-08-12 14:20:26 -04:00
Mike Conley
a4a9e691fa Bug 1193838 - Make ProfileGatherer exist during the lifetime of a GeckoSampler. r=BenWa 2015-12-01 13:01:27 -05:00