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

42959 Коммитов

Автор SHA1 Сообщение Дата
Jed Davis f6824d8a0c Bug 1204626 - Reparent PWebBrowserPersistDocument to PContent. r=billm
A reference to a document (and the act of saving it) can outlive the
browser tab it was originally loaded in, and this needs to be reflected
in IPC in order to avoid MsgRouteError crashes; see bug for more info.

Note that we still need to pass the PBrowser when starting persistence,
because that's the only handle the parent has on the top-level document;
see comments in this patch for more info.

Also makes TabChildBase::GetDocument public, because it's just a wrapper
around WebNavigation() which is already public, to avoid code duplication.
2015-09-21 14:54:00 +02:00
Wes Kocher 69c6f1bd2f Merge inbound to central, a=merge 2015-09-29 15:35:49 -07:00
Wes Kocher df21b43278 Backed out changeset d0e88c95f3c5 (bug 1167100) for crashes a=backout 2015-09-29 10:25:20 -07:00
Carsten "Tomcat" Book b63d7b04fc merge mozilla-inbound to mozilla-central a=merge 2015-09-29 12:00:25 +02:00
Nigel Babu 2ea092cec1 Backed out changeset 5f02a9d37e56 (bug 1208622) for windows build bustage
CLOSED TREE
2015-09-29 12:10:45 +05:30
Nigel Babu 8852703ac2 Backed out changeset 37c89ad82a13 (bug 1207090) for hazards bustage ON A CLOSED TREE
--HG--
extra : rebase_source : 25a1aed587390254f54c73f87451440dd32ed4f3
extra : amend_source : 1210caccf9a96a464febeac9a1ee11ca0388f490
2015-09-29 11:42:44 +05:30
Bobby Holley 46f21127a1 Bug 1208622 - Separate API entry points. r=bz 2015-09-28 22:51:30 -07:00
Kit Cambridge a958ff06d5 Bug 1209361 - Add missing includes to `dom/base`. r=mccr8
--HG--
extra : commitid : 3rsv1VgB0jB
extra : rebase_source : 677d913e8a0e0955963bbdb65d0e759e9148df7a
2015-09-28 21:31:56 -07:00
Brian Birtles 7f205b8334 Backout changeset 4867b986b2c7 and b4185d03b6d5 (bug 1180589) for bustage on CLOSED TREE 2015-09-29 13:50:23 +09:00
Wes Kocher e03ead4753 Merge m-c to b2ginbound, a=merge 2015-09-28 16:32:01 -07:00
Tim Chien c251097169 Bug 1160923 - [B2G] Waiting for explicit mozContentEvent before sending out mozChromeEvents, r=vingtetun, f=ochaumeau 2015-09-28 09:27:49 -07:00
Carsten "Tomcat" Book 363e40e298 merge mozilla-inbound to mozilla-central a=merge 2015-09-28 14:13:24 +02:00
Carsten "Tomcat" Book fc4b2033ce merge fx-team to mozilla-central a=merge 2015-09-28 14:10:50 +02:00
Carsten "Tomcat" Book 2deb7b2220 merge b2g-inbound to mozilla-central a=merge 2015-09-28 14:08:18 +02:00
Nigel Babu 85f8d8c65e Backed out changeset ee27fc2f6a1d (bug 1208687) for W(4) bustage
ON A CLOSED TREE
2015-09-28 12:23:36 +05:30
Nigel Babu b8f64f3b1e Backed out changeset 967c555a595c (bug 1208289) for B2G build bustage 2015-09-28 12:22:43 +05:30
Nigel Babu 4013fbd739 Backed out changeset efcfe0c08c24 (bug 1208289) for B2G build bustage 2015-09-28 12:22:34 +05:30
Kyle Huey ea0bfdd061 Bug 1208687: Only discard events from the outermost queue. r=ehsan
When workers shut down we discard the event queue rather than running it to completion.  Originally workers managed their event queue themselves and would simply iterate through the array of events and cancel them all.  After bug 914762 this was done by setting a (thread-)global "canceling" flag and then calling NS_ProcessPendingEvents.  But this neglects that a shut down request can be received while the worker is in a sync queue.  In this case, calling NS_ProcessPendingEvents will process any events pending in the sync queue, which is *not* the queue we need to cancel.

The fix is, if we are in a sync queue when NotifyInternal is called, to defer clearing the queue until the top-most sync queue is destroyed and we are about to return to the regular event queue.  Only then can we call NS_ProcessPendingEvents to clear out the queue.  Because we can never process any events from this queue while sync queues are active, the timing of the mass cancellation is unchanged from the perspective of events in the regular queue.

--HG--
extra : rebase_source : f67fbee27c0751068a4e7aaf692cbfc1d3c9aa7c
2015-09-27 21:57:36 -07:00
Chris Pearce faefcaba27 Bug 1208289 - Log outstanding frames in GMP DrainComplete() and detect dropped ResetComplete. r=jwwang
* * *
Bug 1208289 - Yet another bustage fix. r=bustage
2015-09-28 17:57:10 +13:00
Chris Pearce 8493a808b6 Bug 1208289 - Add SimpleTimer to make setting timeouts in C++ easy. r=jwwang 2015-09-28 17:57:10 +13:00
Chris Pearce 0f328b5200 Bug 1208348 - Check whether DirectShow can decode MP3 before assuming it will work. r=jya 2015-09-28 17:57:10 +13:00
Olli Pettay cca9c7578b bug 1072150, backout the release assertion which changed the ancient requirements of nsContentUtils::IsCallerChrome(), a=backout 2015-09-27 00:52:26 +03:00
Nicholas Nethercote f523d5c4ba Bug 1207931 - Remove no-longer-needed SetBackgroundColor IPC message. r=mattwoodrow. 2015-09-24 19:03:33 -07:00
Nicholas Nethercote 634396125b Bug 1208283 (part 5) - Pass a gfx::Color instead of a gfxRGBA to PaintRectToSurface(). r=jwatt.
--HG--
extra : rebase_source : 6d5e72d5a5579d445a77f090b357720a71654e99
2015-09-24 18:32:40 -07:00
Chris Pearce 947b4b02c2 Bug 1208348 - Backout 9f73b03732fc 2015-09-28 17:11:24 +13:00
Brian Birtles 16b5c82dc9 Bug 1207951 - Fix buggy logic in ComposeStyle; r=heycam 2015-09-28 12:38:41 +09:00
Brian Birtles 820618158a Bug 1195180 part 9 - Add test for seeking finished -> paused; r=heycam
This patch adds a test that even when we seek from being irrelevant to another
state where we no longer need ticks that we still spin the refresh driver
in order to queue and dispatch an animationstart event.
2015-09-28 12:38:41 +09:00
Brian Birtles 36c16f7957 Bug 1195180 part 8 - Tick animations from their timeline; r=heycam 2015-09-28 12:38:41 +09:00
Brian Birtles 68cafe83b4 Bug 1195180 part 7 - Store animations in an array; r=heycam
Currently AnimationTimeline stores animations in a hashmap which means that
when we go to iterate over those animations to tick them we will visit them
in an order that is non-deterministic.

Although many of the observable effects of ticking an animation (e.g. CSS
animation/transition events, mutation observer events) are later sorted so that
the result does not depend on the order in which animations are ticked, this is
not true for in all cases. In particular, the order in which Animation.finished
promises are resolved will vary depending on the order in which animations are
ticked. Likewise, for Animation finish events.

Furthermore, it seems generally desirable to have a deterministic order for
visiting animations in order to aid reproducing bugs.

To achieve this, this patch switches the storage of animations in
AnimationTimeline to use an array instead. However, when adding animations
we need to determine if the animation to add already exists. To this end we
also maintain a hashmap of the animations so we can quickly determine if
the animation to add is a duplicate or not.
2015-09-28 12:38:41 +09:00
Brian Birtles ae189d2746 Bug 1195180 part 6 - Lazily remove animations from timelines; r=heycam
Now that DocumentTimeline observes the refresh driver we can use regular
ticks to remove unnecessary animations.

We do this because in a subsequent patch, in order to provide deterministic
enumeration order when ticking animations, we will store animations in an array.
Removing an arbitrary element from an nsTArray is O(n) since we have to search
for the array index first, or O(log n) if we keep the array sorted. If we
destroy a subtree containing n animations, the operation effectively becomes
O(n^2), or, if we keep the array sorted, O(n log n). By destroying during a
tick when we are already iterating over the array, however, we will be able
to do this much more efficiently.

Whether an animation is newly associated with a timeline, or is disassociated
from a timeline, or if it merely has its timing updated, the behavior
implemented in this patch is to simply make sure we are observing the refresh
driver and deal with the animation on the next tick.

It might seem that we could be a lot more clever about this and, for example, if
an animation reports NeedsTicks() == false, not start observing the refresh
driver. There are various edge cases however that need to be taken into account.
For example, if a CSS animation is finished (IsRelevant() == false so that
animation will have been removed from the timeline), and paused
(NeedsTicks() == false), and we seek it back to the point where it is relevant
again, we actually need to observe the refresh driver so that it can dispatch an
animationstart event on the next tick. A test case in a subsequent patch tests
this specific situation.

We could possibly add logic to detect if we need to fire events on the next tick
but the complexity does not seem warranted given that even if we unnecessarily
start observing the refresh driver, we will stop watching it on the next tick.

This patch removes some rather lengthy comments from
AnimationTiming::UpdateTiming. This is, in part, because of the behavior
described above that makes these comments no longer relevant. Other parts are
removed because the Web Animations specification has been updated such that a
timeline becoming inactive now pauses the animation[1] so that the issue
regarding detecting timelines becoming active/inactive no longer applies
since animations attached to an inactive timeline remain "relevant".

[1] https://w3c.github.io/web-animations/#responding-to-a-newly-inactive-timeline
2015-09-28 12:38:41 +09:00
Brian Birtles 4ba3abb7d3 Bug 1195180 part 5 - Synchronize refresh driver observing with presshell creation/teardown; r=heycam 2015-09-28 12:38:40 +09:00
Brian Birtles 615fb3a648 Bug 1195180 part 4 - Unregister from refresh observer when there are no animations needing ticks; r=heycam 2015-09-28 12:38:40 +09:00
Brian Birtles 5e9be9d40a Bug 1195180 part 3 - Add flag to record if DocumentTimeline is observing the refresh driver; r=heycam 2015-09-28 12:38:40 +09:00
Brian Birtles a12e08d26e Bug 1195180 part 2 - Make DocumentTimeline inherit from nsARefreshObserver; r=heycam 2015-09-28 12:38:40 +09:00
Brian Birtles 534ef7e86c Bug 1195180 part 1 - Add Animation::NeedsTicks; r=heycam
Adds a method to determine if an animation requires refresh driver ticks.
We will use this function later to determine when it is safe to stop
observing the refresh driver.
2015-09-28 12:38:40 +09:00
Chris Pearce e30c6e5fa9 Bug 1208289 - Backout. r=backout 2015-09-28 15:37:18 +13:00
Chris Pearce 771aa6c979 Bug 1208289 - Yet another-another bustage fix. r=bustage 2015-09-28 15:16:13 +13:00
Chris Pearce 3b2e225a56 Bug 1208289 - Yet another bustage fix. r=bustage 2015-09-28 14:26:44 +13:00
Chris Pearce 593512f49b Bug 1208289 - Bustage fix. r=bustage 2015-09-28 14:21:21 +13:00
Chris Pearce 8ded475d58 Bug 1208289 - Log outstanding frames in GMP DrainComplete() and detect dropped ResetComplete. r=jwwang 2015-09-28 14:03:21 +13:00
Chris Pearce 4e35212ee5 Bug 1208289 - Add SimpleTimer to make setting timeouts in C++ easy. r=jwwang 2015-09-28 14:03:15 +13:00
Chris Pearce 25a4f614a7 Bug 1208348 - Check whether DirectShow can decode MP3 before assuming it will work. r=jya 2015-09-28 14:03:04 +13:00
Jean-Yves Avenard 57037c7820 Bug 1208917: Fix VP9 decoding with recent version of libav. r=kentuckyfriedtakahe
Recent libav do not require a codec parser to decode VP9.
2015-09-28 10:30:03 +10:00
Nicholas Nethercote 342466f878 Bug 1208345 - Remove gfxContext::GraphicsOperator. r=jwatt.
Also...

- Rename various "operator" identifiers as "op" to match |CompositionOp|.

- Rename |nsBackgroundLayerState::mCompositingOp| as |mCompositionOp| to match
  |CompositionOp|.

- Remove some deprecated functions that are no longer needed.

--HG--
extra : rebase_source : 74e9b6eecf6f442e27cc18fd4ae6f668a45188aa
2015-09-24 22:38:58 -07:00
JW Wang 74504dc15a Bug 1207915 - Apply the fix of bug 1052206 to DecodedStream. r=roc. 2015-09-28 05:46:47 +08:00
Ehsan Akhgari ad3a3c6527 Bug 1208892 - Replace the uses of memset to clean up data in GMPLoader::Load with an inline memset; r=cpearce
This is found by Viva64.  Because the data we're memsetting to 0
may not be used after this point, the compiler can eliminate the
memsets.  We need to roll our own inline memset that cannot be
optimized away.
2015-09-27 17:46:04 -04:00
Karl Tomlinson e8c9471dea bug 1208327 make enum AudioContextOperation strongly typed and forward declare instead of including AudioContext.h r=roc
AudioContext.h is now exported only under mozilla.dom.

--HG--
extra : rebase_source : 7fc0a25a6bb8efe497a0e779dca2df5d7e3397b1
2015-09-25 08:49:03 +12:00
Brian Grinstead d23fa8b95a Bug 1034110 - Provide a way to observe mutations for ::before/::after pseudo elements;r=smaug
Adds a new chrome-only MutationObserverInit option called nativeAnonymousChildList
that will cause a mutation to fire when a native anonymous root is bound or unbound
2015-09-24 08:23:32 -07:00
Kaustabh Datta Choudhury 5270e212b7 Bug 1162003 - Enable run-by-dir mode on Fx desktop mac debug platform and re-enable a few tests. r=jmaher 2015-09-28 10:54:22 -04:00
James Willcox 158374ed78 Bug 1182665 - Adjust tile sizes depending on the screen size r=nical 2015-09-28 09:36:57 -05:00