Commit Graph

20772 Commits

Author SHA1 Message Date
Daniel Holbert
44fd755c5a (no bug) Update ResolveFlexibleLengths() documentation & drop whitespace on blank line. comment/whitespace-only
(Prior to this commit, the documentation mentioned long-since-removed params aTotalFreeSpace and aItems.)
2014-04-11 14:22:10 -07:00
Ryan VanderMeulen
1087eac823 Backed out 6 changesets (bug 982141) for Windows and OSX bustage. CLOSED TREE
Backed out changeset 16540ab2d2cb (bug 982141)
Backed out changeset 2ad9ce9d904e (bug 982141)
Backed out changeset af219bb49c06 (bug 982141)
Backed out changeset ffe51d96e86e (bug 982141)
Backed out changeset 6642718ad3bb (bug 982141)
Backed out changeset 95b341d26f7b (bug 982141)
2014-04-10 15:27:42 -04:00
Botond Ballo
ff0051ba05 Bug 982141 - Make sure the primary async-scrollable frame has a displayport set. r=tn
--HG--
extra : rebase_source : cecfe35b5407d6bbe1709eb0a2abf55ab8503c2d
2014-03-19 13:29:24 -04:00
Botond Ballo
d9fcefd5b2 Bug 982141 - Introduce nsLayoutUtils::SetDisplayPortMargins, with an option to not repaint. r=tn
--HG--
extra : rebase_source : 7d8245831828d60df4fb6e20d98fd2b08d4e3857
2014-04-04 10:13:50 -04:00
Botond Ballo
f35d4684d5 Bug 982141 - Factor out 'wantSubAPZC' into nsLayoutUtils. r=kats,tn
--HG--
extra : rebase_source : d651c8b224c31518816a29afc003ef5ac6ed7cc7
2014-04-04 10:13:30 -04:00
Botond Ballo
f9d0608a84 Bug 982141 - Calculate frame metrics for a display port calculation. r=kats,tn
--HG--
extra : rebase_source : 23ac67b5f528726869f5fd3565afa957347b336d
2014-03-19 13:15:54 -04:00
Botond Ballo
ed1e60ff0b Bug 982141 - Move CalculateRootCompositionSize to nsLayoutUtils and clean it up a bit. r=tn
--HG--
extra : rebase_source : 8ffa71055b05836ce166b6b2c8c9896b6d08fdd5
2014-04-04 10:13:09 -04:00
Botond Ballo
803fc64902 Bug 982141 - Expose the logic used to decide whether a scrollable frame should be async scrollable. r=tn
--HG--
extra : rebase_source : 1e1c2c9377b7127683fe555450fcf2354934fe93
2014-04-10 14:42:58 -04:00
Ryan VanderMeulen
56dc0c1f4b Merge m-c to inbound. 2014-04-10 14:46:04 -04:00
Ed Morley
a7f50452e1 Merge latest green inbound changeset and mozilla-central 2014-04-10 17:55:29 +01:00
Ed Morley
b3a007e1f1 Backed out changeset 02d0214c5e37 (bug 738196) 2014-04-10 15:47:57 +01:00
L. David Baron
23b3461fe0 Bug 992324 patch 2 - Disable interruptible reflow in reftest harness. r=bzbarsky
Without this patch, mInterruptsEnabled is frequently (although not
always) initialized to true in nsPresContext::ReflowStarted while
running reftests; with the patch it is always initialized to false.
2014-04-09 21:47:58 -07:00
L. David Baron
21e24bf2c9 Bug 992324 patch 1 - Add a pref to disable interruptible reflow. r=bzbarsky 2014-04-09 21:47:58 -07:00
L. David Baron
9ebb6e6c1a Bug 991928 - Make warning about wrapping XUL boxes chrome-only. r=bzbarsky 2014-04-09 21:47:57 -07:00
L. David Baron
76043f3493 No bug - Add paragraph about the size of reftests. 2014-04-09 21:47:57 -07:00
Ryan VanderMeulen
14d6d2857b Backed out changeset c81707878977 (bug 974197) for Gaia integration test failures on a CLOSED TREE. 2014-04-09 22:14:13 -04:00
Geoff Brown
de169ff25c Bug 967704 - Update reftest manifests for Android 2.3; r=me 2014-04-09 08:38:45 -06:00
Geoff Brown
d0b48b9ecb Bug 962676 - Reset expected assertion counts for Android crashtests; r=blassey 2014-04-09 08:38:44 -06:00
Neil Deakin
9d2d95834a Bug 991542, draw windows drop shadows from panels in content shells, r=tn 2014-04-09 09:31:06 -04:00
Carsten "Tomcat" Book
72ff3fb580 Merge m-c to mozilla-inbound 2014-04-09 14:41:48 +02:00
Carsten "Tomcat" Book
aafe0a6459 merge b2g-inbound to mozilla-central 2014-04-09 14:27:34 +02:00
Timothy Nikkel
58350b714f Bug 987680. Change a reftest to expect scrollbars on top of non-positioned sibling content. Mark some other reftests as passing now. r=roc 2014-04-09 07:12:22 -05:00
Timothy Nikkel
8a292f0648 Bug 987680. Overlay scrollbars should be placed on top of content. r=roc
Bug 926292 accidentally put them in the background list if there were no positioned descendents they needed to be on top of it (because this was where non-overlay scrollbars went, which never made sense). If there are no positioned descendents overlay scrollbars should go on the top-most non-positioned list, which is outlines.
2014-04-09 07:12:21 -05:00
Matt Woodrow
43b07bbb44 Bug 991046 - Add some fuzzy to the test for windows 8. 2014-04-09 15:49:12 +12:00
Ms2ger
8065362e18 Bug 738196 - Part b: move StyleSheetList to WebIDL; r=bz 2014-04-10 13:24:26 +02:00
Matt Woodrow
0c8c199f11 Bug 991046 - Combine the display item clips when we flatten an nsDisplayOpacity. r=roc 2014-04-09 14:28:38 +12:00
Kyle Huey
41b19ee1f2 Back out bug 991812 for bustage on a CLOSED TREE. r=me 2014-04-08 17:26:33 -07:00
Kyle Huey
749ec8b15d Bug 991812: Remove uses of RefCounted in code that lives solely in Gecko. r=ehsan 2014-04-08 16:37:05 -07:00
Bobby Holley
840dd9cf8f Bug 913138 - Shut down imagelib at the end of layout shutdown. r=bsmedberg 2014-04-08 15:51:34 -07:00
Bobby Holley
0da90f7020 Bug 913138 - Shut down gfx at the end of layout shutdown. r=bsmedberg 2014-04-08 15:51:33 -07:00
Bobby Holley
b82938ad2f Bug 913138 - Release nsLayoutStatics when the layout module is unloaded. r=bsmedberg 2014-04-08 15:51:33 -07:00
Gijs Kruitbosch
d5f146615c Bug 979653 - fix dir attribute checks for url field in rtl mode, r=ehsan
--HG--
extra : rebase_source : 58b0ea3e75fd8237df5ab5fadaa2feaee9cb47b9
2014-04-08 22:47:39 +01:00
Boris Zbarsky
fdbb455d4f Bug 991742 part 8. Remove the "aScope" argument of WebIDL/nsWrapperCache WrapObject() methods. r=bholley
This patch was mostly generated with the following command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e '/WrapObject(JSContext/ {; N; s/\(WrapObject(JSContext *\* *a\{0,1\}[Cc]x\),\n\{0,1\} *JS::Handle<JSObject\*> a\{0,1\}[sS]cope/\1/ ; }' -i ""

and then reverting the changes that made to
dom/bindings/BindingUtils.h, since those WrapObject methods are not
the ones we're trying to change here, plus a bunch of manual fixups
for cases that this command did not catch (including all the callsites
of WrapObject()).
2014-04-08 18:27:18 -04:00
Boris Zbarsky
3f26a82832 Bug 991742 part 6. Remove the "aScope" argument of binding Wrap() methods. r=bholley
This patch was mostly generated with this command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e 's/Binding::Wrap(aCx, aScope, this/Binding::Wrap(aCx, this/' -e 's/Binding_workers::Wrap(aCx, aScope, this/Binding_workers::Wrap(aCx, this/' -e 's/Binding::Wrap(cx, scope, this/Binding::Wrap(cx, this/' -i ""

plus a few manual fixes to dom/bindings/Codegen.py, js/xpconnect/src/event_impl_gen.py, and a few C++ files that were not caught in the search-and-replace above.
2014-04-08 18:27:17 -04:00
Ryan VanderMeulen
edd51f0af4 Backed out changeset 7be71c699b85 (bug 984226) for crashtest asserts. 2014-04-08 15:31:45 -04:00
Jonathan Watt
d88be3bc70 Bug 960524 - Get rid of Image::DeprecatedGetAsSurface (Moz2D migration). r=mattwoodrow 2014-04-10 09:49:53 +01:00
Jonathan Watt
9210ee2835 Bug 964731 - Convert ImageLayerD3D10 and CreateOptimalSurface/CreateOptimalMaskSurface to Moz2D. r=Bas 2014-04-10 09:49:49 +01:00
Tim Taubert
2d570228a2 Bug 616853 - Make the beforeunload prompt tab-modal r=dao,bz 2014-04-02 08:21:14 +02:00
Vicamo Yang
9fba03c823 Bug 975442: recognize as emulator if device name begins with 'emulator'. r=jgriffin 2014-04-09 10:14:07 +08:00
Kearwood (Kip) Gilbert
0c00e3b8dd Bug 984226 - Add parameter to OverflowChangedTracker::AddFrame to distingush between frames that need nsIFrame::UpdateOverflow called and frames that only have a transform that has changed. r=dbaron
- OverflowChangedTracker::AddFrame now accepts an enumerated type parameter to
  indicate if the overflow areas of children have changed (CHILDREN_CHANGED) or
  if the transform has changed (TRANSFORM_CHANGED).
- OverflowChangedTracker::Flush no longer falls back to calling
  nsIFrame::UpdateOverflow when a frame lacks a PreTransformOverflowAreas
  property.
- Added an additional change hint, nsChangeHint_ChildrenOnlyTransform, which
  results in TRANSFORM_CHANGED being passed in to
  OverflowChangedTracker::AddFrame.
- In nsIFrame::FinishAndStoreOverflow, the passed in overflow is now stored as
  the InitialTransformProperty for elements that are IsTransformed().
- Partially corrected Bug 926155, by only calling
  OverflowChangedTracker::AddFrame on parents of the sticky element during
  StickyScrollContainer::UpdatePositions, using CHILDREN_CHANGED.
2014-03-13 17:21:25 -07:00
Matt Woodrow
95f78d68ad Bug 974197 - Fire MozAfterPaint after the compositor has composited the frame. r=roc 2014-03-07 16:24:32 +13:00
James Kitchener
5341260c56 Bug 557478 - Defer mfrac operator spacing to outermost embellished operator. r=fredw 2014-04-07 06:56:00 +02:00
Neil Deakin
528631c8be Bug 610545, add cycle collection to TransitionEnder to prevent leak, r=smaug 2014-04-08 08:45:52 -04:00
Neil Deakin
b6f3539dc4 Bug 610545, check for a transition earlier to avoid assertion if a panel is opened while it is closing, r=neil 2014-04-08 08:45:52 -04:00
Neil Deakin
77a876d7d3 Bug 610545, arrow panels should animate when opening and when cancelling, r=neil,dao 2014-04-08 08:45:52 -04:00
Neil Deakin
7572adecf7 Bug 992229, convert device to css pixels before setting menupopup position after move or resize, r=tn 2014-04-08 08:45:52 -04:00
James Kitchener
69350b574c Bug 877563 - Operator spacing tests r=fredw 2014-04-04 17:55:00 +02:00
James Kitchener
470ade8f5e Bug 875563 - Zero dictionary lspace/rspace when not in (inferred) mrow r=fredw 2014-04-04 17:54:00 +02:00
Jonathan Kew
169fada5b8 bug 769194 - update reftests for @font-face src:local, now working on Android and B2G. r=jdaggett 2014-04-08 09:10:56 +01:00
Botond Ballo
c19f345e42 Bug 988882 - Special-case handling of root composition bounds calculation on Android when the toolbar is perma-visible. r=tn 2014-04-02 01:35:25 -04:00
Botond Ballo
01f4ede520 Bug 988882 - Rename PresShell::GetParentPresShell to GetParentPresShellForEventHandling. r=tn 2014-04-07 20:00:52 -04:00
Botond Ballo
b5d4ef51d8 Bug 988882 - Modify PresShell::GetCumulativeResolution to use GetParentPresContext instead of GetParentPresShell. r=tn 2014-04-07 19:59:23 -04:00
John Daggett
e22f4dc847 Bug 950526 - dirty frames after reparenting. r=dbaron 2014-04-08 14:13:28 +09:00
John Daggett
b09530ff53 Bug 950526 - add more reftests to cover first-letter, first-line scenarios. r=dbaron,heycam 2014-04-08 14:13:28 +09:00
John Daggett
2d1be2e695 Bug 950526 - don't dump textruns within nsTextFrame::DidSetStyleContext. r=dbaron 2014-04-08 14:13:28 +09:00
Daniel Holbert
3a2377b08b Bug 983427 part 4c: If axes are reversed, compute flex container's baseline using the *last* flex line (which in reality is the first line). r=mats 2014-04-07 17:17:43 -07:00
Daniel Holbert
60596fc507 Bug 983427 part 4b: If axes are reversed, align baseline-aligned items with respect to to the flex-end edge (which is the "real" flex-start edge). r=mats 2014-04-07 17:17:43 -07:00
Daniel Holbert
bc07f71ba1 Bug 983427 part 4a: Expand FlexItem baseline accessor to let caller pick the edge as well as the axis. r=mats 2014-04-07 17:17:43 -07:00
Daniel Holbert
523dfed6f1 Bug 983427 part 3: If axes are reversed, swap "flex-start" and "flex-end" alignment (& treat "stretch" as a variety of "flex-start"). r=mats 2014-04-07 17:17:42 -07:00
Daniel Holbert
21b807e55f Bug 983427 part 2: If axes are reversed, link up our lists of FlexLines & FlexItems in reverse, too. r=mats 2014-04-07 17:17:42 -07:00
Daniel Holbert
a515ca6ad8 Bug 983427 part 1: Add FlexboxAxisTracker flag to indicate whether we've detected bottom-to-top flow & are internally reversing axes. r=mats 2014-04-07 17:17:42 -07:00
Chris Lord
9c5e7e0874 Bug 990608 - Make tile size configurable. r=tn,nical,bgirard 2014-04-04 18:42:44 +01:00
Aryeh Gregor
8224d6e2e8 Bug 927558 - Missing null check in Selection::GetPrimaryFrameForFocusNode; r=ehsan 2014-04-02 19:01:01 +03:00
Timothy Nikkel
df81b7d231 Backout 389ff4b5612c and d234394e0147 (bug 987680) for reftest failuires. 2014-04-07 04:52:36 -05:00
Timothy Nikkel
f36020916b Bug 987680. Change a reftest to expect scrollbars on top of non-positioned sibling content. Mark some other reftests as passing now. r=roc 2014-04-07 03:15:47 -05:00
Timothy Nikkel
cdf9e2e208 Bug 987680. Overlay scrollbars should be placed on top of content. r=roc
Bug 926292 accidentally put them in the background list if there were no positioned descendents that they needed to be on top of it (because this was where non-overlay scrollbars went, which never made sense). If there are no positioned descendents overlay scrollbars should go on the top-most non-positioned list, which is outlines for the current implementation.
2014-04-06 22:00:01 -05:00
Mats Palmgren
f4adc1db1d Bug 992447 - Make <select> have 'overflow-clip-box:padding-box!important' for now since 'content-box' doesn't really work there. r=roc 2014-04-04 19:39:00 +02:00
Phil Ringnalda
542c4dfcab Back out b9085d8ca22e (bug 987680) for b2g reftest failures and passes
CLOSED TREE
2014-04-06 23:11:35 -07:00
Timothy Nikkel
d56f39fcf9 Bug 987680. Overlay scrollbars should be placed on top of content. r=roc
Bug 926292 accidentally put them in the background list if there were no positioned descendents that they needed to be on top of it (because this was where non-overlay scrollbars went, which never made sense). If there are no positioned descendents overlay scrollbars should go on the top-most non-positioned list, which is outlines for the current implementation.
2014-04-06 22:00:01 -05:00
Bobby Holley
b4a8be6b33 Bug 986730 - Fix up a bunch of tests that assume that they can touch AC in content. r=mrbkap 2014-04-06 12:32:38 -07:00
Timothy Nikkel
4b020940a7 Bug 990631. When processing a native window move for a popup compare the new position with the actual position we expect to popup to be at. r=enndeakin
The ScreenPosition() (which looks at mScreenX/YPos) doesn't actually hold the screen position for anchored popups.
2014-04-04 18:59:03 -05:00
Ryan VanderMeulen
01e048154a Backed out changeset bf184a7a1d63 (bug 990608) for Android crashes.
CLOSED TREE
2014-04-04 15:20:49 -04:00
Chris Lord
5a2c48da2d Bug 990608 - Make tile size configurable. r=tn,nical,bgirard 2014-04-04 18:42:44 +01:00
Neil Deakin
ba71f5497a Bug 475981, remove titles from a bunch of tests, fixing box wrapped in a block warnings,r=neil 2014-04-04 13:11:12 -04:00
Oleg Romashin
ea3f8c41bd Bug 968148 - Implement PointerCapture for pointer events. tests. r=smaug
--HG--
rename : layout/base/tests/test_bug582771.html => layout/base/tests/bug968148_inner.html
rename : dom/indexedDB/test/test_event_propagation.html => layout/base/tests/test_bug968148.html
extra : rebase_source : 723612a9487b7310daf56bfd0120f5ee971fe34e
2014-04-04 10:10:12 -07:00
Maksim Lebedev
518ac59f91 Bug 968148 - Implement PointerCapture for pointer events. r=smaug
--HG--
extra : rebase_source : 331cf187194c8827e4b75835e85b2d79fdc419c7
2014-04-04 10:09:10 -07:00
Daniel Holbert
6a7faff5d3 Bug 984786 part 8: Give NS_INLINE_DECL_*REFCOUNTING classes private destructor & MOZ_FINAL annotation where appropriate, in /gfx and /content/canvas. r=bjacob 2014-04-04 09:27:02 -07:00
Carsten "Tomcat" Book
8ef164f6c7 Backed out changeset bae32cf47dec (bug 988882) since it seems this breaks debug-bc tests 2014-04-04 13:23:20 +02:00
Carsten "Tomcat" Book
055dab2d1a Backed out changeset 17941c43375f (bug 991575) for test failures like reftests and others 2014-04-04 12:36:43 +02:00
Jonathan Watt
164b50056a Bug 991575 - Stop PresShell::GetReferenceRenderingContext from creating a Thebes backed gfxContext (Moz2D migration). r=mattwoodrow 2014-04-04 09:15:57 +01:00
Botond Ballo
69a1f77b38 Bug 988882 - Special-case handling of root composition bounds calculation on Android when the toolbar is perma-visible. r=tn 2014-04-02 01:35:25 -04:00
Mats Palmgren
76ea7c2156 Bug 990655 - Don't apply 'text-overflow' to nsComboboxControlFrame, its anon block deals with it. r=roc 2014-04-03 18:02:09 +00:00
Mats Palmgren
e933738778 Bug 967296 - Remove diagnostic code added in bug 946929. r=tn 2014-04-03 18:02:08 +00:00
Daniel Holbert
e1e2408909 Bug 991512: Add convenience methods to calculate outer main & cross size of a FlexItem. r=mats 2014-04-03 10:40:12 -07:00
Tatiana Meshkova
42cebf4c6d Bug 990869 - Allow to enable sub Apzc for non WIN gecko clients. r=kats 2014-04-02 18:40:00 +02:00
Brian Birtles
06110d67b2 Bug 964646 part 5 - Add OMTA version of test_animations.html keyframe tests; r=dbaron 2014-04-03 16:55:45 +09:00
Brian Birtles
628a1ffb0d Bug 964646 part 4 - Add OMTA version of test_animations.html animation list tests; r=dbaron
Tests for animation list handling on the compositor thread. Some checks are
currently marked todo_is because they depend on Bug 980769 in order to pass.
2014-04-03 16:55:44 +09:00
Brian Birtles
1547db730a Bug 964646 part 3 - Refactor OMTA test methods to include opacity too; r=dbaron
This patch takes the compareTransform utility methods and makes them more
generic so they can be used for testing opacity too (the other property
currently animated on the compositor thread).

The naming omta_is and omta_is_approx is intended to mirror is and is_approx in
test_animations.html.
2014-04-03 16:55:44 +09:00
Brian Birtles
8f264e90e2 Bug 964646 part 2 - Add OMTA version of test_animations.html fill mode tests; r=dbaron
This patch adds an additional mochitest for specifically targetting CSS
Animations that run on the compositor thread. The content of the test mimicks
test_animations.html but using properties whose animations are expected to run
on the compositor thread.
2014-04-03 16:55:44 +09:00
Brian Birtles
4d45c0227d Bug 964646 part 1 - Add common OMTA test runner to animation_utils.js; r=dbaron
Since off-main thread animation (OMTA) is not available on all platforms we
define a common wrapper function that runs OMTA tests only when available. This
patch further performs an internal check of basic OMTA operation so that
only a single error is produced if OMTA is unexpectedly unavailable.

Typical usage is:

  SimpleTest.waitForExplicitFinish();
  runOMTATest(function() {
    ... test code ...
    SimpleTest.finish();
  },
  SimpleTest.finish);

This can be easily wrapped with promises if needed but does not require using
promises.

The calls to waitForExplicitFinish and finish are not performed automatically
since this function may be integrated with test suites that do other work
outside the call to runOMTATest.
2014-04-03 16:55:44 +09:00
Brian Birtles
917d2e24b6 Bug 880596 part 9 - Fix comment about mFlushCount; r=dbaron
Two comments in AnimationCommon.h refer to 'mFlushCount' which was presumably
the old name for mAnimationGeneration. Also, one comment says
nsCSSFrameConstructor tracks this. This patch adjusts the comments to refer
to mAnimationGeneration and RestyleManager.

(The reference to nsTransitionManager::UpdateAllThrottleStyles() is still valid
since there is useful documentation accompanying that method despite the fact
that the relevant code is mostly contained in AnimationCommon.h since bug
914847. Eventually we will unify the structures of transitions and
animations to the the point that we can replace the
IMPL_UPDATE_ALL_THROTTLED_STYLES_INTERNAL macro in AnimationCommon.h with an
actual method. At that point we can move the documentation accompanying
nsTransitionManager::UpdateAllThrottleStyles and its references to
AnimationCommon.)
2014-04-03 14:57:28 +09:00
Brian Birtles
ae6e60dda5 Bug 880596 part 8 - Rename ElementAnimation to StyleAnimation; r=dbaron
We need a basic representation of animations from which we can derive subclasses
to represent specific cases such as transitions. For now we will retrofit
ElementAnimation for that purpose hence renaming it to StyleAnimation.

This patch removes the "using namespace mozilla::layers" line from
AnimationCommon.cpp since the unified build system concatenates several files
together before compiling making using declarations like this leak into other
files potentially creating ambiguities. Previously, when we were calling
ElementAnimation, 'Animation', there were ambiguities between
mozilla::layers::Animation and this new 'Animation' class. In general, it is
probably a good idea to limit the scope of these using declarations so I've kept
that change.
2014-04-03 14:57:28 +09:00
Brian Birtles
095840cb6d Bug 880596 part 7 - Move ElementAnimation to AnimationCommon; r=dbaron
This patch relocates ElementAnimation from nsAnimationManager.{h,cpp} to
AnimationCommon.{h,cpp} and in the process moves it into the mozilla::css
namespace.
2014-04-03 14:57:28 +09:00
Brian Birtles
c4ffbc205d Bug 880596 part 6 - Factor out common method for adding animations and transitions to a layer; r=dbaron
The loops for adding animations and transitions to a layer in
nsDisplayList::AddAnimationsAndTransitionsToLayer are now identical and so can
be factored out into a common method.

Since it is not possible to implicitly convert from
nsTArray<ElementPropertyTransition> to nsTArray<ElementAnimation> despite
ElementPropertyTransition being a subclass of ElementAnimation a templated
method is used. In the future, as animations and transitions share more and more
code, we should be able to remove the need for templates.
2014-04-03 14:57:28 +09:00
Brian Birtles
e4bdcd3cfb Bug 880596 part 5 - Make ElementAnimation::HasAnimationOfProperty no longer virtual; r=dbaron
ElementAnimation::HasAnimationOfProperty doesn't seem to be overridden anywhere.
I suspect it was a copy-paste mistake because the methods of the same name on
ElementAnimations, ElementTransitions, and CommonElementAnimationData are
virtual.
2014-04-03 14:57:28 +09:00
Brian Birtles
217cb32ecc Bug 880596 part 4 - Reuse ElementAnimation::HasAnimationOfProperty; r=dbaron
Now that ElementTransitionProperty inherits from ElementAnimation,
ElementTransitions::HasAnimationOfProperty can re-use
ElementAnimation::HasAnimationOfProperty in its definition of
ElementTransitions::HasAnimationOfProperty.

Similarly, in nsDisplayList::AddAnimationsAndTransitionsToLayer we can use this
method rather than drilling down to the appropriate segment by hand.
2014-04-03 14:57:27 +09:00
Brian Birtles
e503422f93 Bug 880596 part 3 - Remove ElementPropertyTransition::IsRunningAt and mIsRunningOnCompositor; r=dbaron
Both ElementPropertyTransition and ElementAnimation specify an IsRunningAt
method which have the same purpose but with two subtle differences:

a) ElementPropertyTransition::IsRunningAt checks if the transition is a removed
sentinel and if so returns false. This patch adds a check for a null start time
to IsRunningAt since I think in future we will want to allow null times in
various places to represent, for example, animations that are not connected to
a timeline. (However, ultimately we will probably not allow start times on
*animations* to be null, only on their associated player.)

Should we later use a different mechanism for marking sentinel transitions (e.g.
a boolean flag) this method should still be correct as it checks if aTime is
inside the transition interval before returning true.

b) ElementPropertyTransition::IsRunningAt returns false if the transition is in
the delay phase, that is, waiting to start. This patch changes this behavior so
that transitions are considered running even if they are in the delay phase.
This brings their behavior into line with animations and removes the need for
the ElementPropertyTransition::mIsRunningOnCompositor since it is only used to
determine when a transition in the delay phase has begun.

ElementAnimation::IsRunningAt also handles pause state and iterations but this
logic should still be correct for transitions which, in this area, only use
a subset of the functionality of animations since their pause state is always
playing and their iteration count is 1.
2014-04-03 14:57:27 +09:00
Brian Birtles
5e2f8ede42 Bug 880596 part 2 - Make ElementPropertyTransition inherit from ElementAnimation; r=dbaron
As part of moving towards more shared data structures for animation, this patch
makes ElementPropertyTransition inherit from ElementAnimation. At the same time
we switch from storing the target property, start/end values, start time, delay,
and timing function on the transition to the corresponding location in
ElementAnimation.

Since nsDisplayList::AddAnimationsAndTransitionsToLayer was already doing this
conversion in order to create animations to pass to the compositor thread, we
can remove the conversion code from there and just use the ElementAnimation data
structures as-is.

A number of assertions are added to verify that transitions are set up as
expected (namely, they have only a single property-animation with a single
segment). As we move to more generic handling of animations and transitions
these assertions should disappear.
2014-04-03 14:57:27 +09:00
Brian Birtles
19e2304b94 Bug 880596 part 1 - Separate delay from start time for transitions; r=dbaron
As a first step towards making CSS animations and CSS transitions use the same
data structures, this patch aligns their behavior with regards to start time and
delay handling.

Previously, ElementAnimation objects maintained separate mStartTime and mDelay
members whilst ElementPropertyTransition objects maintained a single mStartTime
property that incorporated the delay. This patch adds an mDelay member to
ElementPropertyTransition and stores the delay and start time separately.
Calculations involving ElementPropertyTransition::mStartTime are adjusted to
incorporate mDelay.
2014-04-03 14:57:27 +09:00
L. David Baron
4d2197bf3c Bug 975397 - Call TrackImage when constructing a new nsStyleBorder. r=heycam
I confirmed that the crashtest crashes in the harness without the patch.

--HG--
rename : layout/reftests/backgrounds/blue-32x32.png => layout/style/crashtests/blue-32x32.png
2014-04-02 22:56:19 -07:00