Commit Graph

3907 Commits

Author SHA1 Message Date
Mats Palmgren
07cab7aa81 Back out bug 613659 (for regression bug 998792)
--HG--
rename : layout/reftests/backgrounds/background-size-slice.html => layout/reftests/backgrounds/background-size-continuous.html
rename : layout/reftests/backgrounds/background-size-cover-slice.html => layout/reftests/backgrounds/background-size-cover-continuous.html
rename : layout/reftests/backgrounds/background-size-cover-clone.html => layout/reftests/backgrounds/background-size-cover-each-box.html
rename : layout/reftests/backgrounds/background-size-clone.html => layout/reftests/backgrounds/background-size-each-box.html
2014-04-20 19:39:24 +00:00
Mats Palmgren
865211e339 Bug 613659 - Minor whitespace fixes. r=cam 2014-04-18 23:01:24 +00:00
Mats Palmgren
eb29ea0c7e Bug 613659 - Change mode-lines and indentation to 2-space indent. r=cam 2014-04-18 23:01:24 +00:00
Mats Palmgren
584711809b Bug 613659 - Remove remaining vestiges of -moz-background-inline-policy. r=cam 2014-04-18 23:01:23 +00:00
Mats Palmgren
ecca15c67e Bug 613659 - Implement box-decoration-break in the style system. r=cam 2014-04-18 23:01:22 +00:00
Mats Palmgren
307fabfc74 merge backout 2014-04-17 15:10:44 +00:00
Mats Palmgren
ae729a88e4 Back out bug 613659 for build failure on B2G Windows.
--HG--
rename : layout/reftests/backgrounds/background-size-slice.html => layout/reftests/backgrounds/background-size-continuous.html
rename : layout/reftests/backgrounds/background-size-cover-slice.html => layout/reftests/backgrounds/background-size-cover-continuous.html
rename : layout/reftests/backgrounds/background-size-cover-clone.html => layout/reftests/backgrounds/background-size-cover-each-box.html
rename : layout/reftests/backgrounds/background-size-clone.html => layout/reftests/backgrounds/background-size-each-box.html
2014-04-17 15:09:18 +00:00
Mats Palmgren
f39d4e6ed0 Bug 613659 - Minor whitespace fixes. r=cam 2014-04-17 12:11:08 +00:00
Mats Palmgren
9a6fefbf0b Bug 613659 - Change mode-lines and indentation to 2-space indent. r=cam 2014-04-17 12:11:08 +00:00
Mats Palmgren
71daad5042 Bug 613659 - Remove remaining vestiges of -moz-background-inline-policy. r=cam 2014-04-17 12:11:08 +00:00
Mats Palmgren
9f84dcf1c5 Bug 613659 - Implement box-decoration-break in the style system. r=cam 2014-04-17 12:11:07 +00:00
John Daggett
d0551db92e Bug 964613 - check userfont sets for enabled/disabled local fonts when platform fontlist changes occur. r=jfkthame 2014-04-17 23:17:22 +09:00
John Daggett
b8bdc45d84 Bug 997006 - rename text-combine-horizontal to text-combine-upright. r=dholbert 2014-04-17 09:15:18 +09:00
Kearwood (Kip) Gilbert
2025167bb7 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),
  the overflow areas of the children have changed and the parent have changed
  (CHILDREN_AND_PARENT_CHANGED), or if only 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
Daniel Holbert
50d14afe31 Bug 996351: Rename nsPresShell::GetReferenceRenderingContext() to CreateReferenceRenderingContext(), to reduce implication of fallibility. r=roc 2014-04-14 21:30:25 -07:00
Cameron McCormack
92b03b34b0 Bug 992333 - Skip custom properties when looking for properties to transition. r=dbaron 2014-04-13 11:44:31 +10:00
Daniel Holbert
6c75ee7feb Bug 992397: Relax extreme testcases in test_flexbox_layout.html to allow an epsilon difference. r=mats 2014-04-11 14:22:11 -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
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
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
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
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
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
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
Masayuki Nakano
5c4524957a Bug 989212 Rename nsEventStates to mozilla::EventStates r=smaug
--HG--
rename : dom/events/nsEventStates.h => dom/events/EventStates.h
2014-04-03 13:18:36 +09:00
Xidorn Quan
0a8f327ab2 Bug 990297 - Refactor table initialization code in nsCSSProps::AddRefTable. r=dbaron 2014-04-02 11:47:55 -04:00
Simon Sapin
cb211f18e1 Bug 988780 - Refactor ParseGridTemplateAfterString() to not use CheckEndProperty() (layout/style/nsCSSParser.cpp). r=dbaron 2014-03-27 02:24:00 +01:00
Cameron McCormack
c0b95085bb Bug 989965 - Resolve style for pseudo-elements correctly when style rules that have user action pseudo-classes on them are present. r=bzbarsky 2014-04-02 15:08:52 +11:00
Cameron McCormack
f456b184df Bug 985838 - Change custom property name prefix from "var-" to "--" and allow identifiers to begin with "--". r=dbaron 2014-04-02 14:32:16 +11:00
Mark Hammond
763885adb1 Bug 987404 - Disable failing mochitest-browser tests in e10s. r=ted. 2014-04-02 10:53:55 +11:00
L. David Baron
67734de948 Bug 989560 patch 4 - Remove most uses of CheckEndProperty()/ExpectEndProperty(). r=heycam 2014-04-01 11:53:32 -07:00
L. David Baron
94c2eb86fa Bug 989560 patch 3 - Add one more ExpectEndProperty() call that is needed for variables. r=heycam
This adds a check that is currently present in most but not all
codepaths leading to this point, but which patch 4 will remove from many
of those codepaths.
2014-04-01 11:53:32 -07:00
L. David Baron
e7c2035cb7 Bug 989560 patch 2 - Don't accept an empty value for font-variant-alternates. r=heycam
Had patch 3 not been present, this would be needed to prevent a test
failure with patch 4 (which removes the ExpectEndProperty check from the
CSS_PROPERTY_PARSE_VALUE case in
CSSParserImpl::ParseProperty(nsCSSProperty) since its callers handle
checking for appropriate endings), since the way this function returns
success for empty values leads var() functions alone inside
font-variant-alternates to be rejected, since
CSSParserImpl::ParseProperty(nsCSSProperty) won't try reparsing with
variables.
2014-04-01 11:53:32 -07:00
L. David Baron
418dc99018 Bug 989560 patch 1 - Make it an error to have an empty item within an animation or transition shorthand. r=heycam
This is needed to make the test in the next patch (which tests that we
reject entirely-empty properties) pass.
2014-04-01 11:53:31 -07:00
L. David Baron
8592c4c03a Bug 988702 patch 3 - Fix missing UngetToken() calls in ParseCounterData(), and avoid evil CheckEndProperty() calls while I'm there. r=heycam
I tested that test_property_syntax_errors.html gives a failure on the
new test without the patch, and that the failure is not present with the
patch.
2014-04-01 11:53:31 -07:00