Commit Graph

22465 Commits

Author SHA1 Message Date
Ed Morley
f69a81b897 Backed out changeset d24b367f3ac4 (bug 1022818) 2014-08-13 16:30:50 +01:00
Ed Morley
bc53ab2817 Backed out changeset e40ffcb782f8 (bug 1022818) 2014-08-13 16:30:46 +01:00
Kearwood (Kip) Gilbert
3ce8574be4 Bug 1022818 - Part 3: Tests for CSSOM-View Smooth-Scroll DOM API Methods and MSD Animation. r=bz, r=roc
- Verify that instant scroll-behavior is synchronous.
- Verify that smooth scroll-behavior is asynchronous.
- Verify that smooth scroll-behavior is triggered by CSSOM-View DOM methods.
- Verify that instant scroll-behavior interrupts smooth scroll-behavior
  animation.
- Verify that smooth scroll-behavior is not framerate dependant.
- Verify that smooth scroll-behavior physics simulations used by animations
  converge and allow the animation to reach completion.
- CSSOM-View scroll-behavior smooth scroll animations must produce the same
  results indendently of frame-rate:
  - Reference samples of scroll position for each frame are captured from a
    smooth scroll at 120fps for variations in X-Distance, Y-Distance.
  - Test samples are captured from an animation with the same parameters at
    varying framerates.
  - Variance in position at each sampled interval is compared to the 120fps
    reference.  To pass the test, the position of each test sample must match
    the reference position with a tolerance of one test sample frame's range
    of motion.  This range of motion is calculated by the position delta of
    the reference samples one test frame duration before and after.
  - The duration of the reference sample animation and the test sample
    animation must match within 1 frame to pass the test.
  - The simulation driving the animation must converge and stop on the
    destination position for the test to pass.
2014-07-25 14:20:45 -07:00
Kearwood (Kip) Gilbert
a646bb430e Bug 1022818 - Part 2: Implement Smooth Scrolling. r=bz
- Updated ScrollTo method in nsGlobalWindow to accept a
  mozilla::dom::ScrollOptions parameter to select between the instant
  and smooth MSD motion.
- Updated WebIDL binding boilerplate scrolling functions in nsGlobalWindow
  to pass the correct value of mozilla::dom::ScrollBehavior to the
  implementation and functions, activating smooth scrolling.
- These functions will need to be updated again to support the scroll-behavior
  CSS property in Bug 1010538.
2014-07-21 11:19:00 -04:00
Jonathan Watt
143b143594 Bug 1052999 - Stop using FOR_PAINTING in nsSVGForeignObjectFrame::GetInvalidRegion. r=longsonr 2014-08-13 13:36:41 +01:00
Jonathan Watt
e70bd4bb06 Bug 1052913 - Clean up some nsSVGClipPathFrame code and add some documentation to make it clearer. r=dholbert 2014-08-13 13:36:32 +01:00
Jonathan Watt
f428c444a0 Bug 1052910 - Clean up some includes. r=dholbert 2014-08-13 13:34:53 +01:00
Jonathan Watt
142be5700b Bug 1052915 - Stop unnecessarily calling nsSVGUtils::AdjustMatrixForUnits() over and over in nsSVGClipPathFrame. r=longsonr 2014-08-13 13:34:52 +01:00
Julian Seward
f3e97389f2 Bug 1051527 - BackgroundClipState::mHasRounded corners is used uninitialised. r=matt.woodrow.
--HG--
extra : rebase_source : e21c5b9fb2c6ad380f7179d43292bbca032f9c5f
2014-08-13 11:26:33 +02:00
Brian Birtles
51fed648c3 Bug 1052147 - Initialize AnimationPlayer::mPlayState to running state; r=dbaron
The assertion in nsTimeStamp::operator >= occasionally fails due to a null RHS
timestamp when called from AnimationPlayer::GetCurrentTimeDuration, which, in
turn, is called from AnimationPlayer::SetSource.

The issue appears to be that we're not correctly initializing
AnimationPlayer.mPlayState. This value can be running (0) or paused (1) but we
only ever compare against the paused state (i.e. every other value is
effectively treated as running). If we don't initialize this we can end
up in the paused state but with mPauseStart not set to a valid (non-null)
TimeStamp. This creates an inconsistent state since we assume that when we're
paused mPauseStart is non-null, hence the assertion fails.

This gets tickled because, since bug 1040543, we call
AnimationPlayer::SetSource from nsAnimationManager::BuildAnimations *before* we
set mPlayState and mPauseStart.

This patch initializes mPlayState to the running state so we don't accidentally
end up in an inconsistent state.

It also removes some (now unnecessary) initialization of mPlayState and
mPauseStart from nsTransitionManager::ConsiderStartingTransition.

In future we could also consider reworking nsAnimationManager::BuildAnimations
so that we call SetSource on the new animation player *after* setting up its
play state. That may be more correct and would further avoid this problem but
may not be necessary since all that code is likely to change in the near future.
2014-08-13 18:21:45 +09:00
Matt Woodrow
19f7ba2da1 Bug 1019693 - Always use tiled thebes layers when we're a descendant of a layer with a critical display port so that the low-resolution drawing area is handled correctly. r=tn
--HG--
extra : rebase_source : 0dabb9c73d65414979945d0cc46ba8c89d86b90e
2014-08-08 09:12:01 +12:00
Trevor Saunders
434a7cf97c bug 1016545 - Provide an iterator that iterates over all children of an element r=bz 2014-07-16 14:41:57 -04:00
Martijn Wargers
174ea37131 Bug 1032878 - Fix for various failing mochitest-plain/-chrome tests. r=jmaher, r=akachkach, r=surkov, r=cpearce 2014-08-10 20:03:50 -07:00
Ms2ger
f069be120d Bug 1048780 - Call the standard matches() rather than the proprietary mozMatchesSelector(); r=jst
This also includes a test that mozMatchesSelector is still exposed and works.

--HG--
rename : js/xpconnect/tests/chrome/test_mozMatchesSelector.xul => js/xpconnect/tests/chrome/test_matches.xul
rename : js/xpconnect/tests/mochitest/file_mozMatchesSelector.html => js/xpconnect/tests/mochitest/file_matches.html
2014-08-12 14:30:59 +02:00
Matt Woodrow
afb5e3b8c6 Bug 1049450 - Revert pre-rendering heuristic changes from bug 1034247. r=roc
--HG--
extra : rebase_source : c5dd220f5cf6b51a4cb0ef552f792dfcf621445c
2014-08-12 18:02:55 +12:00
Bobby Holley
2157f88dfc Bug 1050049 - Whitelist bindings that we actually expect to use in content. r=smaug 2014-08-11 20:06:55 -07:00
Seth Fowler
93a3083723 Bug 1051147 - Fix overflow area handling in nsTableRowFrame::DidSize. r=smontagu 2014-08-11 16:52:01 -07:00
Seth Fowler
ecf35b9b35 Bug 981924 - Update ReportToConsole calls in layout code to use the right category. r=dbaron 2014-08-11 16:52:01 -07:00
Terrence Cole
255bf6c3fb Bug 1033442 - Remove non-pod calloc from MallocProvider and AllocPolicy; r=jonco 2014-08-05 14:06:35 -07:00
Wes Kocher
0e8de3ce49 Backed out 4 changesets (bug 1032878) for probably introducing a leak, creating a CLOSED TREE
Backed out changeset 780c948d79f3 (bug 1032878)
Backed out changeset 0cfcc44660a8 (bug 1032878)
Backed out changeset 991f8d5da382 (bug 1032878)
Backed out changeset f54984be223e (bug 1032878)
2014-08-11 14:27:57 -07:00
Susanna Bowen
cfb435271a Bug 1039017 - Remove whitespace according to the CSS ruby spec when performing anonymous box generation. r=dholbert,f=bz 2014-08-11 13:07:51 -07:00
Martijn Wargers
b102096d4b Bug 1032878 - Fix for various failing mochitest-plain/-chrome tests. r=jmaher, r=akachkach, r=surkov, r=cpearce 2014-08-10 20:03:50 -07:00
Geoff Brown
c3b12d660f Bug 1042097 - Upload Android tombstones to blobber; r=dminor 2014-08-11 11:55:28 -06:00
Jonathan Kew
fed2e80e73 bug 1048050 - additional reftests to cover cases with and without region subtag. r=smontagu
--HG--
rename : layout/reftests/text-transform/greek-uppercase-1.html => layout/reftests/text-transform/greek-uppercase-1a.html
rename : layout/reftests/text-transform/greek-uppercase-1.html => layout/reftests/text-transform/greek-uppercase-1b.html
rename : layout/reftests/text-transform/irish-lowercase-1.html => layout/reftests/text-transform/irish-lowercase-1a.html
rename : layout/reftests/text-transform/irish-lowercase-1.html => layout/reftests/text-transform/irish-lowercase-1b.html
2014-08-11 09:49:14 +01:00
Jonathan Kew
0297d08f5d bug 1048050 - ignore region (or other) subtags when checking for language-specific casing behavior. r=smontagu 2014-08-11 09:49:11 +01:00
John Daggett
746163730b Bug 1051668 - add testdata for font-variant-alternates. r=mkato 2014-08-11 17:05:01 +09:00
John Daggett
9ada664571 Bug 1051668 - revise gsubtest fonts to include ss22..ss99 feature tags. r=mkato 2014-08-11 17:05:01 +09:00
Timothy Nikkel
7b846aeaf5 Bug 1051097. Set the initial visible rect correctly on the wrap list item stored inside transform display items. r=roc 2014-08-10 21:59:02 -05:00
Brian Birtles
813855dd9b Bug 1040543 part 11 - Make ElementPropertyTransition inherit from Animation instead of AnimationPlayer; r=bz
This patch changes the inheritance of ElementPropertyTransition so that it is
a subclass of Animation not AnimationPlayer.

The only thing special about ElementPropertyTransition is it stores some extra
state for reversing transitions and an extra ValuePortionFor convenience method.
This reversing behavior is implemented by the transition manager by creating
a new AnimationPlayer (i.e. it is *not* a property of the AnimationPlayer). As
a result this extra state can be pushed down to Animation which simplifies the
code significantly.

In future if we implement KeyframeEffect as a separate object we may be able to
push transition-specific state down to KeyframeEffect instead.
2014-08-10 17:06:52 +10:00
Brian Birtles
435e24f424 Bug 1040543 part 10 - Move mIsLastNotification from AnimationPlayer to Animation; r=bz
In this fourth step of dividing functionality between AnimationPlayer and
Animation, we move the mIsLastNotification and related methods/enums from
AnimationPlayer to Animation.

It is somewhat unclear where this belongs. This member is used to determine
which event to send for CSS Animations. The thinking behind moving this to
Animation is that if an animation that has already dispatched its animationstart
event was transferred to a new animation player with a similar current time then
I think it is expected that such an animation would *not* dispatch another
animationstart event. That suggests that event-state is a property of the
Animation not the AnimationPlayer.

Obviously, this needs to be defined somewhere (namely, the CSS Animations <->
Web Animations integration spec likely to become "CSS Animations Level 4"). Once
that behavior is agreed upon, if AnimationPlayer proves to be the more suitable
home for this member then it should be relatively straightforward to move the
member back at that time.
2014-08-10 17:06:51 +10:00
Brian Birtles
7cc2fe6201 Bug 1040543 part 9 - Move IsFinishedTransition from AnimationPlayer to Animation; r=bz
As the third step in dividing functionality between AnimationPlayer and
Animation this patch moves the mIsFinishedTransition member and related methods
from AnimationPlayer to Animation.

At the same time we rename SetFinishedTransition to SetIsFinishedTransition.
2014-08-10 17:06:51 +10:00
Brian Birtles
eee37dc2bd Bug 1040543 part 8 - Move timing parameters from AnimationPlayer to Animation; r=bz
As the second step in dividing functionality between AnimationPlayer and
Animation, this patch moves the AnimationTiming member from AnimationPlayer to
Animation.

Most of this patch is simply moving code around. However, one significant
functional difference is that Animation::GetLocalTime() uses the mParentTime
member which is set when the Animation is updated by the player it is attached
to.

Other less significant differences are:

* AnimationPlayer::GetLocalTime is renamed to GetCurrentTimeDuration
  In Web Animations, animation players have a (writeable) "current time" and
  animations have a (read-only) "local time".
  We would call the method simply "GetCurrentTime" (instead of
  "GetCurrentTimeDuration") but GetCurrentTime is the name of the method used in
  the content-facing API where it returns a double.

* "IsCurrent" is defined on both AnimationPlayer and Animation with the version
  in AnimationPlayer serving mostly as a convenience shortcut to the version on
  Animation.

* Animation::GetComputedTiming (previously on AnimationPlayer) now makes the
  timing parameter optional since most of the time it is not needed.
2014-08-10 17:06:50 +10:00
Brian Birtles
a66a1ea7b5 Bug 1040543 part 7 - Move keyframe properties from AnimationPlayer to Animation; r=bz
As the first step in dividing the functionality currently contained in
AnimationPlayer between AnimationPlayer and Animation this patch moves the set
of keyframe properties to the Animation.

These properties are returned from the Animation by a couple of Properties()
methods that provide direct access to the member variable. In future it is
anticipated that the non-const version will be replaced with an appropriate
setter function. This will likely happen when we implement a separate
KeyframeEffect object as defined by the Web Animations API.

With regards to error checking, nsAnimationManager checks the result of
AnimationPlayer::GetSource() and handles the case where it is nullptr.
nsTransitionManager, however, simply asserts that GetSource() is never null much
like it also asserts that there is only one property with one segment in the
animation. Eventually this code should be made more generic which will probably
happen in bug 999927.
2014-08-10 17:06:49 +10:00
Brian Birtles
cbee07055c Bug 1040543 part 6 - Rename mAnimations to mPlayers and likewise for similar local variables; r=bz
Now that we have both AnimationPlayer and Animation in use we need to clarify
which object we are referring to. This patch renames a number of member and
local variables to better reflect whether they point to an AnimationPlayer or an
Animation.

This patch is mostly renaming only with one exception. Since we are touching
a number of local variables used in loops (for looping over the array of
animation players) we take the opportunity to replace a number of instances of
uint32_t with size_t since that is the preferred type for array indices now.
2014-08-10 17:06:48 +10:00
Brian Birtles
9403f55c91 Bug 1040543 part 5 - Pass down time from AnimationPlayer to Animation; r=bz
This patch makes AnimationPlayers pass their current time down to the Animation
they are playing.

Since all Animations need from their players is their time, this avoids adding
a pointer back to their AnimationPlayer.
2014-08-10 17:06:48 +10:00
Brian Birtles
fd89e49012 Bug 1040543 part 4 - Create Animation objects and set on AnimationPlayer; r=bz 2014-08-10 17:06:47 +10:00
Brian Birtles
f5e61ac556 Bug 1040543 part 2 - Rename ElementAnimationCollection to AnimationPlayerCollection; r=bz 2014-08-10 17:06:46 +10:00
Brian Birtles
b1759d304e Bug 1040543 part 1 - Move/Rename ElementAnimations to dom::AnimationPlayer; r=bz
This patch renames mozilla::ElementAnimations to mozilla::dom::AnimationPlayer
and moves the code from layout/style/AnimationCommon.cpp to
dom/animation/AnimationPlayer.cpp.

It also moves various helper classes needed by AnimationPlayer to
AnimationPlayer.cpp and moves them from the mozilla::css namespace to the
mozilla namespace.

Beyond that, there are no functional changes contained in this patch.

The renaming of various members and variables that used to refer to
ElementAnimation objects but now refer to AnimationPlayer objects--to give them
a more appropriate name--is performed in a subsequent patch.

--HG--
rename : layout/style/AnimationCommon.cpp => dom/animation/AnimationPlayer.cpp
rename : layout/style/AnimationCommon.h => dom/animation/AnimationPlayer.h
2014-08-10 17:06:44 +10:00
Sylvestre Ledru
ac9d156829 Bug 1050715 - Update the description of the various tests targed proposed by './mach help' r=jmaher
--HG--
extra : rebase_source : 29019a02711ffce5c148787517051855259b6446
2014-08-09 15:37:29 +02:00
Bob Owen
0d8747443f Bug 1047509 - Part 12: Remove nsCxPusher in nsTextBoxFrame::UpdateAccesskey. r=bholley 2014-08-07 19:46:36 +01:00
Bob Owen
550812d67f Bug 1047509 - Part 11: Remove nsCxPusher in nsPresContext::MediaFeatureValuesChanged. r=bholley 2014-08-07 19:44:03 +01:00
Ting-Yu Lin
37f09d40d3 Bug 1046732 - Part 2: Test touch caret will be hidden by wheel event. r=ehsan
This test logic is similar to
_test_touch_caret_timeout_by_dragging_it_to_top_left_corner_after_timout.
2014-08-07 01:33:00 -04:00
Ting-Yu Lin
3fb776e5cc Bug 1046732 - Part 1: Fix incorrect event message used in TouchCaret.cpp. r=ehsan
NS_WHEEL_EVENT_START isn't a specific event message for compairing in
the switch case. Since we would like to hide touch caret whenever
receving wheel events, all the wheel event types are added.
2014-08-07 01:26:00 -04:00
Ryan VanderMeulen
7cc7f6d261 Backed out changesets 6ee4b6cc240c, a818fd0874fe, and 70803a5f4683 (bug 1033442) for multiple crashtest oranges. 2014-08-08 21:54:58 -04:00
Georgios Kontaxis
2a0f090617 Bug 1044181: style loader now annotates classified tracking nodes r=dbaron 2014-08-08 15:16:34 -07:00
Ehsan Akhgari
fe63ad9049 Bug 1050845 - Add will-change: auto to full-screen-override.css; r=dbaron 2014-08-08 20:25:21 -04:00
Terrence Cole
303bb4d645 Bug 1033442 - Remove non-pod calloc from MallocProvider and AllocPolicy; r=jonco 2014-08-05 14:06:35 -07:00
Daniel Holbert
3cc5ee67f8 Bug 1049075: Remove unnecessary "virtual" keyword from ~nsGridCell (which nothing derives from & inherits from nothing). r=tn 2014-08-08 15:22:26 -07:00
Kartikaya Gupta
9380d25515 Bug 1046344 - Update some ifdefs to account for MOZ_ANDROID_APZ. r=snorp 2014-08-08 17:42:25 -04:00
Daniel Holbert
63967130cc Bug 1051020: Update URL of flexbox spec in flexbox reftests. (no review; test-metadata-only) 2014-08-08 14:40:03 -07:00