Commit Graph

21232 Commits

Author SHA1 Message Date
Mats Palmgren
ad335236f4 Bug 1015562 - [css-grid] Add a missing grid container check. Add a convenience function to check for flex/grid container frames and use that throughout this file. r=dholbert 2014-05-28 23:16:18 +00:00
Matt Woodrow
d885f6f084 Bug 854421 - Part 11: Use rAF instead of setTimeout in a test. r=roc 2014-05-29 09:45:23 +12:00
Matt Woodrow
fec6e48598 Bug 854421 - Part 10: Resume the refresh driver if we miss too many ticks. r=vlad 2014-05-29 09:45:06 +12:00
Matt Woodrow
693c4461d7 Bug 854421 - Part 9: Send DidComposite during ClientLayerManager destruction. r=roc 2014-05-29 09:44:30 +12:00
Matt Woodrow
52ef72d03d Bug 854421 - Part 8: Try find a 'root' refresh driver to see if it's blocked. r=vlad 2014-05-29 09:43:41 +12:00
Matt Woodrow
93fc6e9209 Bug 854421 - Part 7: Allocate and return transaction id's from the refresh driver when using OMTC to prevent over-production. r=roc 2014-05-29 09:43:39 +12:00
Matt Woodrow
f91ba49bae Bug 854421 - Part 6: Add gfx API for allocating transaction ids. r=roc 2014-05-29 09:42:17 +12:00
Matt Woodrow
233709588f Bug 854421 - Part 5: Add nsRefreshDriver API to track which transactions have completed composition. r=vlad 2014-05-29 09:42:17 +12:00
Matt Woodrow
3437067c1d Bug 854421 - Part 4: Flush out of date animations even if async animations are disabled since they could also be throttled by the refresh driver. r=dbaron 2014-05-29 09:42:16 +12:00
Matt Woodrow
1c3c37d4b3 Bug 854421 - Part 3: Add a way to detect PLayerTransaction objects that exist only for testing and won't composite. r=nical 2014-05-29 09:42:16 +12:00
Matt Woodrow
c39500bbbe Bug 854421 - Part 1: Add a transaction id number to DidComposite. r=nical 2014-05-29 09:42:14 +12:00
Xidorn Quan
1bca0056af Bug 1013160 - Remove padding suppressing mechanism of bullet. r=surkov, r=jfkthame 2014-05-27 18:09:00 -04:00
Mats Palmgren
c55cadef4f Bug 1015781 - part 11, Add more assertions in nsTableOuterFrame::SetInitialChildList/AppendFrames/InsertFrames. r=roc 2014-05-28 19:36:59 +00:00
Mats Palmgren
acb0dfb70d Bug 1015781 - part 10, Make nsHTMLButtonControlFrame::AppendFrames/InsertFrames/RemoveFrame DEBUG only. r=roc 2014-05-28 19:36:59 +00:00
Mats Palmgren
a5a0d65db4 Bug 1015781 - part 9, Make nsFieldSetFrame::SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame DEBUG only. r=roc 2014-05-28 19:36:59 +00:00
Mats Palmgren
7fb0cc9b2e Bug 1015781 - part 8, Make nsTableCellFrame::AppendFrames/InsertFrames/RemoveFrame DEBUG only. r=roc 2014-05-28 19:36:59 +00:00
Mats Palmgren
b4c312216c Bug 1015781 - part 7, Remove code for handling kAbsoluteList in nsBlockFrame::AppendFrames/InsertFrames/RemoveFrame (it's dead code). Make AppendFrames also handle kNoReflowPrincipalList, for symmetry with InsertFrames/RemoveFrame. r=roc 2014-05-28 19:36:59 +00:00
Mats Palmgren
29cc644e2a Bug 1015781 - part 6, Make nsViewportFrame::SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame DEBUG only. r=roc 2014-05-28 19:36:59 +00:00
Mats Palmgren
4b24598b55 Bug 1015781 - part 5, Make nsCanvasFrame::SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame DEBUG only. r=roc 2014-05-28 19:36:59 +00:00
Mats Palmgren
12dd57fd5c Bug 1015781 - part 4, Make nsColumnSetFrame::SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame DEBUG only and assert that the latter three are not called. r=roc 2014-05-28 19:36:58 +00:00
Mats Palmgren
9ec14c5bc9 Bug 1015781 - part 3, Fix whitespace and comments, and move some SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame methods so that they are together in the file. r=roc 2014-05-28 19:36:58 +00:00
Mats Palmgren
77c587f250 Bug 1015781 - part 1+2, Make the SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame methods return void (scripted change). Remove code handling the return values. r=roc 2014-05-28 19:36:58 +00:00
Kartikaya Gupta
374abb1cc6 Bug 1016260 - Label images as (TEST) or (REFERENCE) from the reftest log output. r=dbaron 2014-05-28 15:07:45 -04:00
Kartikaya Gupta
8cbb567065 Bug 1016251 - Ignore logcat output when parsing log. r=dbaron 2014-05-28 15:07:43 -04:00
Ed Morley
f36e5c58d7 Backed out changeset 827fe00eecc7 (bug 1013392) for reftest failures on Windows; CLOSED TREE 2014-05-28 18:20:09 +01:00
Markus Stange
2a7d8b0ce0 Bug 1013392 - Put APZ scrollbar annotations on the scrollbar thumb. r=roc 2014-05-28 16:14:43 +02:00
Markus Stange
917c3cf573 Bug 1012797 - Speed up rendering of linear gradients when only painting the uniform color beyond the gradient edge. r=roc 2014-05-28 16:14:42 +02:00
Markus Stange
c6f0165d4f Bug 1016569 - For 10.7 non-overlay scrollbars, draw the scrollbar track and the scrollbar thumb separately. r=smichaud 2014-05-28 15:22:16 +02:00
Markus Stange
74bc560506 Bug 1016535 - Mark resize-background.html as fuzzy due to different layerization of the textarea resizer.
--HG--
extra : rebase_source : db042068f14fd59ba2dea35d84633b98ef0b1233
2014-05-28 13:18:33 +02:00
Markus Stange
49c9fb2457 Bug 1009679 - Layerize the scrollbar thumb on desktop, too. r=roc 2014-05-28 12:52:13 +02:00
Jonathan Kew
97aa604da3 bug 458634 - part 3 - reftests for real small-cap support. r=jdaggett 2014-05-28 11:35:17 +01:00
Jonathan Kew
aa7a4adac7 bug 458634 part 1 - use OpenType 'smcp' feature to implement small-caps if available in the font. r=jdaggett 2014-05-28 11:35:12 +01:00
Markus Stange
7566e3aa50 Bug 1016525 - Ignore empty rects in AddTransformedBoundsToRegion. r=roc 2014-05-28 11:47:07 +02:00
Markus Stange
f21f2bc24c Bug 1016535 - Always give overlay scrollbars their own layers, even for subframes. r=roc 2014-05-28 11:46:10 +02:00
Brian Birtles
9cad5ef8d9 Bug 1004361 - Dispatch animationstart events as well when skipping entire animation intervals; r=dholbert 2014-05-28 16:51:50 +09:00
Brian Birtles
29b49734b6 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
70ade8a6ac 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
3962fb440f 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
ce31823aa2 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
adf45cac79 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
baaeda5bee 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
155c5f0edb 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
c9cad0a5c8 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
b0f0bab622 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
9f3b8d91b0 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
1fa5b12248 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
f06a971a86 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
2124e37b3a 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
466e829323 Merge inbound to m-c on a CLOSED TREE. 2014-05-27 16:23:41 -04:00
Kershaw Chang
ad73b6d2a0 Bug 1013094 - Rename browser.manifestURL and browser.homescreenURL, r=fabrice 2014-05-27 18:01:01 +08:00