Commit Graph

219 Commits

Author SHA1 Message Date
Brian Birtles
a8682cf4b0 Bug 1180125 part 8 - Dispatch transition events from refresh driver; r=dbaron
This patch causes transition events to be dispatched as a separate step after
sampling the transitions. Eventually this will allow us to sample transitions
from their timeline (independently of where they came from and in potentially
any order) by separating the concepts of sampling and event dispatch.
2015-07-29 10:57:40 +09:00
Brian Birtles
4b7b196882 Bug 1180125 part 1 - Queue and dispatch CSS animation events as a separate step; r=dbaron
This patch prepares the way for script-generated events by making
event dispatch a separate process that happens after sampling animations.
This will allow us to sample animations from their associated timeline
(removing the need for a further manager to tracker script-generated
animations).

Furthermore, once we sample animations from timelines the order in which they
are sampled is likely to be more or less random so by making event dispatch at
separate step, we have an opportunity to sort the events and dispatch in
a consistent and sensible order. It also ensures that event callbacks will
not be run until all animations (including transitions) have been updated
ensuring they see a consistent view of timing properties.

This patch only affects event handling for CSS animations. Transitions will
be dealt with in a subsequent patch.
2015-07-29 10:57:39 +09:00
Timothy Nikkel
3d1b0f4860 Bug 1106115. Ensure that we check if we should exit high precision timer mode in the refresh driver after we have processed all requestAnimateFrame callbacks. r=vlad
When the refresh driver ticks it clears the RAF callbacks (content asks for another RAF if it desires) but it wasn't checking if it should exit high precision mode at this point.

The previous code seemed like it was using the wrong model that a RAF is persistent until it is revoked. But that is not the case.
2015-07-30 14:32:19 -05:00
Carsten "Tomcat" Book
0aead8cf1c Backed out changeset 79bcd4f744c0 (bug 1180125) 2015-07-29 17:32:24 +02:00
Carsten "Tomcat" Book
328e06865c Backed out changeset 677efdac9819 (bug 1180125) 2015-07-29 17:31:57 +02:00
Brian Birtles
5699028cd0 Bug 1180125 part 8 - Dispatch transition events from refresh driver; r=dbaron
This patch causes transition events to be dispatched as a separate step after
sampling the transitions. Eventually this will allow us to sample transitions
from their timeline (independently of where they came from and in potentially
any order) by separating the concepts of sampling and event dispatch.
2015-07-29 10:57:40 +09:00
Brian Birtles
d78ef3ed78 Bug 1180125 part 1 - Queue and dispatch CSS animation events as a separate step; r=dbaron
This patch prepares the way for script-generated events by making
event dispatch a separate process that happens after sampling animations.
This will allow us to sample animations from their associated timeline
(removing the need for a further manager to tracker script-generated
animations).

Furthermore, once we sample animations from timelines the order in which they
are sampled is likely to be more or less random so by making event dispatch at
separate step, we have an opportunity to sort the events and dispatch in
a consistent and sensible order. It also ensures that event callbacks will
not be run until all animations (including transitions) have been updated
ensuring they see a consistent view of timing properties.

This patch only affects event handling for CSS animations. Transitions will
be dealt with in a subsequent patch.
2015-07-29 10:57:39 +09:00
Hiroyuki Ikezoe
583b1627dc Bug 1187811 - Remove unused epoch time from RunFrameRequestCallbacks. r=bkelly 2015-07-27 01:06:00 +02:00
Victor Porof
50c5257b1a Bug 1184376 - Remove nsDocShell::AddProfileTimelineMarker, r=smaug 2015-07-18 09:35:59 -04:00
Ryan VanderMeulen
744bb6cb5f Merge m-c to fx-team. a=merge 2015-07-20 16:05:14 -04:00
Boris Zbarsky
af8251d70c Bug 909154. Remove the prefixed mozRequestAnimationFrame and its accoutrements. r=bkelly 2015-07-20 10:14:24 -04:00
Victor Porof
0852533047 Bug 1183229 - Add a way to count the number of timeline-observed docshells outside of nsDocShell, r=smaug 2015-07-18 09:35:59 -04:00
Victor Porof
1ffb4e5d26 Bug 1183219 - Backed out last 5 changesets for bustage, r=me on a CLOSED TREE 2015-07-18 10:21:09 -04:00
Victor Porof
09ad10f9b5 Bug 1184376 - Remove nsDocShell::AddProfileTimelineMarker, r=smaug 2015-07-18 09:35:59 -04:00
Victor Porof
0dd3dc07a6 Bug 1183229 - Add a way to count the number of timeline-observed docshells outside of nsDocShell, r=smaug 2015-07-18 09:35:59 -04:00
Ting-Yu Lin
2b70a9054c Bug 1182963 - Use nsTHashTable::Iterator in nsRefreshDriver. r=njn 2015-07-15 17:05:06 +08:00
Xidorn Quan
cfdd028bdd Bug 1179939 - Avoid crash if we destroy the pres context during flushing style or layout. r=roc 2015-07-13 09:32:04 +10:00
Xidorn Quan
6af3e1136f Bug 1168705 part 1 - Add mechanism for dispatching events with refresh driver tick. r=roc,khuey 2015-07-02 19:12:31 +10:00
Andrea Marchesini
1a9521dd83 Bug 1177764 - Use nsTObserverArray in APZCCallbackHelper, r=kats, r=dholbert 2015-06-26 13:20:10 -07:00
Daniel Holbert
391394d86a Bug 1175245: Convert nsRefreshDriver.cpp to use range-based "for" loops. r=tn 2015-06-17 14:36:40 -07:00
Daniel Holbert
ad8b5d68fa Bug 1175228: Skip profiler_tracing call for requestAnimationFrame callbacks, if we don't have any callbacks. r=BenWa 2015-06-16 12:56:10 -07:00
Eric Rahm
29f00ac208 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-03 15:25:57 -07:00
Carsten "Tomcat" Book
e2f82674b8 Backed out 14 changesets (bug 1165515) for linux x64 e10s m2 test failures
Backed out changeset d68dcf2ef372 (bug 1165515)
Backed out changeset 7c3b45a47811 (bug 1165515)
Backed out changeset b668b617bef2 (bug 1165515)
Backed out changeset d0916e1283a2 (bug 1165515)
Backed out changeset ac4dc7489942 (bug 1165515)
Backed out changeset e9632ce8bc65 (bug 1165515)
Backed out changeset c16d215cc7e4 (bug 1165515)
Backed out changeset e4d474f3c51a (bug 1165515)
Backed out changeset d87680bf9f7c (bug 1165515)
Backed out changeset b3c0a45ba99e (bug 1165515)
Backed out changeset 9370fa197674 (bug 1165515)
Backed out changeset 50970d668ca1 (bug 1165515)
Backed out changeset ffa4eb6d24b9 (bug 1165515)
Backed out changeset 5fcf1203cc1d (bug 1165515)
2015-06-02 13:05:56 +02:00
Eric Rahm
18bd3de863 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 22:17:33 -07:00
Wes Kocher
bd796581dc Backed out 14 changesets (bug 1165515) for b2g mochitest-6 permafail CLOSED TREE
Backed out changeset 9b97e2aa2ed9 (bug 1165515)
Backed out changeset 150606c022a2 (bug 1165515)
Backed out changeset 4e875a488349 (bug 1165515)
Backed out changeset 467e7feeb546 (bug 1165515)
Backed out changeset d6b6cc373197 (bug 1165515)
Backed out changeset 0615265b593c (bug 1165515)
Backed out changeset fafd1dce9f08 (bug 1165515)
Backed out changeset d1df869245f9 (bug 1165515)
Backed out changeset 6876a7c63611 (bug 1165515)
Backed out changeset b7841c94a9a3 (bug 1165515)
Backed out changeset e5e3617f7c73 (bug 1165515)
Backed out changeset 39be3db95978 (bug 1165515)
Backed out changeset 0ec74176f8de (bug 1165515)
Backed out changeset 5b928dd10d71 (bug 1165515)
2015-06-01 17:57:58 -07:00
Eric Rahm
ae32743ed2 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 14:31:01 -07:00
Seth Fowler
79aa47c2fc Bug 1169880 - Recompute image visibility on a timer if layout or style flushes have occurred. r=tn 2015-05-29 23:50:51 -07:00
Eric Rahm
ccf1ec07c6 Bug 1165515 - Part 1: Convert PR_LOG to MOZ_LOG. r=froydnj 2015-05-21 13:22:04 -07:00
Eric Rahm
c5e63515bf Bug 1165518 - Part 2: Replace prlog.h with Logging.h. rs=froydnj 2015-05-19 11:15:34 -07:00
Jordan Santell
7e1d6ea6e0 Bug 1164338 - Move styles markers to be generated in DoProcessRestyles rather than when the Flush_Style queue is flushed. r=smaug,heycam 2015-05-18 16:03:04 -07:00
Eric Rahm
041335c76e Bug 1162673 - Part 1: Remove instances of #ifdef PR_LOGGING in layout. r=froydnj
PR_LOGGING is now always defined, we can remove #ifdefs checking for it.
2015-05-11 13:53:18 -07:00
Olli Pettay
33452bf0c4 Backout Bug 1149555 because of tresize regression, a=backout 2015-05-08 20:12:41 +03:00
Daniel Holbert
bfff160260 Bug 1161731: Remove newline characters from the ends of NS_WARNING messages in /gfx and /layout. r=mstange 2015-05-05 13:57:47 -07:00
Olli Pettay
d7937f8597 Bug 1149555 - Update resize event firing to follow the specs, dispatch right before rAF callbacks, r=dbaron 2015-05-05 17:56:01 +03:00
Seth Fowler
19622d34b7 Bug 1145439 (Part 1) - Throttle requestAnimationFrame for non-visible iframes. r=mstange,mchang 2015-04-21 09:44:40 -07:00
Brian Birtles
08fed93f82 Bug 1154615 part 2 - Rename PendingPlayerTracker to PendingAnimationTracker; r=jwatt
This patch also updates the method names on PendingAnimationTracker but leaves
a number of local variables which will be fixed in a subsequent patch.
2015-04-21 10:22:09 +09:00
Olli Pettay
4a4811d6c1 Backout Bug 930793 because of talos regressions,r=backout 2015-04-13 19:02:27 +03:00
Olli Pettay
0ff0615774 Bug 930793 - Remove favor performance mode, r=avih,roc 2015-04-12 23:08:55 +03:00
Ryan VanderMeulen
7739e3103c Backed out changeset 3366d180e8ee (bug 1145439) for test_scroll_event_ordering.html failures. 2015-04-09 22:59:10 -04:00
Seth Fowler
64b07ec589 Bug 1145439 - Throttle requestAnimationFrame for non-visible iframes. r=mstange,mchang 2015-04-09 17:52:23 -07:00
Wes Kocher
53cbe34051 Backed out changeset b0de9cef013b (bug 1145439) for Gu orange 2015-04-03 14:11:11 -07:00
Seth Fowler
a8cbe4b241 Bug 1145439 - Throttle requestAnimationFrame for non-visible iframes. r=mstange,mchang 2015-04-03 11:51:11 -07:00
Mason Chang
2429563580 Bug 1145327 Part 1: Skip refresh driver ticks if the timestamp is in the past. r=birtles,vlad 2015-03-24 14:28:34 -07:00
Ehsan Akhgari
33bb32f549 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Avi Halachmi
9d2d05c1d5 bug 1142079: disable refresh driver telemetry on Android. r=froydnj 2015-03-18 08:59:01 +02:00
Mason Chang
b35b505222 Bug 1128690 - Ensure Talos Performance Tests still work with silk enabled. r=mstange 2015-03-03 08:14:22 -08:00
pchang
b9cb47edd5 Bug 1137109 move the displaylist tracing inside nsViewManager::ProcessPendingUpdates, r=benwa, mattwoodrow 2015-03-03 18:01:16 +08:00
Mason Chang
888a2f246b Bug 1133526. Only enable vsync compositor or refresh driver if hardware vsync is enabled. r=kats 2015-02-23 12:04:11 -08:00
Nicholas Nethercote
6ee3666899 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 488e401ff87e31a2074c4108c4df0572d9536667
2015-02-09 14:34:50 -08:00
Andrew McCreight
8413cc973c Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00