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

40765 Коммитов

Автор SHA1 Сообщение Дата
Brian Birtles 6db9329b19 Bug 1004361 - Dispatch animationstart events as well when skipping entire animation intervals; r=dholbert 2014-05-28 16:51:50 +09:00
Brian Birtles f3593b3f8a Bug 1015803 - Align Layers' Animation.numIterations with AnimationTiming.mIterationCount; r=dholbert
In the IPC Animation struct used in layers code we have a member called
'numIterations' where 'iterate forever' is represented by -1.

In layout/style however we have an AnimationTiming struct with an
mIterationCount member where 'iterate forever' is represented by
NS_IEEEPositiveInfinity().

This patch renames 'numIterations' to 'iterationCount' and uses infinity to
represent 'iterate forever'.
2014-05-28 16:51:50 +09:00
Brian Birtles 7b6c6a2ca1 Bug 1004871 part 11 - Move ElementAnimation members closer together for readability and packing; r=dholbert
Also shuffle the initialization of members in
nsAnimationManager::BuildAnimations to roughly match the order in which they
are declared (with the exception that mPlayState needs to be set before calling
IsPaused() which is used to set mPauseStart).
2014-05-28 16:51:50 +09:00
Brian Birtles c2572e5d7b Bug 1004871 part 10 - Stop passing a fill mode of "both" to GetComputedTimingAt for throttled samples; r=dholbert
This was only needed when we were inspecting the returned time fraction but now
that we inspect the phase it's not necessary to force the fill mode to "both".
2014-05-28 16:51:50 +09:00
Brian Birtles 7265fd639b Bug 1004871 part 9 - Move ElementAnimations::GetPositionInIteration to ElementAnimation::GetComputedTimingAt; r=dholbert
This patch simply moves the code from ElementAnimations to ElementAnimation so
that it can later be used in transitions code and so we can later move
EnsureStyleRuleFor to ElementAnimation.
2014-05-28 16:51:50 +09:00
Brian Birtles cb967789c5 Bug 1004871 part 8 - Simplify ElementAnimations::GetEventsAt; r=dholbert
This patch shuffles the code in ElementAnimations::GetEventsAt to make it easier
to follow.

It also removes a check for whether or not the animation is paused.
Previously we would not dispatch events if the animation was paused and in its
active phase (but we would if the animation had finished). There doesn't seem to
be any reason for this. If the animation was paused between the last sample and
the current sample and the boundary of an iteration also occurred in that time
then I expect we should dispatch that event. Removing this check for the pause
state does not cause any tests fail.

Separating out the event logic here makes it clear that we do not dispatch start
events in the situation where one sample falls before the active interval and
one sample falls after it (filed as bug 1004361). This patch adds a comment to
this effect.
2014-05-28 16:51:49 +09:00
Brian Birtles 3ce242ee48 Bug 1004871 part 7 - Remove event queueing from GetPositionInIteration and do it in GetEventsAt; r=dholbert
This patch simply shifts the event-related code from GetPositionInIteration to
GetEventsAt. Although there are simplifications that could be done to
GetEventsAt, they are deferred to a subsequent patch so as not to obscure the
translation of code from one function to another.

As a result of moving event-related handling from GetPositionInIteration it no
longer needs to support different main-thread vs compositor modes.
2014-05-28 16:51:49 +09:00
Brian Birtles efbd693128 Bug 1004871 part 6 - Make GetPositionInIteration return a ComputedTiming object; r=dholbert
This patch makes ElementAnimations::GetPositionInIteration return
a ComputedTiming object instead of just a time portion (time fraction).

Since the ComputedTiming object includes phase information, we can fix those
parts of EnsureStyleRule and GetEventsAt that were temporarily using the time
portion to guess if the animation might have finished or not.
2014-05-28 16:51:49 +09:00
Brian Birtles 39567485e3 Bug 1004871 part 5 - Add ComputedTiming data structure; r=dholbert
This patch adds a ComputedTiming struct for storing the results of calculating
the timing properties of an animation at a given sample time.
2014-05-28 16:51:49 +09:00
Brian Birtles 39ab9bf043 Bug 1004871 part 4 - Move FillsForwards/FillsBackwards to AnimationTiming; r=dholbert
This patch moves the FillsForwards/FillsBackwards methods previously defined on
ElementAnimations to the structure contain the fill mode: AnimationTiming. It
also changes GetPositionInIteration to use these methods.
2014-05-28 16:51:49 +09:00
Brian Birtles 25641302e6 Bug 1004871 part 3 - Replace parameters to GetPositionInIteration with an AnimationTiming object; r=dholbert
This patch makes use of the AnimationTiming struct introduced in the previous
patch to simplify calls to ElementAnimations::GetPositionInIteration.
2014-05-28 16:51:49 +09:00
Brian Birtles 7d5b54b2f6 Bug 1004871 part 2 - Add AnimationTiming struct, to encapsulate animation timing parameters; r=dholbert
Introduces a struct to store timing parameters for passing to
GetPositionInIteration. In future this struct is expected to be expanded to
include other timing parameters as well (based roughly on Web Animations'
"Timing" interface, hence the name AnimationTiming).
2014-05-28 16:51:49 +09:00
Brian Birtles b4d589de64 Bug 1004871 part 1 - Factor event queuing out of EnsureStyleRuleFor; r=dholbert
This patch moves event queuing out of EnsureStyleRuleFor into a separate method.
This is a preparatory step towards making GetPositionInIteration into a more
generic method for calculating the current time fraction.

In order to achieve this, GetPositionInIteration needs to be able to calculate
the correct time portion for times outside the range [0, 1] even when it is not
passed a ElementAnimation object. Specifically, it needs the fill mode of the
animation to be passed in.

(Rather than using FillForwards/FillBackwards this patch just compares the
NS_STYLE_ANIMATION_FILL_MODE_* values directly but FillForwards/FillBackwards
are restored in a subsequent patch when they are added to the struct used to
lump the timing parameters together.)

There are a number of places where positionInIteration is used to determine if
the current sample occurs in the active phase or after. This is sub-optimal but
is fixed in a subsequent patch in this series.

The actual work of removing event queuing from GetPositionInIteration is
deferred to a subsequent patch in order to keep the changes as small as
possible. This patch simply makes separate calls to GetPositionInIteration for
interpolating and for event queuing.
2014-05-28 16:51:48 +09:00
Robert O'Callahan 755b99f4f6 Bug 1014252. Optimize clearing of textruns via RemoveInFlows. r=matspal
We're keeping the core idea that, before we remove the frames-to-be-destroyed
from the continuation chain, their textruns need to be disconnected/destroyed.
However, nsContinuingTextFrame::DestroyFrom tries to optimize when the
destroying frames that aren't mentioned in the userdata for the textrun, and
certain other conditions are met; we need a similar optimization here. It's
simpler here because the other conditions are definitely met, since all the
text for the frames being deleted has already been consumed and reflowed by
previous frames.

We don't need the TEXT_STYLE_MATCHES_PREV_CONTINUATION state bit anymore
because nsContinuingTextFrame::DestroyFrom will never see any textruns when
called via RemoveEmptyInFlows.

--HG--
extra : rebase_source : 6544f923499ef604d48ec15961716549dd25d279
2014-05-28 15:39:25 +12:00
Ryan VanderMeulen 4a08636d20 Merge inbound to m-c on a CLOSED TREE. 2014-05-27 16:23:41 -04:00
Kershaw Chang 71f5d5e40e Bug 1013094 - Rename browser.manifestURL and browser.homescreenURL, r=fabrice 2014-05-27 18:01:01 +08:00
Phil Ringnalda 7b41f9e58c Bug 981477 followup, skip one more newly-added XUL reftest on OOP b2g
CLOSED TREE
2014-05-26 23:20:30 -07:00
Carsten "Tomcat" Book 5f4bdd154a merge b2g-inbound to mozilla-central 2014-05-26 15:26:11 +02:00
Carsten "Tomcat" Book 2446abd3df merge fx-team to mozilla-central 2014-05-26 14:59:21 +02:00
Phil Ringnalda 5dab39b1df Bug 981477 followup, revert marking invalidation/transform-floating-point-invalidation.html?reverse as failing on OOP b2g since it passes 2014-05-24 13:54:28 -07:00
Wes Kocher 4fef3cddfb Merge m-c to b2g-inbound 2014-05-23 17:39:48 -07:00
Vincent Chen c53b5f77a8 Bug 981477 - Disable B2G emulator reftests that fail oop, r=ahal 2014-05-23 15:56:15 -04:00
Andrew Halberstadt f35863852f Bug 922680 - Enable out of process b2g emulator reftests, r=jgriffin 2014-05-23 15:55:54 -04:00
Mike Conley 5dc45fb402 Bug 978913 - Dragging e10s window between HiDPI and non-HiDPI displays causes text to be scaled incorrectly. r=smaug. 2014-05-23 10:36:50 -04:00
Andrew Halberstadt d2d43dc711 Bug 1009730 - Stop using /data/local/user.js in b2g unittests, r=jgriffin 2014-05-22 15:47:52 -04:00
Andrew Halberstadt 771a8e866a Bug 1014192 - Add command line option to toggle b2g reftests running oop, r=jgriffin 2014-05-22 14:43:51 -04:00
Frédéric Wang edbf6a6b34 Bug 1014601 - Add some OpenType MATH fonts into mathml.css. r=karl 2014-05-23 08:51:00 +02:00
Matt Woodrow a7a3cbd2ad Bug 1013771 - Dump nsDisplayTransform transforms during display list dumping. r=roc 2014-05-22 14:36:26 +12:00
Boris Zbarsky 1c698d2d65 Bug 999456. Page load events should not be cancelable. r=smaug 2014-05-22 00:23:51 -04:00
Timothy Nikkel 4ba9fdad31 Bug 1013780. Silly bustage fixup. 2014-05-21 23:17:56 -05:00
Timothy Nikkel 8b1933e50f Bug 1013780. Only create displayports during display list building if the display list is for painting to the screen. r=botond 2014-05-21 23:14:49 -05:00
Masayuki Nakano 51a0e830ec Bug 1009388 part.4 nsMenuFrame should use WidgetEvent::AccelModifier() for consistency with other modules r=smaug+enndeakin 2014-05-22 13:06:06 +09:00
Birunthan Mohanathas 952b834c76 Bug 869836 - Part 9: Use AssignLiteral instead of `Assign(NS_LITERAL_STRING(...))`. r=ehsan 2014-05-22 06:48:52 +03:00
Birunthan Mohanathas 59b969f7f4 Bug 869836 - Part 8: Use `Append('c')` instead of `Append("c")`. r=ehsan 2014-05-22 06:48:52 +03:00
Birunthan Mohanathas aea8617b92 Bug 869836 - Part 7: Use AppendLiteral instead of Append where possible. r=ehsan 2014-05-22 06:48:51 +03:00
Birunthan Mohanathas 58641805f1 Bug 869836 - Part 6: Use EqualsLiteral instead of Equals where possible. r=ehsan 2014-05-22 06:48:51 +03:00
Birunthan Mohanathas 189593520f Bug 869836 - Part 4: Use EqualsLiteral instead of `Equals(NS_LITERAL_STRING(...))`. r=ehsan 2014-05-22 06:48:51 +03:00
Birunthan Mohanathas 0e6f3a6562 Bug 869836 - Part 3: Use `Append('c')` instead of `AppendLiteral("c")`. r=ehsan 2014-05-22 06:48:51 +03:00
Birunthan Mohanathas 19bebbc68d Bug 869836 - Part 2: Use AppendLiteral instead of `Append(NS_LITERAL_STRING(...))`. r=ehsan 2014-05-22 06:48:50 +03:00
Birunthan Mohanathas a5ab25c973 Bug 869836 - Part 1: Use EqualsLiteral instead of `== NS_LITERAL_STRING(...)`. r=ehsan 2014-05-22 06:48:50 +03:00
Wes Kocher 8f123848f9 Backed out changeset 91d280c835b2 (bug 1013771) for b2g osx build bustage 2014-05-21 20:00:33 -07:00
Matt Woodrow 405762e159 Bug 1013771 - Dump nsDisplayTransform transforms during display list dumping. r=roc 2014-05-22 14:36:26 +12:00
Matt Woodrow 24c80a523e Bug 1013536 - Clip paint flashing area when using single-rect painting mode. r=Bas 2014-05-22 14:36:26 +12:00
Mats Palmgren 8fd9a731a4 Bug 1009329 - Make crashtests/724978.xhtml trigger fewer reflows to not timeout. r=dholbert 2014-05-13 05:09:00 -04:00
Jared Wein 255e8d6ab6 Bug 1000513 - Allow menuitems in menupopups to be children of a menugroup for horizontal arrangement. r=enn
--HG--
extra : rebase_source : 9e6f99b95e48f26aae2c3f7b8ee436781451a299
2014-05-12 16:23:12 -04:00
Wes Kocher d0cf640a86 Merge m-c to inbound 2014-05-22 17:55:00 -07:00
Daniel Holbert 5b3b530dc0 backout c3f1ab75ea51 (bug 421436) for regressing bug 439462 2014-05-22 15:10:20 -07:00
Ehsan Akhgari 3b06c0a3d9 Bug 741295 - Part 0.1: Undo the windows.h damage in nsObjectFrame.h 2014-05-22 18:09:03 -04:00
Ryan VanderMeulen f8299a3c22 Backed out changeset f1068bf18e64 (bug 978913) for bustage on most platforms.
CLOSED TREE
2014-05-22 16:39:46 -04:00
Mike Conley c0e682d27d Bug 978913 - Dragging e10s window between HiDPI and non-HiDPI displays causes text to be scaled incorrectly. r=smaug. 2014-05-22 12:07:27 -04:00