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

7026 Коммитов

Автор SHA1 Сообщение Дата
L. David Baron 759eebe6d2 Bug 1040386: Fix hopefully-harmless CSS syntax error in isOMTAWorking(). r=birtles
I noticed this in the logs of a B2G emulator mochitest run.
2014-07-18 21:22:20 -07:00
L. David Baron 374118e754 Bug 1041060: Use AllocateByObjectID/FreeByObjectID for nsInheritedStyleData and nsResetStyleData. r=heycam
This is similar to bug 1038488, which did the same for style structs.
This means the entire path from frame to style struct should be
allocated using frame IDs or object IDs.
2014-07-18 21:22:20 -07:00
Michael Ratcliffe 5191e86267 Bug 1035106 - Add new APIs to DOMUtils: colorToRGBA, isValidCSSColor & cssPropertyIsValid r=bz 2014-07-17 15:08:07 +01:00
Ahmed Kachkach 4b03d2c025 Bug 886570 - Initial integration of structured logs in mochitest; r=ahal,Ms2ger 2014-07-17 09:02:00 +02:00
Brian Birtles ef118ad7fc Bug 1038032 part 2 - Add test case for overflowing TimeDuration; r=dholbert 2014-07-18 10:31:18 +09:00
Brian Birtles 42b7639448 Bug 1038032 part 1 - Add temporary workaround to avoid overflow when calculating the active end of an animation; r=dholbert 2014-07-18 10:31:17 +09:00
Chris Lord e999475d51 Bug 1038781 - Don't reflow/repaint frame when clip changes. r=roc
If an element's existing clip changes, just update overflow areas and let
DLBI handle invalidation.
2014-07-16 13:28:50 +02:00
Brian Birtles f06a4c0c17 Bug 1037314 - Include animation-play-state in animation shorthand; r=dbaron
This patch is basically a reversal of attachment 530792 from bug 654890.
2014-07-17 10:04:56 +09:00
L. David Baron 6b85a58773 Bug 1038488 patch 3 - Use AllocateByObjectID/FreeByObjectID for style structs. r=heycam 2014-07-15 22:27:13 -07:00
L. David Baron a084fec891 Bug 1038488 patch 2 - Remove memset from the operator new of the 4 style structs that have it. r=heycam
This also moves those 4 operator new methods to be inline to match the
style of all of the others.

I audited that all the members of these structs are initialized by all
their constructors (see patch 1).
2014-07-15 22:27:12 -07:00
L. David Baron 8e7821b091 Bug 1038488 patch 1 - Explicitly initialize nsStyleMargin::mCachedMargin and nsStylePadding::mCachedPadding so that it is clear all members of nsStyleFont, nsStyleMargin, nsStylePadding, and nsStyleBorder are explicitly initialized. r=heycam
While nsMargin does 0-initialize, it's not necessarily obvious that it
does, and I think it's worth making explicit.
2014-07-15 22:27:12 -07:00
L. David Baron 76273a1316 Bug 1030604 - Use nsChangeHint_UpdateOverflow for clip-path and mask changes so we update the PreEffectsBBoxProperty and run the effect on the correct area. r=roc
The testcase is a slight simplification of dholbert's testcase 2
(attachment 8456312) in the bug.  It fails in the reftest harness
without the patch, and passes in the reftest harness with the patch.
2014-07-15 22:27:12 -07:00
Cameron McCormack fbd6b8f0f4 Bug 1039151 - Replace space-wasting use of DebugOnly<> in CSSVariableResolver with #ifdef DEBUG. r=dbaron 2014-07-16 15:24:04 +10:00
Brian Birtles 59bf2039e1 Bug 1036300 - Expose AnimationPlayer.timeline; r=bz 2014-07-16 09:02:33 +09:00
Brian Birtles a7a1177af7 Bug 1036287 part 6 - Add a GetComputedTiming shortcut that uses the current animation timeline time; r=dholbert
This patch introduces a method GetComputedTiming that calls GetComputedTimingAt
supplying the current time of the animation's timeline.

We still keep the GetComputedTimingAt static method since it is used for
off-main thread animation. Furthermore, we keep the second argument to
GetComputedTiming--the animation's timing properties--since on some occasions we
want to override those properties (ElementPropertyTransition::ValuePortionFor
does this). We could also add another overload that also supplies the
animation's timing properties but that can happen as a separate step.
2014-07-16 09:02:33 +09:00
Brian Birtles 7aff661646 Bug 1036287 part 5 - Drop aTime param from IsRunning(At) and IsCurrent(At), since they now use the current timeline time; r=dholbert 2014-07-16 09:02:33 +09:00
Brian Birtles f7c2a452ed Bug 1036287 part 4 - Make GetLocalTime(At) get the current time automatically from the timeline; r=dholbert
This patch changes ElementAnimation::GetLocalTimeAt so that instead of taking
the current time as input, it uses the animation's mTimeline member to look up
the current time of the associated timeline. As a result of this, it is possible
to remove a few instances of querying the refresh driver for the current time.
Further instances are removed in subsequent patches.

Furthermore, in order to keep the use of time sources consistent, the mStartTime
of new transitions and animations is initialized with the current time from the
animation's timeline rather than with the latest refresh driver tick.
Since this time could, in future, be null, GetLocalTime(At) is updated to check
for a null start time.

GetLocalTimeAt is also renamed to GetLocalTime in the process.
2014-07-16 09:02:32 +09:00
Brian Birtles 8a61f8ccfa Bug 1036287 part 3 - Make GetLocalTimeAt return a nullable time duration; r=dholbert
Once we support arbitrary timelines which can return null current time values,
the local time of an animation can also become null so this patch updates
ElementAnimation::GetLocalTimeAt to return a Nullable<TimeDuration>.
Doing this also allows us to pass the result of GetLocalTimeAt directly to
GetComputedTimingAt.
2014-07-16 09:02:32 +09:00
Brian Birtles a3a8900375 Bug 1036287 part 2 - Make GetComputedTimingAt take a nullable local time; r=dholbert
As part of supporting arbitrary timelines, we'd like to pass null times to the
function that calculates computed timing. Incidentally, this also provides
a means for evaluating calculating timing parameters that are independent of the
current time (currently only the active duration) without requiring a valid
time.

This patch updates the signature of ElementAnimation::GetComputedTimingAt to
take a nullable time duration.

We use the Nullable wrapper to represent null TimeDurations since, unlike,
TimeStamp, TimeDuration does not include a null state.
2014-07-16 09:02:32 +09:00
Brian Birtles 34ac24b42a Bug 1036287 part 1 - Add a null animation phase; r=dholbert
In order to support arbitrary timelines which may provide a "null" current time,
we need a suitable value to return from GetComputedTimingAt for the animation's
phase when the timeline time is null.

This patch introduces a null animation phase for this purpose.
2014-07-16 09:02:32 +09:00
Brian Birtles 4a5b988a87 Bug 1032573 part 5 - Add GetAnimationPlayers to Element; r=bz
This patch adds the WebIDL definitions and implementation of
getAnimationPlayers on Element.

It does not include the full definition of AnimationPlayer but only readonly
versions of the currentTime and startTime attributes since these are easy
to implement and enable identifying the different animations that are returned
for the sake of testing.

Web Animations defines getAnimationPlayers as only returning the animations that
are either running or will run in the future (known as "current" animations).
This will likely change since it seems desirable to be able query animations
that have finished but are applying a forwards fill. For now, however, this
patch makes us only return animations that have not finished.

This patch also removes an assertion in ElementAnimation::GetLocalTime that
would fail if called on a finished transition. This assertion is no longer
necessary since an earlier patch in this series removed the overloading of
the animation start time that meant calling this on a finished transition
was unsafe. Furthermore, this assertion, if it were not removed, would fail
if script holds onto a transition and queries its start time after it
completed.
2014-07-16 09:02:31 +09:00
Brian Birtles 9454e09015 Bug 1032573 part 2 - Add a timeline member to ElementAnimations; r=dbaron
When we expose ElementAnimation objects to script they need to have a parent
object so they can be associated with a Window.

This patch adds a pointer from an ElementAnimation to its AnimationTimeline.
2014-07-16 09:02:30 +09:00
Brian Birtles 881f90e9a2 Bug 1032573 part 1 - Don't overload start time for marking finished transitions; r=dbaron
When transitions finish, we keep them around for one additional throttle-able
tick to provide correct behavior for subsequent transitions that may be
triggered. Prior to this patch we did this by overloading the start time of the
animation and setting it to null in this case.

However, if we begin returning ElementAnimation objects to script, script can
hold on to those objects and query their start time even after they are
finished. Therefore we need another means of marking finished transitions that
doesn't clobber the start time field.

This patch introduces a new boolean member for marking such transitions.

While we're touching IsFinishedTransition we also take the chance to tidy up one
of the call sites, namely IsCurrentAt, to make the logic a little easier to
follow.
2014-07-16 09:02:29 +09:00
Bobby Holley cdd8e663e7 Bug 987678 - Stop doing all the crazy stuff in xbl-marquee. r=bz 2014-07-15 12:23:43 -07:00
Ting-Yu Lin 3b1816e239 Bug 1021527 - Fix blurry carets by using svg image. r=roc
* Replace png images with svg images for touch caret and selection
  carets.
* Fix touch caret is enlarged on high resolution device due to
  background-size was not set.
2014-07-14 23:08:00 +02:00
Gabriel Luong 9d0c3f489e Bug 591303 - Part 3: Set line and column number for all rules in nsCSSParser. r=bz 2014-07-14 15:57:54 -07:00
Birunthan Mohanathas a7d5f55774 Bug 591303 - Part 2: Add getCSSRule function to nsIDOMCSSRule. r=bz 2014-07-14 15:57:46 -07:00
Gabriel Luong c0ea3ed948 Bug 591303 - Part 1: Move mLineNumber, mColumnNumber, and mWasMatched from StyleRule to Rule. r=bz
Also, pass the line/column number through the constructor rather than through a separate function.
2014-07-14 15:57:02 -07:00
Mats Palmgren d4a41f8618 Bug 637242, patch 3 of 3: crashtest. r=dbaron 2014-07-13 13:01:44 +00:00
Mats Palmgren 6b3fa1ca1c Bug 637242, patch 2 of 3: Make nsRuleNode::Sweep nonrecursive to avoid stack exhaustion crashes. r=dbaron 2014-07-13 13:01:44 +00:00
Mats Palmgren 270cd1ba97 Bug 637242, patch 1 of 3: Fix ref-counting bug. r=dbaron 2014-07-13 13:01:43 +00:00
Carsten "Tomcat" Book ce57787693 Backed out changeset cf85693280c7 (bug 886570) frequent mochitest-3 errors on windows 2014-07-11 14:15:29 +02:00
Ahmed Kachkach 50db9012f6 Bug 886570 - Initial integration of structured logs in mochitest. r=ahal,Ms2ger 2014-07-10 13:33:00 +02:00
Boris Zbarsky 11bc3578c0 Bug 965413 part 11. Use a LoadInfo as needed for loading stylesheets. r=smaug 2014-07-10 02:56:38 -04:00
Cameron McCormack e369e9f112 Bug 1031187 - Part 2: Use family name from proxy rather than gfxMixedFontFamily when logging. r=jdaggett 2014-07-09 17:08:55 +10:00
Cameron McCormack 66e53076a0 Bug 1031199 - Followup to fix style constant typo. 2014-07-09 17:08:45 +10:00
Tom Schuster 4794be7af6 Bug 1024707 - Test. r=bz 2014-07-09 11:43:33 +02:00
Carsten "Tomcat" Book e1a52fe23e Backed out changeset 37683ae1953f (bug 1031199) for crashtest bustage on Linux Opt on a CLOSED TREE 2014-07-09 13:44:42 +02:00
Carsten "Tomcat" Book e338c2088b Backed out changeset dc4ff3a5afd1 (bug 1031187) 2014-07-09 13:44:11 +02:00
Carsten "Tomcat" Book 09a3eb0e72 Backed out changeset f213b3135312 (bug 1024707) 2014-07-09 13:18:47 +02:00
Cameron McCormack a5140bd518 Bug 1031187 - Part 2: Use family name from proxy rather than gfxMixedFontFamily when logging. r=jdaggett 2014-07-09 21:04:14 +10:00
Cameron McCormack 352c25c3b0 Bug 1031199 - Followup to fix style constant typo. 2014-07-09 21:03:19 +10:00
Tom Schuster 5220ddff89 Bug 1024707 - Test. r=bz 2014-07-09 11:43:33 +02:00
Brian Birtles d8a37d7c4d Bug 1033881 part 1 - Don't generate animations when the animation-name doesn't match; r=dbaron
When animation-name does not match a keyframes rule, we should not dispatch
animation events as per:

  "Any animation for which both a valid keyframe rule and a non-zero duration
  are defined will run and generate events; this includes animations with empty
  keyframe rules."
  http://dev.w3.org/csswg/css-animations/#events

Since bug 1004377, however, we started dispatching events in this case because
we no longer ignore animations whose set of keyframes is empty.

This patch checks for a matching keyframes rule in BuildAnimations and if one is
not found, no corresponding animation is generated.
2014-07-09 09:13:33 +09:00
Benoit Jacob 487ba5e6bf Bug 1035394 - Fix dangerous public destructors in layout - r=dbaron 2014-07-08 17:23:18 -04:00
Cameron McCormack c3fc13b59f Bug 1034803 - Treat local(serif) as an invalid value in descriptor_database.js. r=dbaron 2014-07-08 10:17:19 +10:00
Cameron McCormack ecfcc4d944 Bug 1031153 - Move unicode-range descriptor serialization to nsStyleUtil. r=dbaron 2014-07-04 11:19:33 +10:00
Robert Longson f80c37ea97 Bug 556441 - Interpolation fails for stroke-width and stroke-dashoffset when animating between unitless values & values with units. r=dbaron 2014-07-03 20:05:43 +01:00
Brian Birtles ea77abec71 Bug 1010067 - Whitespace fix to nsTransitionManager::FlushTransitions. No review.
This change was suggested in bug 1010067 comment 22 but somehow ended up in the
wrong patch when pushing.
2014-07-03 09:04:35 +09:00
Brian Birtles a71e7fd445 Bug 1031319 part 2 - Add tests for animation-name:none handling; r=dbaron 2014-07-03 09:04:31 +09:00
Brian Birtles a2d236894b Bug 1031319 part 1 - Don't generate element animations when animation-name is "none"; r=dbaron
This patch causes animations whose corresponding animation-name is "none" to be
dropped from the list of generated ElementAnimation objects. This means we avoid
generating events for these animations.
2014-07-03 09:04:16 +09:00
Brian Birtles a28f62b5ce Bug 1032014 - Remove extra call to AppendElement when generating animations; r=dbaron 2014-07-03 09:02:48 +09:00
Ms2ger c79888f908 Bug 1032118 - Remove the nsresult return value from nsMediaList::SetStyleSheet; r=dbaron
It is never checked, and only ever returns NS_OK.
2014-07-02 12:53:41 +02:00
Ms2ger 05a41fb85e Bug 1032116 - Outparamdel nsIStyleSheetLinkingElement::GetStyleSheet; r=dbaron 2014-07-02 12:53:40 +02:00
Cameron McCormack f165b1356e Bug 1031967 - Make mozilla::css::Loader cycle collected and traverse its observer array. r=bzbarsky 2014-07-02 08:37:09 +10:00
Cameron McCormack 8bf79a894b Bug 1031205 - Make gfxUserFontSet methods take already-parsed language override values. r=jdaggett 2014-06-30 14:25:21 +10:00
Cameron McCormack 364e126c76 Bug 1031199 - Disallow aWeight = 0 when calling gfxUserFontSet::AddFontFace. r=jdaggett 2014-06-30 14:25:11 +10:00
Mats Palmgren 3ffa9baecc Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
Mats Palmgren fa241a7997 Bug 1031444 - Add missing COMPUTED_STYLE_PROP declaration for 'box-decoration-break'. r=roc 2014-06-29 13:13:29 +00:00
Phil Ringnalda 811c3783d4 Back out 5 changesets (bug 1028460, bug 1031444) for somehow breaking asmjscache/test/test_cachingBasic.html on Android 2.2
Backed out changeset 0b5918ec6521 (bug 1031444)
Backed out changeset 663ff18cd4a1 (bug 1028460)
Backed out changeset ae01b3919c8c (bug 1028460)
Backed out changeset 316c8dfeca9b (bug 1028460)
Backed out changeset e237b2c61ea2 (bug 1028460)
2014-06-28 22:01:28 -07:00
Mats Palmgren 439cf74afc Bug 1031444 - Add missing COMPUTED_STYLE_PROP declaration for 'box-decoration-break'. r=roc 2014-06-28 10:13:14 +00:00
Mats Palmgren 4e879335f7 Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
Seth Fowler f7b120fcb7 Bug 997010 (Part 1) - Support dynamic changes to the image-orientation property. r=dbaron 2014-06-27 20:50:26 -07:00
Andrew McCreight 0bc4897b14 Backout the temp patch in bug 1011391 for not helping. r=bz
This may have also caused a spike in CC time.
2014-06-27 10:09:10 -07:00
Brian Birtles 8480c917d7 Bug 1029969 - Make compositor animation (OMTA) tests ignore floating-point differences; r=dzbarsky 2014-06-27 11:28:51 +09:00
Brian Birtles 25fb32b91e Bug 1010067 part 8 - Rename ElementData methods and members in CommonAnimationManager to ElementCollection; r=dbaron 2014-06-27 08:57:13 +09:00
Brian Birtles 19d210c918 Bug 1010067 part 7 - Rename instances of ElementAnimationCollection; r=dbaron 2014-06-27 08:57:13 +09:00
Brian Birtles d8a8a8df73 Bug 1010067 part 6 - Rename mozilla::css::CommonElementAnimationData to mozilla::ElementAnimationCollection; r=dbaron 2014-06-27 08:57:12 +09:00
Brian Birtles ed3adcf998 Bug 1010067 part 5 - Move ElementPropertyTransition to mozilla namespace; r=dbaron 2014-06-27 08:57:12 +09:00
Brian Birtles 165ce1f807 Bug 1010067 part 4 - Rename nsTransition to mozilla::StyleTransition; r=dbaron 2014-06-27 08:57:12 +09:00
Brian Birtles 45a81560cb Bug 1010067 part 3 - Rename nsAnimation to mozilla::StyleAnimation; r=dbaron 2014-06-27 08:57:11 +09:00
Andrew McCreight 24f0e69eda Bug 1029139 - Make the destructor of nsDOMCSSValueList private. r=bz 2014-06-26 09:29:06 -07:00
Andrew McCreight 71a661fbb5 Bug 1029137 - Make the destructor of nsComputedDOMStyle private. r=bz 2014-06-26 09:29:06 -07:00
Andrew McCreight cbe6fbf039 Bug 1029140 - Make the destructor of nsROCSSPrimitiveValue private. r=bz 2014-06-26 09:29:05 -07:00
Andrew McCreight bc19f68ef0 Bug 1029869, part 3 - Convert nsLayoutStylesheetCache::gStyleCache to a StaticRefPtr. r=bz 2014-06-26 09:29:05 -07:00
Andrew McCreight ee852b0083 Bug 1029869, part 2 - Make SheetLoadData::mParentData into an nsRefPtr. r=bz 2014-06-26 09:29:05 -07:00
Andrew McCreight 28ab01d5c3 Bug 1029869, part 1 - Make SheetLoadData::mLoader into an nsRefPtr. r=bz 2014-06-26 09:29:05 -07:00
Andrew McCreight 844759f440 Bug 1026033, part 2 - Make StyleRule::mImportantRule into an nsRefPtr. r=bz 2014-06-26 09:29:04 -07:00
Andrew McCreight d0c431f013 Bug 1026033, part 1 - Make StyleRule::mDOMRule into an nsRefPtr. r=bz 2014-06-26 09:29:04 -07:00
Andrew McCreight 46ae53435c Bug 1029157 - Eliminate sCachedComputedDOMStyle. r=bz 2014-06-26 09:29:04 -07:00
Jan Beich 2e22bb3467 Bug 1029927 - Unbreak non-SPS build after bug 1026302. r=birtles 2014-06-24 18:13:00 +02:00
John Schoenick 38d3a3deea Bug 870022 - Part 2 - Add ParseSourceSizeList to CSS parser for <picture sizes> grammar. r=bz 2014-06-25 11:47:46 -07:00
Jim Blandy 7e20285e70 Bug 914753: Make Emacs file variable header lines correct, or at least consistent. DONTBUILD r=ehsan
The -*- file variable lines -*- establish per-file settings that Emacs will
pick up. This patch makes the following changes to those lines (and touches
nothing else):

 - Never set the buffer's mode.

   Years ago, Emacs did not have a good JavaScript mode, so it made sense
   to use Java or C++ mode in .js files. However, Emacs has had js-mode for
   years now; it's perfectly serviceable, and is available and enabled by
   default in all major Emacs packagings.

   Selecting a mode in the -*- file variable line -*- is almost always the
   wrong thing to do anyway. It overrides Emacs's default choice, which is
   (now) reasonable; and even worse, it overrides settings the user might
   have made in their '.emacs' file for that file extension. It's only
   useful when there's something specific about that particular file that
   makes a particular mode appropriate.

 - Correctly propagate settings that establish the correct indentation
   level for this file: c-basic-offset and js2-basic-offset should be
   js-indent-level. Whatever value they're given should be preserved;
   different parts of our tree use different indentation styles.

 - We don't use tabs in Mozilla JS code. Always set indent-tabs-mode: nil.
   Remove tab-width: settings, at least in files that don't contain tab
   characters.

 - Remove js2-mode settings that belong in the user's .emacs file, like
   js2-skip-preprocessor-directives.
2014-06-24 22:12:07 -07:00
Brian Birtles f81da87711 Bug 1029370 part 3 - Add a comment explaining the relationship between ComputedTiming and GetComputedTimingAt; r=dholbert
Review for this patch granted as part of bug 1029370 comment 4 (at the end).
2014-06-25 09:42:19 +09:00
Brian Birtles 70aef15145 Bug 1029370 part 2 - Make nsTransitionManager::FlushTransitions reuse GetComputedTimingAt; r=dholbert
This patch removes some redundant calculation of timing phases in
FlushTransitions by calling GetComputedTiming and using the definitions there.
2014-06-25 09:42:19 +09:00
Brian Birtles c5a2510c5f Bug 1029370 part 1 - Move active duration calculation to GetComputedTimingAt; r=dholbert
This patch makes the active duration a property of the ComputedTiming struct and
returns this as part of calculating GetComputedTimingAt. GetComputedTimingAt was
already calling the method to calculate the ActiveDuration and the only other
callers of ActiveDuration() were also calling GetComputedTimingAt so this
doesn't make us do any unnecessary calculation.

I've left ActiveDuration as a public method on ElementAnimation for now since
it's a struct and just about everything there is public. At some point in the
future we'll probably make this more class-like to hide some details but that
can happen as a separate step. This patch does, however, move the definition of
ActiveDuration inside the .cpp file.

In tidying up GetComputedTimingAt we also replace all the references to
TimeDuration() and TimeDuration(0) with a single local variable representing
zero duration. This should be easier to read and possibly a little faster.

We don't use a function static variable since this method is called from
different threads and the initialization of function statics is not guaranteed
to be thread-safe until C++0x.
2014-06-25 09:42:19 +09:00
Brian Birtles 51cf0526d8 Bug 1028514 - Check for integer overflow when converting from floating-point number milliseconds; r=froydnj
In TimeStamp_windows.cpp and TimeStamp_darwin.cpp, in
TimeStamp::FromMilliseconds we cast the floating-point number of ticks to
a 64-bit integer before passing to TimeStamp::FromTicks(int64_t).
This means that we skip the check for integer overflow performed by
TimeStamp::FromTicks(double).

This patch simply removes that cast so that we perform overflow checking.

It also adds an assertion to ElementAnimation since this is one place where
the lack of overflow checking was producing a negative value where it should
not.
2014-06-25 09:42:18 +09:00
Daniel Holbert b18c859bba Bug 1029180: Give nsStyleContext a private destructor & MOZ_FINAL, to make it less likely to be freed by anything other than refcounting. r=heycam 2014-06-24 11:00:57 -07:00
David Major e390b7e97c Bug 576435 - Use the clamping variant of NSToCoordRound to avoid rounding nscoord_MAX. r=roc 2014-06-24 15:47:02 +12:00
Brian Birtles 4798898a62 Bug 1026315 - Remove PercentageHashKey; r=dbaron 2014-06-24 15:29:54 +09:00
Brian Birtles 6bc9caf270 Bug 1010067 part 2 - Rename nsStyleAnimation.{h,cpp} to StyleAnimationValue.{h,cpp}; r=dbaron
--HG--
rename : layout/style/nsStyleAnimation.cpp => layout/style/StyleAnimationValue.cpp
rename : layout/style/nsStyleAnimation.h => layout/style/StyleAnimationValue.h
2014-06-24 15:29:54 +09:00
Brian Birtles 65c7f861cb Bug 1010067 part 1 - Rename nsStyleAnimation::Value to mozilla::StyleAnimationValue; r=dbaron
This patch also moves the static methods defined on nsStyleAnimation so that
they are part of StyleAnimationValue class.

Renaming nsStyleAnimation.h to StyleAnimationValue.h is performed in a separate
patch to simplify the diff (since some tools may not handle file renames
elegantly).
2014-06-24 15:29:54 +09:00
Brian Birtles e7abcde95d Bug 1026302 part 5 - Make a common property dtor for CommonElementAnimationData; r=dbaron
This patch takes the two static methods ElementAnimationsPropertyDtor and
ElementTransitionsPropertyDtor and replaces them with a class static on
CommonElementAnimationData.
2014-06-24 15:29:53 +09:00
Brian Birtles d30c6f0f93 Bug 1026302 part 4 - Remove ElementAnimations; r=dbaron
This patch removes ElementAnimations and replaces all references to
ElementAnimations with references to CommonElementAnimationData.

We don't bother to rename variables like 'ea' or methods like
GetElementAnimations to correspond with the data type
(CommonElementAnimationData) since CommonElementAnimationData will soon be
renamed in bug 1010067 and we'll rename these things then.

The ElementAnimationsPropertyDtor function is renamed and merged in a subsequent
patch in this series.
2014-06-24 15:29:53 +09:00
Brian Birtles 4f5c10b649 Bug 1026302 part 3 - Move GetEventsAt to nsAnimationManager; r=dbaron
In order to unify ElementAnimations with CommonElementAnimationData we need to
find another home for GetEventsAt which is specific to queueing CSS Animation
events. For now nsAnimationManager seems an appropriate place and corresponds
more closely to the arrangement for transitions (where nsTransitionManager is
responsible for queueing the events by iterating over the list of animations).

In future we may reintroduce a subclass of animation specific to CSS Animations
that does this event queueing but for now nsAnimationManager seems to be a
suitable place.

This patch simply moves the code and replaces references to "mAnimation" with
"eEA->mAnimation". There are no functional changes.
2014-06-24 15:29:53 +09:00
Benoit Jacob e1b7dbca34 Bug 1028588 - Fix dangerous public destructors in layout/ - r=dbaron 2014-06-23 18:40:01 -04:00
Brian Birtles c455b34df0 Bug 1026323 - Add a test for a transition with a delay running on the compositor; r=dzbarsky
This patch adds a test for transitions with a delay that run on the compositor.
Currently animations (including transitions) are not sent to the compositor
until they reach the end of their delay phase introducing the possibility that
the behavior might differ for animations with or without delays.

This patch adds a simple test for a transition with a delay. It also fixes an
existing bug in the opacity test. Also, it moves the step where the "transition"
property is removed to the end of the test sequence rather than the end of the
opacity test (which previously happened to occur at the end of the test
sequence).
2014-06-23 14:10:19 +09:00
Brian Birtles fd31104744 Bug 1026302 part 2 - Move PostRestyleForAnimation to CommonElementAnimationData; r=dbaron
This patch moves PostRestyleForAnimation from ElementAnimations to the base
class CommonElementAnimationData and makes use of it within nsTransitionManager.
2014-06-23 14:10:19 +09:00
Brian Birtles 69e56c645b Bug 1026302 part 1 - Move IsForElement and PseudoElement from ElementAnimations to CommonElementAnimationData; r=dbaron
IsForElement and PseudoElement are currently only defined on ElementAnimations
but could be used for transitions. This patch moves these methods to the common
base class CommonElementAnimationData and also makes use of PseudoElement within
nsTransitionManager.
2014-06-23 14:10:18 +09:00
Brian Birtles 516d813bbb Backing out bug 1026302 for build bustage changesets 3e719e2cc1bd and 7a2b642bf77a 2014-06-23 11:26:59 +09:00
Brian Birtles d01a278fc3 Bug 1026302 part 2 - Move PostRestyleForAnimation to CommonElementAnimationData; r=dbaron
This patch moves PostRestyleForAnimation from ElementAnimations to the base
class CommonElementAnimationData and makes use of it within nsTransitionManager.
2014-06-23 10:48:01 +09:00
Brian Birtles 00e736ff46 Bug 1026302 part 1 - Move IsForElement and PseudoElement from ElementAnimations to CommonElementAnimationData; r=dbaron
IsForElement and PseudoElement are currently only defined on ElementAnimations
but could be used for transitions. This patch moves these methods to the common
base class CommonElementAnimationData and also makes use of PseudoElement within
nsTransitionManager.
2014-06-23 10:48:01 +09:00
Jonathan Watt cf11dda286 Bug 1016345 - Add memory reporting for nsHTMLCSSStyleSheet's nsDataHashtable's buffer and the buffers of its nsString keys. r=dbaron 2014-06-22 23:02:05 +01:00
Jan Beich e8a0a3bf5b Bug 1028036 - Unbreak clang build on BSD after bug 1025709, using the proper namespace declaration. r=birtles 2014-06-22 22:23:59 +02:00
Xidorn Quan 9dd8319d1b Bug 1028512 - Remove {lower,upper}-{roman,alpha} from CSS keywords. r=jfkthame 2014-06-22 13:28:51 +01:00
Ms2ger bad4ca4d29 Bug 1022855 - Rename nsCSSStyleSheet to mozilla::CSSStyleSheet; r=heycam
--HG--
rename : layout/style/nsCSSStyleSheet.cpp => layout/style/CSSStyleSheet.cpp
rename : layout/style/nsCSSStyleSheet.h => layout/style/CSSStyleSheet.h
2014-06-20 12:32:49 +02:00
Ms2ger 451c7edf83 Backout revision 308e51eae10c for build bustage.
--HG--
rename : layout/style/CSSStyleSheet.cpp => layout/style/nsCSSStyleSheet.cpp
rename : layout/style/CSSStyleSheet.h => layout/style/nsCSSStyleSheet.h
2014-06-20 13:00:08 +02:00
Ms2ger 9fb7f507f0 Bug 1022855 - Rename nsCSSStyleSheet to mozilla::CSSStyleSheet; r=heycam
--HG--
rename : layout/style/nsCSSStyleSheet.cpp => layout/style/CSSStyleSheet.cpp
rename : layout/style/nsCSSStyleSheet.h => layout/style/CSSStyleSheet.h
2014-06-20 12:32:49 +02:00
Brian Birtles 5c1ec8e2f7 Bug 1025709 part 12 - Remove ElementTransitions; r=heycam
This patch replaces all references to ElementTransitions (now that it is empty)
with references to the base class, CommonElementAnimationData. It also takes the
opportunity to tidy up some of the call sites in nsLayoutUtils since they no
longer need to differentiate between animations and transitions.
2014-06-20 12:39:26 +09:00
Brian Birtles 7463593a9c Bug 1025709 part 11 - Make ElementPropertyTransition::ValuePortionFor reuse GetComputedTimingAt; r=heycam
In order to remove redundant code and generally make transitions less special,
this patch reworks ValuePortionFor to reuse the existing code for calculation
the fractional distance of within the animation interval.
2014-06-20 12:39:26 +09:00
Brian Birtles 9d2caa34ca Bug 1025709 part 10 - Move active layer notification out of CanPerformOnCompositorThread to call sites; r=heycam
A previous patch moved CanPerformOnCompositorThread to
CommonElementAnimationData including a FIXME saying that active layer
notification should happen at call sites. Now that the code for
GetAnimationsForCompositor is common, we can do the active layer notification
there.
2014-06-20 12:39:26 +09:00
Brian Birtles a722f517b1 Bug 1025709 part 9 - Move heavy lifting of GetAnimationsForCompositor from ElementAnimations/ElementTransitions to base class; r=heycam
This patch still leaves ElementAnimations|
ElementTransitions::GetAnimationsForCompositor as shortcuts
for the method now defined on CommonElementAnimationData.
2014-06-20 12:39:25 +09:00
Brian Birtles 67a80bcb08 Bug 1025709 part 8 - Move CanPerformOnCompositorThread from ElementAnimations/ElementTransitions to the base class; r=heycam 2014-06-20 12:39:25 +09:00
Brian Birtles f4c56d0897 Bug 1025709 part 7 - Move HasAnimationOfProperty from ElementAnimations/ElementTransitions to base class; r=heycam
This patch moves HasAnimationOfProperty to CommonElementAnimationData. It also
takes the chance to start removing some redundancy from nsLayoutUtils
/ ActiveLayerTracker. Some of this should never have been added in the first
place and some could have been removed earlier on but while we're fixing up
HasAnimationOfProperty it seems like an appropriate time to fix up its call
sites too.

Also, since HasAnimationOrTransition actually returns an object, not a bool, we
this patch renames it to GetAnimationsOrTransitions.
2014-06-20 12:39:25 +09:00
Brian Birtles e8729cc7fd Bug 1025709 part 6 - Reuse nsAnimationManager::EnsureStyleRuleFor; r=heycam
In a number of places in nsAnimationManager we have the following sequence of
calls:

  CommonElementAnimationData::EnsureStyleRuleFor
  ElementAnimations::GetEventsAt
  nsAnimationManager::CheckNeedsRefresh

nsAnimationManager::EnsureStyleRuleFor already does exactly that so we should
just reuse it.

At the same time we rename EnsureStyleRuleFor to UpdateStyleAndEvents since
that's a bit more accurate. It's also confusing to have two methods of the same
name (but on different objects) that don't exactly correspond in terms of
the scope of what they do.
2014-06-20 12:39:25 +09:00
Brian Birtles 95c414f550 Bug 1025709 part 5 - Replace aIsThrottled bool value with an enum; r=heycam 2014-06-20 12:39:25 +09:00
Brian Birtles 0833cb3100 Bug 1025709 part 4 - Move EnsureStyleRuleFor from ElementTransitions and ElementAnimations to CommonElementAnimationData; r=heycam
Both ElementAnimations and ElementTransitions have an EnsureStyleRuleFor method.
The ElementAnimations version is a more general of the ElementTransitions one
with the exception that the ElementTransitions version checks for finished
transitions. This patch moves the code from ElementAnimations to
CommonElementAnimationData with one minor change: adding the checks for finished
transitions. The ElementTransitions version is removed.

Since the ElementAnimations version contains a second parameter, aIsThrottled,
callers of ElementTransitions must include this extra parameter. In
a subsequent patch we add an enum for this parameter to make call sites easier
to read.

The ElementAnimations version also sets the mNeedsRefreshes member so at the
same time we move mNeedsRefreshes to CommonElementAnimationData. Furthermore,
since the ElementAnimations version which we have adopted returns early if
mNeedsRefreshes is false, this patch ensures that when we call
EnsureStyleRuleFor from ElementTransitions::WalkTransitionRule, we set
mNeedsRefreshes to true first.

Another difference to account for is that the ElementTransitions version of
EnsureStyleRuleFor *always* sets mStyleRule (even if it doesn't add anything to
it) where as the ElementAnimations version only creates the rule when necessary
so we need to add a check to ElementTransitions::WalkTransitionRule that
mStyleRule is actually set before using it.
2014-06-20 12:39:24 +09:00
Brian Birtles 55944f4c7c Bug 1025709 part 3 - Move delay calculation to GetComputedTimingAt; r=heycam
Now that an animation's delay is part of AnimationTiming--the struct we pass to
GetComputedTimingAt--it makes sense to act on it in GetComputedTimingAt.

This also happens to bring the procedures here closer to the algorithm
definitions in Web Animations.

As part of this refactoring, this patch converts ElementAnimation::IsRunningAt
to use GetComputedTiming since the previous approach no longer works now that
GetLocalTimeAt (nee ElapsedDurationAt) no longer handles delays. This also
removes duplicated logic.

Also, previously ElapsedDurationAt would assert if called on a finished
transition since TimeDuration's - operator wouldn't like the null mStartTime.
This patch adds an assertion for this case to GetLocalTimeAt to ease debugging.
2014-06-20 12:39:24 +09:00
Brian Birtles 5c00d7239f Bug 1025709 part 2 - Add IsFinished() to ElementAnimation; r=heycam
One of the main differences in handling a list of transitions vs a list of
regular animations is that when we are dealing with a list of transitions we
need to check for transitions that have finished and are about to be discarded
but need to be retained temporarily to provide correct triggering of subsequent
transitions. Such transitions are marked as "removed sentinels" and are ignored
for most operations.

This patch moves the methods for setting and checking such transitions to the
base class ElementAnimation so that we can treat animations and transitions
alike without having to downcast or do obscure checks for mStartTime.IsNull()
(which equates to checking if the animation is a "removed sentinel" but is not
particularly clear).

In the process, this patch renames said methods to Is/SetFinishedTransition
since hopefully that is a little easier to understand at a glance.
2014-06-20 12:39:24 +09:00
Brian Birtles 5bb2caab0a Bug 1025709 part 1 - Move mDelay to AnimationTiming; r=heycam
This patch is the first part in preparing the way to merge ElementTransitions
with CommonElementAnimationData (which we'll eventually rename to something
nicer).

Here we move mTiming from CommonElementAnimationData to the AnimationTiming
struct. While this is not strictly necessary in order to do the later
refactoring it makes it simpler since it:

- Divides time calculation into calculation based on dynamic play state (the
  responsibility of animation players in Web Animations terms) and static
  author-specified timing parameters (a property of animations in Web Animations
  terms).
- In future we will probably put animations on the compositor during their
  delay phase so we will want the delay to be present in the AnimationTiming
  struct then.
- Makes AnimationTiming line up with the dictionary of the same name in Web
  Animations.
2014-06-20 12:39:23 +09:00
Kyle Huey b1e3198eed Bug 737976: Remove nsINodeInfo. r=smaug
--HG--
rename : content/base/src/nsNodeInfo.cpp => dom/base/NodeInfo.cpp
rename : content/base/public/nsINodeInfo.h => dom/base/NodeInfo.h
rename : content/base/src/nsNodeInfo.h => dom/base/NodeInfoInlines.h
2014-06-19 19:01:40 -07:00
Andrew McCreight 368491119e Bug 990160 - Cycle collect nsCSSRuleProcessor. r=bz 2014-06-19 14:36:53 -07:00
Andrew McCreight 715e4aad6a Bug 1011391 - Clear rule cascades in nsCSSStyleSheet's Unlink. r=bz 2014-06-18 15:33:30 -07:00
Cameron McCormack c700a52d2a Bug 1026903 - Make nsStyleContext members private. r=dbaron 2014-06-19 13:19:39 +10:00
Cameron McCormack ab79bfe830 Bug 1026345 - Remove the now unused nsStyleContext allocation functions. r=dbaron 2014-06-19 13:19:11 +10:00
Cameron McCormack 5a3e19e62c Bug 1026344 - Part 4: Make nsStyleCoord::Calc refcounted and introduce a non-refcounted nsStyleCoord::CalcValue. r=dbaron
This means that style structs holding computed calc() values are now able to be
stored in the rule tree.
2014-06-19 13:18:03 +10:00
Cameron McCormack 06cbf2ee81 Bug 1026344 - Part 3: Rename CalcValue to PixelCalcValue. r=dbaron 2014-06-19 13:17:56 +10:00
Cameron McCormack 916d111a71 Bug 1026344 - Part 2: Make nsStyleUnit a uint8_t-sized enum so we can use it on nsStyle{Sides,Corners}. r=dbaron 2014-06-19 13:17:10 +10:00
Cameron McCormack 94d86f7148 Bug 1026344 - Part 1: Don't use memcpy to copy style structs. r=dbaron
This is in preparation for nsStyleCoords becoming non-POD types.  The
use of memcpy is a bit of a trap when modifying the style structs, and
it likely has marginal value now that anything with an nsStyleCoord
can't be memcpy-initialized.
2014-06-19 13:17:10 +10:00
Birunthan Mohanathas bc0233fe47 Bug 1026535 - Fix mismatched class/struct tags. r=ehsan 2014-06-18 17:57:51 -07:00
Benoit Jacob 15b208d7f3 Bug 1027251 - Fix or whitelist dangerous public destructors in layout/ - r=dbaron 2014-06-18 22:28:59 -04:00
Nicholas Nethercote aaf6fb2124 Bug 1010064 - Allow memory reports to be anonymized. r=bsmedberg.
--HG--
extra : rebase_source : 5eb756b17a97e751deb0f47e909fdb35533cb23b
2014-05-20 23:06:54 -07:00
Susanna Bowen 58e46a1570 Bug 727125 - Update overflow areas for text frames on text-decoration change to ensure text-decoration on hover is visible. r=dbaron 2014-06-17 10:32:00 -04:00
Jonathan Watt 2586dd3cb2 Bug 1025553, part 1 - Change the names of the members of gfxMatrix to match the names of the members of Moz2D's Matrix. r=Bas 2014-06-17 18:35:51 +01:00
Josiah Bruner 0036c7d280 Bug 1021309 - Add "mac-yosemite-theme" CSS system metric. r=mstange 2014-06-05 18:02:46 -04:00
Susanna Bowen 64b0116f8b Bug 1025308 - Rename the variables associated with skipping style fixups for children element's based on parent display value. r=mats 2014-06-16 09:55:00 -04:00
Wes Kocher abf9a45351 Backed out 2 changesets (bug 727125) for reftest bustage on an otherwise CLOSED TREE
Backed out changeset 443361e2724a (bug 727125)
Backed out changeset 16c8d78df86e (bug 727125)
2014-06-16 13:34:50 -07:00
Susanna Bowen dc169c8b48 Bug 727125 - Update overflow areas for text frames on text-decoration change to ensure text-decoration on hover is visible. r=dbaron 2014-06-16 11:58:29 -07:00
Neil Deakin 5504409f46 Bug 994117, add method to check if an element has current animations, r=bbirtles 2014-06-16 14:43:04 -04:00
Xidorn Quan b0f48b5c88 Bug 1025359 - Correct -moz-tamil according to Predefined Counter Styles. r=jfkthame 2014-06-13 17:01:00 +02:00
Xidorn Quan a84079e422 Bug 985825 - Unprefix -moz-ethiopic-numeric. r=jfkthame 2014-06-13 17:37:00 +02:00
Xidorn Quan 603c17d06a Bug 982355 - Support disclosure-{open,closed} counter styles. r=jfkthame 2014-06-13 17:34:00 +02:00
Mats Palmgren e5d483a47c Bug 427928 - part 1, Treat outline:auto as outline:solid. r=roc 2014-06-14 12:48:07 +00:00
John Daggett c0051b7e8a Bug 1022481 - handle -moz-fixed in the no doc fonts case correctly. r=heycam 2014-06-13 10:32:27 +09:00
Ryan VanderMeulen 6ad0691f7e Backed out changesets d0ee7053aaf3 and c83f17cd74be (bug 727125) for B2G reftest failures.
CLOSED TREE
2014-06-12 14:45:40 -04:00
Daniel Holbert 901461ddb7 Bug 1024084: Clean up forward declarations and #includes in nsFrameManager.h and nsFrameManagerBase.h. r=jwatt 2014-06-12 10:09:31 -07:00
Susanna Bowen bfe9ba9d94 Bug 727125 - Update overflow areas for text frames on text-decoration change to ensure text-decoration on hover is visible. r=dbaron 2014-06-09 15:00:00 -04:00
Xidorn Quan 5b17a8fc75 Bug 966166 - Part 6: Tests for @counter-style. r=jfkthame, r=davidb 2014-06-11 21:14:00 -04:00
Xidorn Quan 1f715fcecd Bug 966166 - Part 5: Move computation code with minor changes. r=dbaron
In addition to moving the code, this patch also:
* changes the square character from U+25AA to U+25FE to match the spec
* changes all the generating functions from using append to using assign
* removes negative handling from CJKIdeographicToText since it is no longer used there
* fixes indentation and naming conventions
* changes buffer size in DecimalToText
2014-06-11 21:13:00 -04:00
Xidorn Quan a711bc7355 Bug 966166 - Part 4: Rewrite some builtin counter styles. r=dbaron 2014-06-11 21:12:00 -04:00
Xidorn Quan c011970f03 Bug 966166 - Part 3: Link to other parts. r=dbaron 2014-06-11 21:12:00 -04:00
Xidorn Quan 4831f428cc Bug 966166 - Part 2: Computation of counter style. r=dbaron 2014-06-11 21:11:00 -04:00
Xidorn Quan 96a68ed4e1 Bug 966166 - Part 1: Parse @counter-style rule. r=dbaron, r=bz 2014-06-11 21:10:00 -04:00
Brian Birtles 72cf77230c Bug 1004377 - Dispatch events for CSS Animations with empty keyframes rules; r=dholbert
This patch removes the check that skipped queueing events for animations
without keyframes since the spec indicates such animations should dispatch
events.

There is a further correctness fix here for the case where a keyframes rule
is modified using the CSSOM so that it becomes empty. Previously when we
came to create the new animation rules we would end up setting
ElementAnimations::mNeedRefreshes to false since we check if the keyframes
rule is empty and if it is we would skip all further processing (including
setting mNeedsRefreshes).

That means that:
(a) We may end up unregistering from the refresh observer so we would never
    dispatch the end event for such an animation.
(b) If the animation was running on the compositor we may never remove it from
    the compositor or may not do it in a timely fashion.

To fix both these problems, this patch removes the check for an empty keyframes
rule so that mNeedsRefreshes is set in this case.
2014-06-12 13:18:14 +09:00
Brian Birtles da8fce7eea Bug 1018862 part 8 - Add special handling for non-invertible transforms; r=dholbert
This patch adjusts the tests for transform transitions that run on the
compositor to handle transitions that begin with a non-invertible transform.
In this case the first sample at the start of the animation won't create
a layer because in nsDisplayTransform::BuildLayer
/ FrameLayerBuilder::BuildContainerLayerFor we'll skip creating the layer once
we notice the equivalent matrix is singular.

In this patch we detect that case and force an extra sample betwee 0 and 200s at
100s. This means the layer will be created at t=100s and be available for
querying at the next sample.

Similar issues could occur, for example, if the transforms at both t=0s
and t=100s are not invertible but currently that doesn't occur. We can add
handling for that if and when it becomes necessary.
2014-06-12 13:17:47 +09:00
Brian Birtles d73c4f0840 Bug 1018862 part 7 - Convert test_transitions_per_property.html to use OMTA test methods; r=dholbert
This patch takes the existing tests for transitions running on the compositor
and makes them re-use the same test utility methods as used for testing CSS
Animations that run on the compositor. This means these tests now also check
that the transition is in fact running on the compositor when it is expected to.

It seems the big_omta_round_error is no longer needed so I've removed that.

The test that begins with "skew(45deg, 45deg)" currently fails so it is skipped
here. This is addressed in the next patch in the series.
2014-06-12 13:17:47 +09:00
Brian Birtles 249b534672 Bug 1018862 part 6 - Fix handling of 3d matrices in omta_is and co.; r=dholbert
This patch fixes a bug in the handling of 3d matrices represented as an array of
numbers.
2014-06-12 13:17:47 +09:00
Brian Birtles dd9b7eee62 Bug 1018862 part 5 - Move paint listener promise wrappers to animation_utils.js; r=dholbert
This patch moves some utility methods from test_animations_omta.html to
animation_utils.js so that they can be used for testing transitions as well.
2014-06-12 13:17:47 +09:00
Brian Birtles 4e4bfaf98f Bug 1018862 part 4 - Move omta_is and friends to animation_utils.js; r=dholbert
This patch simply moves code from test_animations_omta.html to
animation_utils.js so that we can use it for testing transitions as well.
2014-06-12 13:17:47 +09:00
Brian Birtles eaabbd322b Bug 1018862 part 3 - Fix the order of arguments to omta_is_approx; r=dholbert
This patch simply re-arranges the order of arguments to omta_is_approx so that
the delta sits along side the values being compared.

This, I think, makes more sense and also is more consistent when converting
tests from test_animations.html to test_animations_omta.html since the
"RunningOn" parameter is consistently inserted in the second-to-last position
just before the description for both omta_is and omta_is_approx.
2014-06-12 13:17:47 +09:00
Brian Birtles 11ab984348 Bug 1018862 part 2 - Make new_div no longer secretly flush styles; r=dholbert
This patch removes the line from new_div that forced a style flush. This was
very confusing because:
* It behaved differently to new_div in test_animations.html so copying tests
  over was more complex (particularly when registering for events is involved).
* It meant after setting up initial style using new_div you could just call
  waitForPaints but if you updated style using elem.style you'd need to call
  waitForPaintsFlushed.

In adjusting test_animations_omta.html we are able to simplify the tests
somewhat. This patch also adds a few additional checks that waiting to update
the compositor does not produce different results.
2014-06-12 13:17:47 +09:00
Brian Birtles 28571a4627 Bug 1018862 part 1 - Factor out common async animation test methods; r=dholbert
This patch moves some test utility methods from test_animations_omta.html to
animation_utils.js. It also renames addAsyncTest to addAsyncAnimTest and
likewise for a few other methods.
2014-06-12 13:17:46 +09:00
Daniel Holbert 6e81212944 Bug 1021913: Explicitly give the textfield in input[type="number"] a min-width of 0, so that "min-width:auto" won't block it from shrinking. r=jwatt 2014-06-11 15:35:18 -07:00
Jonathan Watt 990301afdd Bug 1016680, part 1 - Report the memory used by RuleCascadeData::mKeyframesRuleTable. r=dholbert
--HG--
extra : rebase_source : 97bd8b0ddef514e9eb218eac783c3af892a8014e
2014-06-11 11:20:50 +01:00
Brian Birtles 2086f1b512 Bug 1004365 part 5 - Add tests for zero-duration animations; r=dholbert 2014-06-11 14:19:08 +09:00
Brian Birtles 693e219c99 Bug 1004365 part 4 - Make nsAnimationManager.cpp no longer skip zero-duration animations; r=dholbert 2014-06-11 14:19:08 +09:00
Brian Birtles 5b6d05e7f8 Bug 1004365 part 3b.2 - Make ElementAnimation::GetComputedTimingAt handle zero-duration animations; r=dholbert
This patch adjusts GetComputedTimingAt to set the time fraction and current
iteration fields of the output computed timing correctly for animations with
zero iteration duration. Care must be taken to handle cases such as animations
that have zero duration but repeat infinitely.

The code is significantly re-arranged to more closely align with the naming and
algorithms defined in Web Animations.

A couple of tests in test_animations.html have been tweaked to account for
floating-point error. This is not because the new code is less precise but
actually the opposite. These tests fall on the transition point of step-timing
functions. The new code uses the closest possible floating-point representation
of these times which happens to cause them to fall on the opposite side of the
transition point.

For example, in evaluating a point 3s into a reversed interval the old code
would give us an intermediate time fraction of:

   0.29999999999999982

When we reverse that by subtracting from 1.0 we get: 0.70000000000000018

With the code in this patch we get an intermediate time fraction of:

   0.29999999999999999

When we reverse that by subtracting from 1.0 we get: 0.69999999999999996

Hence we fall on the opposite side of the transition boundary.
2014-06-11 14:19:08 +09:00
Brian Birtles 3b4d311452 Bug 1004365 part 1 - Make active duration calculation handle zero-duration animations; r=dholbert
This patch also makes ElementAnimation::ActiveDuration a static method that
takes timing parameters as an argument. This is so that this method can be
used within ElementAnimations::GetComputedTimingAt (a static method) in a
future patch.

We could also make ActiveDuration() a method of AnimationTiming. I suspect
this logic belongs together in ElementAnimation however.

In a future patch we could also add the active duration to the ComputedTiming
struct which would simplify the only other place this is currently used
which is ElementAnimations::GetEventsAt.
2014-06-11 14:19:07 +09:00
William Chen 4118b653d4 Bug 1022741 - Use CrossShadowCurrentDoc() in Element::UpdateState. r=smaug 2014-06-10 14:41:31 -07:00
Giovanni Sferro 8af5e719cd Bug 995901 - Rename nsICSSRuleList to mozilla::dom::CSSRuleList. r=bz
--HG--
rename : layout/style/nsICSSRuleList.cpp => layout/style/CSSRuleList.cpp
rename : layout/style/nsICSSRuleList.h => layout/style/CSSRuleList.h
2014-06-09 22:11:00 -04:00
Cameron McCormack 1eb6e77616 Bug 1017798 - Part 3: Crashtest. r=bzbarsky 2014-06-06 17:51:25 +10:00
Cameron McCormack 9a75e854c1 Bug 1017798 - Part 1: Make AncestorFilter and the TreeMatchContext style scope list include ancestors from following ShadowRoots up to the light tree. r=bzbarsky 2014-06-06 15:22:55 +10:00
Ryan VanderMeulen 299c80e283 Bug 891840 - Disable test_pixel_lengths.html on all platforms for intermittent crashes.
CLOSED TREE
2014-06-07 01:08:16 -04:00
William Chen 416f36b0de Bug 992521 - Part 2: Make styles work when not in document, but contained by a ShadowRoot with a host in document. r=smaug 2014-06-07 01:42:54 -07:00
John Daggett d3a7f06bbb Bug 280443 p4 - properly escape unquoted font family names. r=heycam 2014-06-06 15:09:24 +09:00
John Daggett 8259cc74f5 Bug 280443 p3 - use fontlist struct in gfx. r=roc,fredw 2014-06-06 15:09:23 +09:00
John Daggett 861e272110 Bug 280443 p2 - parse font family lists into fontlist structs. r=heycam 2014-06-06 15:09:23 +09:00
Jonathan Kew 6b50ed1f30 bug 1020143 - prefer tabular numerals for list numbering. r=jdaggett 2014-06-05 11:15:26 +01:00
Ed Morley ecb14c77ee Backed out changeset 70713dd1ee5e (bug 1020143) for B2G reftest failures in counter-suffix.html; CLOSED TREE 2014-06-05 15:47:53 +01:00
Cameron McCormack 8311e3a117 Bug 1019555 - Treat newlines and tabs as space characters in SVG xml:space="preserve" text. r=roc 2014-06-05 13:25:15 +10:00
Morris Tseng 5d9e036945 Bug 987718 - Part 6: Hooks up SelectionCaret; r=roc 2014-06-04 22:58:00 +02:00
Jonathan Kew b4a19e8b99 bug 1020143 - prefer tabular numerals for list numbering. r=jdaggett 2014-06-05 11:15:26 +01:00
Daniel Holbert 3737ca9d91 Bug 864005: Remove mentions of & checks for 'layout.css.supports-rule.enabled' pref. r=heycam r=khuey 2014-06-04 21:07:07 -07:00
Jeremy Poulin 21428535f7 Bug 1016622: Renaming mozilla::network::Seer to mozilla::network Predictor. r=hurley
--HG--
rename : netwerk/base/public/nsINetworkSeer.idl => netwerk/base/public/nsINetworkPredictor.idl
rename : netwerk/base/public/nsINetworkSeerVerifier.idl => netwerk/base/public/nsINetworkPredictorVerifier.idl
rename : netwerk/base/src/Seer.cpp => netwerk/base/src/Predictor.cpp
rename : netwerk/base/src/Seer.h => netwerk/base/src/Predictor.h
rename : netwerk/test/unit/test_seer.js => netwerk/test/unit/test_predictor.js
2014-06-03 13:37:46 -07:00
Boris Zbarsky 88aef1f5fa Bug 1016063. Don't include the fake classnames XUL tree pseudo-elements have when calculating style rule specificity. r=heycam 2014-06-03 11:38:38 -04:00
Phoebe Chang a37fc5efe4 Bug 924692 - Part 1: Add touch caret rendering support; r=roc 2014-06-03 15:08:25 +08:00
Phil Ringnalda 3e5340dd29 Merge f-t to m-c 2014-05-31 20:31:07 -07:00
Victor Porof 9ce7e9c089 Bug 1007203 - Always add categories when pushing to the pseudostack, r=djvj 2014-05-23 17:12:29 -04:00
Ms2ger b790db0fab Merge mozilla-inbound to mozilla-central. 2014-05-30 14:07:35 +02:00
Xidorn Quan fba7dd3788 Bug 1013160 - Remove padding suppressing mechanism of bullet. r=jfkthame,surkov 2014-05-30 09:00:26 +01:00
Ms2ger a39cee4de3 Bug 741295 - Treat 'id' and 'class' as global attributes for all elements; r=bz 2014-05-30 09:36:53 +02:00
Ms2ger d1f63c87ff Bug 995780 - Remove CSSStyleSheet classinfo; r=bz 2014-05-30 09:36:51 +02:00
Brian Birtles 05f227606f Bug 1007513 - Make AnimationEvent.elapsedTime report the actual time the animation has been running; r=dholbert
This patch implements the behavior proposed in:

  http://lists.w3.org/Archives/Public/www-style/2014May/0356.html
2014-05-30 09:45:39 +09:00
L. David Baron 581f9bc30a Bug 989802 - Round viewport units to appunits using trunc rather than round so that repeated uses fit within a container. r=roc
viewport-units-rounding-1.html fails without the patch and passes with
the patch.

viewport-units-rounding-2.html fails with an early version of the patch
but not without the patch or with the final version.
2014-05-29 17:43:06 -07:00
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 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
Neil Rashbrook ef8d375d0b Bug 869836 - Part 9a: Use AssignLiteral(MOZ_UTF16(...)) instead of Assign(NS_LITERAL_STRING(...)). r=ehsan
Relading with correct bug number so DONTBUILD.

--HG--
extra : amend_source : 6e05de7729c27761564124212b7d4cbe3318e482
2014-05-26 21:54:10 +03:00
Birunthan Mohanathas 7ed88d413a Backout 8b8bbe7aa1cc due to wrong bug number 2014-05-27 14:42:13 +03:00
Birunthan Mohanathas d9e420fc7c Bug 869836 - Part 12: Use `Assign('c')` instead of `AssignLiteral("c")`. r=ehsan
--HG--
extra : rebase_source : a6b15019cee452973dd8bf3112c15e14175855a9
2014-05-26 21:55:08 +03:00
Neil Rashbrook 71828ecc1c Bug 995730 - Part 9a: Use AssignLiteral(MOZ_UTF16(...)) instead of Assign(NS_LITERAL_STRING(...)). r=ehsan
--HG--
extra : rebase_source : d2d3d611c06a2a7ec930fb11576d7c8335c0a6e2
2014-05-26 21:54:10 +03:00
Jonathan Watt bdf4d7ea6b No bug - Add a comment to nsStyleSet::SizeOfIncludingThis noting that it does _not_ count the size of the sheets in mSheets, only the size of the mSheets buffer. 2014-05-24 21:37:12 +01:00
Jonathan Watt ec734706e6 Bug 1013936, part 2 - Only load the html.css UA style sheet on-demand for SVG documents. r=bz CLOSED TREE 2014-05-24 20:29:11 +01:00
Jonathan Watt 74572624da Bug 1008455 - Avoid loading the xul.css UA style sheet when possible. r=bz CLOSED TREE
--HG--
rename : toolkit/content/xul.css => toolkit/content/minimal-xul.css
2014-05-24 19:51:06 +01:00
Jonathan Watt 745f910b48 Bug 1015147 - Use the style sheet cache to store the user-agent style sheets svg.css and mathml.css so that we don't create new instances for each new document. r=bz 2014-05-24 19:46:38 +01: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 aea8617b92 Bug 869836 - Part 7: Use AppendLiteral instead of Append where possible. 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
John Schoenick ef46541290 Bug 870021 - Part 5.3 - nsImageFrame should take orientation into account when getting natural size from content. r=roc 2014-05-30 13:03:07 -07:00
Trevor Saunders 42ad93c2a2 bug 1004746 - part 1 - Remove a bunch of usage of nsAutoPtr's copy ctor r=froydnj 2014-05-07 18:05:37 -04:00
Brian Birtles 26771191de Bug 964646 part 21 - Add OMTA tests for animation list lengths and dynamic style rule changes; r=dbaron
This patch adds tests for triggering animations based on the length of the
animation-name property as well as tests for dynamic changes to style rules.
These tests are based on tests in test_animations.html but for directed at
animations that run on the compositor thread.
2014-05-19 14:42:49 +09:00
Brian Birtles 2fe9ec8c37 Bug 964646 part 20 - Add OMTA tests for cascading between keyframe rules; r=dbaron
This patch adds tests for the cascanding of keyframes rules based on those in
test_animations.html but for animations that run on the compositor thread.
2014-05-19 14:42:49 +09:00
Brian Birtles 221f0d02ed Bug 964646 part 19 - Add OMTA tests for restyling interaction; r=dbaron
This patch adds tests for the interaction of animation and restyling (Bug
686656) based on those in test_animations.html but for animations that run on
the compositor thread.
2014-05-19 14:42:49 +09:00
Brian Birtles cc5e443af3 Bug 964646 part 18 - Add omta_todo_is for marking OMTA animations that are known to fail; r=dbaron
The implementation here current expects BOTH the following to fail:

- The comparison between the OMTA value and the expected value
- The comparison between the OMTA value and the computed value

This generally tends to be the case since the computed value and expected value
normally match unless we have a bug that affects all CSS animations. If we need
to mark tests where the computed value is also wrong we'll need to modify the
behavior here at that time.

This patch also applies this new function to the author !important test that was
previously commented-out because it currently fails.
2014-05-19 14:42:49 +09:00
Brian Birtles d5a3ddea27 Bug 964646 part 17 - Add RunningOn.TodoMainThread for marking animations that are known to run on the compositor when they should not; r=dbaron
This patch also ensures that when we have an animation running on the compositor
when it should not that we still compare the values produced on the compositor
and on the main thread so that the visual result is correct even if the
performance characteristics are not.
2014-05-19 14:42:49 +09:00
Brian Birtles 7469c3bbeb Bug 964646 part 16 - Add OMTA tests for !important rules and animations; r=dbaron
This patch adds tests for the handling of author !important rules and animations
based on similar tests in test_animations.html but for animations that run on
the compositor thread.

Due to bug 847287, these tests don't pass and are partly disabled. Subsequent
patches add todo_is tests for this.
2014-05-19 14:42:49 +09:00
Brian Birtles cfec9f5bd6 Bug 964646 part 15 - Add OMTA tests for sampling animations with same timestamp; r=dbaron
This patch adds a version of tests in test_animations.html for bug 651456 which
covers multiple samples with the same timestamp. The version here, however,
tests animations that run on the compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles 38ca308824 Bug 964646 part 14 - Add OMTA tests for multi-property animations; r=dbaron
This patch adds a version of tests in test_animations.html for keyframe
animations with multiple properties where some properties are present in only
some keyframes. The version here, however, tests animations that run on the
compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles 053c14ee68 Bug 964646 part 13 - Add OMTA tests for animation-delay; r=dbaron
This patch adds a version of tests in test_animations.html under the heading,
"css3-animation: 3.8 The 'animation-delay' Property", for animations
that run on the compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles eec07cb991 Bug 964646 part 12 - Add OMTA tests for animation-play-state; r=dbaron
This patch adds a version of tests in test_animations.html under the heading,
"css3-animation: 3.7 The 'animation-play-state' Property", for animations
that run on the compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles 003ae65bad Bug 964646 part 11 - Add OMTA tests for animation-direction; r=dbaron
This patch adds a version of tests in test_animations.html under the heading,
"css3-animation: 3.6 The 'animation-direction' Property, for animations
that run on the compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles aa7d448086 Bug 964646 part 10 - Fix floating point precision issues when comparing matrices; r=dbaron
This patch addresses and issue where the OMTA style and computed style were not
comparing equal in one particular case.

In this case AddTransformTranslate in nsStyleAnimation would give us
a translate-y value of 94.331673 in both cases (i.e. when calculating the
animated value on the compositor thread or when fetching computed style).

For the OMTA case, however, after we apply additional layer transformations and
then reverse them (so we can query the CSS value) we'd end up with 94.331642,
a difference of 0.000031. The reversing procedure is only used for testing so
the actual error introduced here by the additional layer transformations is
probably less.

Unfortunately, when we pass 94.331642 this along to MatrixToCSSValue we get back
matrix(1, 0, 0, 1, 94.3316) since it only outputs 6 digits of precision.

On the other hand, on the computed style end we'd pass 94.331673 to
MatrixToCSSValue which gives us matrix(1, 0, 0, 1, 94.3317), so the error swells
from 0.000031 to 0.0001.

Then when we subtract 94.3316 from 94.3317 in Javascript we get
0.00010000000000331966 due to floating-point precision issues which compares
greater than the default tolerance of 0.0001.

This patch simply adjusts the default tolerance to 0.00011 to accommodate
these floating-point differences.
2014-05-19 14:42:48 +09:00
Brian Birtles f0c899b2eb Bug 964646 part 9 - Add OMTA tests for animation-iteration-count; r=dbaron
This patch adds a version of tests in test_animations.html under the heading,
"css3-animation: 3.5 The 'animation-iteration-count' Property" for animations
that run on the compositor thread.

These tests surface an issue where in some cases precision errors lead to
discrepencies between the OMTA style and computed style. This is fixed in
a subsequent patch in this series.
2014-05-19 14:42:48 +09:00
Brian Birtles 016017d81d Bug 964646 part 8 - Add OMTA tests for animation-name; r=dbaron
This patch adds a version of the tests in test_animations.html under the
heading, "css3-animations:  3.2. The 'animation-name' Property" that tests the
same features when animations are running on the compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles 50b417c786 Bug 964646 part 7 - Handle NaN values when comparing matrices; r=dbaron
The test harness code for normalizing transform inputs to a standard form for
comparison fails to detect the case where the input is a string such as

 { tx: "20px" }

instead of:

 { tx: 20 }

When we go to compare matrix components we fail if:

  Math.abs(a.comp - b.comp) > tolerance

But if a.comp or b.comp is a string, we'll get NaN on the LHS and
"NaN > tolerance" will return false so we'll skip the failure handling and
continue onto the next component. That means if we have input { tx: "30px" } and
we get "20" as the x-translation component we'll pass the test.

This patch fixes this condition to check for isNaN.

We *could* also just drop a few .map(parseFloat) calls into
convertObjectTo3dMatrix and convertArrayTo3dMatrix to ensure "20px" becomes 20
but there may be situations where that masks bugs (since "20px" and "20em" turn
into the same thing) so for now this minimal fix should be enough.
2014-05-19 14:42:48 +09:00
Brian Birtles 2a02662277 Bug 964646 part 6 - Add OMTA tests for timing functions on keyframes; r=dbaron
This patch converts the tests in test_animations.html under the heading,
"css3-animations:  3.1. Timing functions for keyframes" to an equivalent version
for testing animations that run on the compositor thread.
2014-05-19 14:42:47 +09:00
Daniel Holbert e79bba42f6 Bug 1005660: Add an "early freeze" step, to freeze flex items that clearly can't grow (or shrink, if we're shrinking). r=mats 2014-05-17 18:49:06 -07:00
Boris Zbarsky b1e3f060e4 Bug 1008719. CSS syntax got changed to allow identifiers starting with "--", so update our escaping code accordingly. r=dholbert 2014-05-15 10:26:53 -07:00
Bobby Holley 0378fc7bf6 Bug 1005552 - Stop binding marquee event handlers. r=bz
These functions get invoked as event listeners, so we'll automatically get the
proper |this|. The reason for the existing shenanigans was to work around
bug 872772, which has now been fixed.
2014-05-16 10:56:41 -07:00
Ryan VanderMeulen 9e342ce37a Revert to revision 63dfac3c9c87 due to mass bustage pile-ups that landed after it on a CLOSED TREE. 2014-05-16 12:29:37 -04:00
Boris Zbarsky d854d7d9f0 Bug 1008719. CSS syntax got changed to allow identifiers starting with "--", so update our escaping code accordingly. r=dholbert 2014-05-15 10:26:53 -07:00
Ryan VanderMeulen c53951f788 Backed out 4 changesets (bug 1008236, bug 1010344, bug 1004458, bug 1008719) for mochitest crashes on a CLOSED TREE.
Backed out changeset 28ecab881472 (bug 1008719)
Backed out changeset 7eebcecb7e26 (bug 1004458)
Backed out changeset 17ea7f2276ac (bug 1010344)
Backed out changeset 184ead7f6e37 (bug 1008236)
2014-05-15 14:24:12 -04:00
Boris Zbarsky 47ab97d07a Bug 1008719. CSS syntax got changed to allow identifiers starting with "--", so update our escaping code accordingly. r=dholbert 2014-05-15 10:26:53 -07:00
Nick Lebedev c49e263d0f Bug 998002 - Rename nsContentUtils::Get{Subject,Object}Principal to nsContentUtils::{Subject,Object}Principal. r=bholley 2014-05-13 11:58:00 +02:00
Brian Birtles 9c7f65de0d Bug 1004383 part 4 - Move mAnimations to CommonElementAnimationData; r=dbaron
As a result, transitions are now stored using a pointer to the base class,
mozilla::ElementAnimation. We downcast to a transition only when necessary. No
error-checking of the result of AsTransition is performed since we only ever
call it on the mAnimations member of ElementTransitions.
2014-05-15 08:38:37 +09:00
Brian Birtles 995090537a Bug 1004383 part 3 - Add ElementAnimation::AsTransition virtual method; r=dbaron
Add a method for downcasting from an ElementAnimation to an
ElementPropertyTransition (when the underlying object is an
ElementPropertyTransition).

This, unfortunately, adds a vtable to ElementAnimation but in the long term
I hope we will be able to isolate transition-specific code to a specific kind of
TransitionEffect that hangs off ElementAnimation and put the vtable on
AnimationEffect instead. (The AnimationEffect concept is part of the Web
Animations API.)
2014-05-15 08:38:37 +09:00
Brian Birtles 92e305760e Bug 1004383 part 2 - Rename StyleAnimation to ElementAnimation; r=dholbert
We currently have mozilla::StyleAnimation as well as nsStyleAnimation. This
patch renames StyleAnimation back to ElementAnimation.

Although ElementAnimation is very similar to ElementAnimations, in the near
future we expect to retire ElementAnimations and replace it with a common
AnimationSet-like structure that is covers the features of ElementAnimations and
ElementTransitions.
2014-05-15 08:38:37 +09:00
Brian Birtles 7595a03399 Bug 1004383 part 1 - Put StyleAnimation on the heap; r=dbaron
This patch takes StyleAnimation and makes it ref-counted heap object. This
should allow us to store StyleAnimation and its subclasses (transitions only
currently) in a consistent fashion (an array of base-class pointers).
Furthermore, this will be helpful if we want these things to be pointed to
from Javascript objects that may, for example, preserve their lifetime beyond
that of the element that currently owns them.

This patch also introduces a typedef for an array of refptrs to StyleAnimation
objects (and similarly for the subclass ElementPropertyTransition) to simplify
the code somewhat.
2014-05-15 08:38:37 +09:00
Arnaud Bienner b284511edd Bug 1007278: Restore the distinct text-color on disabled buttons. r=dholbert 2014-05-13 20:43:10 +02:00
Daniel Holbert 86232178d1 Bug 985336: Remove unnecessary #includes from headers in layout/style. r=dbaron 2014-05-09 08:23:14 -07:00