Commit Graph

23123 Commits

Author SHA1 Message Date
Jonathan Watt
a248a71d1c Bug 1075399, part 1 - Simulate zero length SVG subpath for stroke-linecap=round. r=longsonr 2014-10-03 09:50:42 +01:00
Christoph Kerschbaumer
0bacef12a1 Bug 1041180: Remove deprecated nsIChannelPolicy (r=sstamm,jduell,jst) 2014-10-02 23:34:30 -07:00
Masayuki Nakano
a06e8de5c8 Bug 975383 part.9 Remove compositionupdate event dispatchers from all tests r=smaug 2014-10-03 15:33:50 +09:00
L. David Baron
99b5e8cd96 Bug 1075137 patch 7 - Remove old IsProcessingRestyles and IsProcessingAnimationStyleChange booleans. r=birtles 2014-10-02 21:53:24 -07:00
L. David Baron
25df7c71fc Bug 1075137 patch 6 - Convert remaining IsProcessingAnimationStyleChange calls to call the method on the RestyleManager. r=birtles 2014-10-02 21:53:24 -07:00
L. David Baron
cd74ed0fc8 Bug 1075137 patch 5 - Add new boolean to RestyleManager for whether we're currently processing animation restyles. r=birtles
This is just moving one bit of data from the pres context without any
logic change.  But given the other refactoring, it seems to make more
sense here now.
2014-10-02 21:53:24 -07:00
L. David Baron
14a1bf93dc Bug 1075137 patch 4 - Convert callers from IsProcessingRestyles/IsProcessingAnimationStyleChange to SkipAnimationRules/PostAnimationRestyles. r=birtles 2014-10-02 21:53:24 -07:00
L. David Baron
288801f4fa Bug 1075137 patch 3 - Add PresContext() method to nsRuleWalker. r=birtles 2014-10-02 21:53:23 -07:00
L. David Baron
ab6f8fb56c Bug 1075137 patch 2 - Add new booleans for whether to skip animation styles and whether to post animation restyles. r=birtles 2014-10-02 21:53:23 -07:00
L. David Baron
a84c0301dc Bug 1075137 patch 1 - Convert one use of IsProcessingRestyles that doesn't follow normal pattern to a debug-only member on the restyle manager. r=birtles 2014-10-02 21:53:23 -07:00
L. David Baron
5e24ca3286 Bug 1075082 patch 2 - Add assertion in destructor of style contexts that should have been destroyed earlier. r=birtles 2014-10-02 21:53:23 -07:00
L. David Baron
b5edb04125 Bug 1075082 patch 1 - Add a helper function for the root of the rule tree. r=birtles 2014-10-02 21:53:22 -07:00
L. David Baron
4dbfc05082 Bug 1074634 - Don't overwrite eRestyleResult_ContinueAndForceDescendants with eRestyleResult_Continue. r=heycam 2014-10-02 21:53:22 -07:00
Xidorn Quan
a8aeeace85 Bug 1075336 - Fix lifetime management of CounterStyle. r=dbaron
--HG--
extra : rebase_source : c9fe6b023024c11147372cd4a9d7f25fdfaabed8
2014-10-02 14:29:04 -04:00
Andrew McCreight
0f460a11cd Bug 1068276, part 4 - Fix indentation of leak option setting in reftests. r=ted 2014-10-02 08:42:11 -07:00
Andrew McCreight
02e8205908 Bug 1068276, part 3 - Set some defaults for leak parameters on B2G reftests. r=jmaher 2014-10-02 08:40:21 -07:00
Mats Palmgren
8c6bc566c1 Bug 649849 - part 1b, Remove the default -moz-appearance:none for <select> in Fennec theme. r=wjohnston@mozilla.com 2014-10-02 13:05:16 +00:00
Mats Palmgren
07a9c2f713 Bug 649849, part 1 - Make -moz-appearance:none on a combobox remove the dropdown button (for WebKit compat). r=roc 2014-10-02 13:05:15 +00:00
Anuj Agarwal
01df0446ad Bug 791777 - Replaced NS_finite() with mozilla::IsFinite. r=froydnj 2014-10-01 11:26:00 +02:00
David Zbarsky
7546b0c638 Bug 1067701 - Implement Animation.target; r=birtles, r=bz 2014-10-02 15:14:15 +09:00
Brian Birtles
cd29cb402c Bug 1046055 part 5 - Check for current animations from ActiveLayerTracker::IsStyleAnimated; r=dbaron
Within the context of determining of a layer is active, we should only consider
an element animated if it has an animation that is yet to finish, i.e. a current
animation. Animations that have finished should not cause a layer to be active
(even if they are applying a forwards fill).

This patch makes that change by calling
nsLayoutUtils::HasCurrentAnimationsForProperty instead of
nsLayoutUtils::HasAnimations.
2014-10-02 15:14:14 +09:00
Brian Birtles
8022007d45 Bug 1046055 part 4 - Add HasCurrentAnimationsForProperty to nsLayoutUtils; r=dbaron
This patch adds a method to nsLayoutUtils, alongside the existing
HasCurrentAnimations, that returns true if there exists an unfinished animation
on the element for the specified property.
2014-10-02 15:14:14 +09:00
Brian Birtles
6f723f8f19 Bug 1046055 part 3 - Add AnimationPlayerCollection::HasCurrentAnimationsForProperty; r=dbaron
This patch adds another method to AnimationPlayerCollection alongside
HasCurrentAnimations that returns true if there is a player in the collection
with current source content that targets the specified property.

At the same time it also makes the original HasCurrentAnimations a const method.
2014-10-02 15:14:13 +09:00
Brian Birtles
2349318ce3 Bug 1046055 part 2 - Rename AnimationPlayer::IsCurrent to HasCurrentSource; r=dbaron
It's not the player that's "current" (a Web Animations term for an animation
that hasn't yet finished), but its source content, if any. This patch renames
the method on AnimationPlayer accordingly.

At the same time this patch moves the method to the header file since it's
quite simple and could possibly benefit from inlining.
2014-10-02 15:14:13 +09:00
Brian Birtles
9e96e040ee Bug 1046055 part 1 - Remove nsPresContext parameter from nsLayoutUtils::HasCurrentAnimations; r=dbaron 2014-10-02 15:14:13 +09:00
Brian Birtles
5bc3dbc321 Bug 1074651 - Detect integer overflow in BaseTimeDuration::TicksFromMilliseconds; r=bz 2014-10-02 15:14:12 +09:00
Boris Zbarsky
7158f29c71 Bug 1075617 followup to fix crash when rule is null. 2014-10-02 02:06:39 -04:00
Boris Zbarsky
34de660675 Bug 1075617. Log the correct file/line for the @font-face rule for font errors. r=jfkthame 2014-10-02 00:23:53 -04:00
Cameron McCormack
277b40478a Bug 1028497 - Part 28: Reftests. r=jdaggett 2014-10-02 12:32:10 +10:00
Cameron McCormack
59693e845e Bug 1028497 - Part 27: Rename some things. r=jdaggett 2014-10-02 12:32:10 +10:00
Cameron McCormack
a407bc6d95 Bug 1028497 - Part 26: Tests. r=jdaggett 2014-10-02 12:32:09 +10:00
Cameron McCormack
86a29bc786 Bug 1028497 - Part 25: Support loading of fonts from ArrayBuffer{,View}s. r=bzbarsky,jdaggett 2014-10-02 12:32:09 +10:00
Cameron McCormack
df92baa4c2 Bug 1028497 - Part 24: Implement FontFaceSet.{ready,status} and dispatch events. r=jdaggett,bzbarsky 2014-10-02 12:32:09 +10:00
Cameron McCormack
3b650df41c Bug 1028497 - Part 23: Implement FontFaceSet.{add,clear,delete,has}. r=jdaggett
Implementing Add, Delete and Clear involves shuffling FontFace objects
between mOtherFaces and mUnavailableFaces.
2014-10-02 12:32:09 +10:00
Cameron McCormack
4c1b32886a Bug 1028497 - Part 22: Make FontFace.load() work for unconnected FontFace objects. r=jdaggett
The same DoLoad() call works with both CSS-connected and unconnected
FontFaces.
2014-10-02 12:32:09 +10:00
Cameron McCormack
cf813511c5 Bug 1028497 - Part 21: Implement the FontFace constructor's parsing of descriptors. r=bzbarsky,jdaggett
This implements the bulk of the FontFace JS constructor, which parses
the descriptors passed in. We need a notion now of whether a FontFace is
"initialized", since the spec requires us to go through the event loop
before parsing the 'src' descriptor. So a couple of places now have to
check whether the FontFace is fully initialized, and we have a method to
inform the FontFaceSet when a FontFace becomes initialized, in case we
added it to the FontFaceSet before it was initialized (easy to do with
|document.fonts.add(new FontFace(...))|.
2014-10-02 12:32:09 +10:00
Cameron McCormack
0142b816a6 Bug 1028497 - Part 20: Add storage for unconnected FontFace objects and create user font entries for them. r=jdaggett,bzbarsky
We add a third array on FontFaceSet, mOtherFaces, which stores
unconnected FontFace objects that have been added to the FontFaceSet. We
reflect them in the indexed properties and also create user font entries
for them.

Part 23 will actually allow us to add some of these FontFaces to
mOtherFaces.
2014-10-02 12:32:08 +10:00
Cameron McCormack
4ddb800587 Bug 1028497 - Part 19: Support disconnecting FontFaces that reflect @font-face rules. r=jdaggett,bzbarsky
This adds support for a CSS-connected FontFace to be disconnected from
its rule. This causes it to get its own copy of the descriptors on the
nsCSSFontFaceStyleDecl, and for the pointers between the FontFace and
the nsCSSFontFaceRule to be nulled out.

We start tracking now whether a given FontFace is in the FontFaceSet
(in the sense that it will appear on the DOM FontFaceSet object if we
inspect it with script). All FontFace objects created though, whether
they are currently "in" the FontFaceSet or not, are still tracked by the
FontFaceSet. We use the new mUnavailableFaces array on the FontFaceSet
for that.

We need to track these FontFaces that aren't in the FontFaceSet as
that's where we store their user font entry -- important if we call
load() on a FontFace before adding it to the FontFaceSet.
2014-10-02 12:32:08 +10:00
Cameron McCormack
fccff046d0 Bug 1028497 - Part 18: Create user font entries from FontFaces rather than nsCSSFontFaceRules. r=jdaggett
This changes InsertRule, which looked at the descriptors on an
nsCSSFontFaceRule to create a user font entry and add it to a family,
into InsertConnectedFontFace, which can do the same but for the FontFace
that reflects the rule.
2014-10-02 12:32:08 +10:00
Cameron McCormack
563288238a Bug 1028497 - Part 17: Factor out FontFace family-name getting. r=jdaggett 2014-10-02 12:32:08 +10:00
Cameron McCormack
e561bc26bf Bug 1028497 - Part 16: Don't destroy the user font set if there are no @font-face rules. r=jfkthame
We can no longer call FontFaceSet::DestroyUserFontSet (what used to be
nsUserFontSet::Destroy) in nsPresContext::FlushUserFontSet, since we
need to keep tracking FontFace objects even if the list of @font-face
rules is empty.
2014-10-02 12:32:08 +10:00
Cameron McCormack
31eedc22b4 Bug 1028497 - Part 15.1: Store user font entries in FontFace objects. r=jdaggett 2014-10-02 12:32:08 +10:00
Cameron McCormack
d42d427d94 Bug 1028497 - Part 15: Store FontFace objects on the FontFaceSet rather than nsCSSFontFaceRules. r=jdaggett,bzbarsky
Here we change FontFaceSet's records array to associate gfxUserFontEntry
pointers with FontFace pointers, rather than with nsCSSFontFaceRule
pointers.  This will make it more uniform to handle both CSS-connected
and unconnected FontFace objects when rebuilding the user font entries
under UpdateRules.
2014-10-02 12:32:07 +10:00
Cameron McCormack
05b2c9ef9c Bug 1028497 - Part 14: Rename some methods to talk about UserFontEntry instead of FontFace. r=jdaggett
How that we have a class named "FontFace", it's a bit confusing for some
of the gfxUserFontSet methods to have "FontFace" in their names, so I'm
renaming them to mention "UserFontEntry" instead.
2014-10-02 12:32:07 +10:00
Cameron McCormack
21a470ab25 Bug 1028497 - Part 13: Implement FontFace.load(). r=jdaggett 2014-10-02 12:32:07 +10:00
Cameron McCormack
c82125e2b6 Bug 1028497 - Part 12: Implement FontFace.loaded. r=jdaggett,bzbarsky 2014-10-02 12:32:07 +10:00
Cameron McCormack
b5e3edf931 Bug 1028497 - Part 11: Implement FontFace descriptor setters. r=jdaggett
These set the descriptors, but don't cause anything to update, just
like setting descriptors on an @font-face rule's style declaration
doesn't do anything yet.
2014-10-02 12:32:07 +10:00
Cameron McCormack
a054426121 Bug 1028497 - Part 10: Implement FontFace descriptor getters. r=jdaggett
We add an mDescriptors that will be used to store the descriptor values
of an unconnected FontFace object.  For CSS-connected FontFace objects,
the descriptors are stored in the nsCSSFontFaceRule::mDecl.mDescriptors.
(Both of these use the same type, though, CSSFontFaceDescriptors.)

Ideally we could have the descriptors always stored on the FontFace,
and for the nsCSSFontFaceStyleDecl go and fetch them from the FontFace,
but it turned out to be impossible to ensure that a FontFace could be
created whenever a nsCSSFontFaceStyleDecl was cloned, since it needs
access to the window object to create the FontFace's promise objects!
2014-10-02 12:32:07 +10:00
Cameron McCormack
1449ebdb0a Bug 1028497 - Part 9: Implement FontFace.status. r=jdaggett
We make gfxUserFontEntry::SetLoadState virtual so that we can hook into
changes and update FontFace::mStatus.  We can't just reflect the
gfxUserFontEntry's value in FontFace::Status() since the spec has
requirements about when exactly the status is set.
2014-10-02 12:32:06 +10:00
Cameron McCormack
407073516d Bug 1028497 - Part 8: Implement Length and array access on FontFaceSet. r=jfkthame
This is a temporary measure until we support iterators on the
FontFaceSet; the spec does not expose FontFaces as indexed properties on
the FontFaceSet.
2014-10-02 12:32:06 +10:00