Commit Graph

385601 Commits

Author SHA1 Message Date
JW Wang
a5098a5093 Bug 994292 - Call SpecialPowers.pushPermissions() to ensure permission change is completed before continuing the rest of the tests. r=baku 2014-10-01 22:16:00 +02:00
Andrew Osmond
985f5aa0d1 Bug 1059101 - Fix handling of buffer underrun causing assert failures in debug builds. r=roc 2014-10-01 08:38:00 +02:00
Anuj Agarwal
b7608857c2 Bug 791777 - Replaced NS_finite() with mozilla::IsFinite. r=froydnj 2014-10-01 11:26:00 +02:00
Alexandre Lissy
fbfcc287e9 Bug 993011 - Update eisting Gaia apps fields. r=fabrice
When performing an update, whether OTA or FOTA, some already existing
Gaia apps field may have changed. This happened in the past with bug
989876 where we lacked a proper updateTime value, and this may bite us
later. So we update all field, except some that we now must not be
changing.
2014-10-01 08:37:00 +02:00
Ting-Yu Chou
149aa09b67 Bug 1064800 - Catch exception from sending message to prevent interrupting execution. r=khuey 2014-10-02 10:57:48 +08:00
Nick Lebedev
df62a59237 Bug 1055773 - Move hasAttributes method from Node to Element. r=bz 2014-10-01 10:16:00 +02:00
David Zbarsky
fd4c921077 Bug 1067701 - Implement Animation.target; r=birtles, r=bz 2014-10-02 15:14:15 +09:00
Brian Birtles
1a844b4526 Bug 1074054 part 2 - Make Element::GetAnimationPlayers return in-effect animations too; r=dbaron
This patch makes Element::GetAnimationPlayers return not only current animations
but also animations that have finished but are filling forwards. This brings the
implementation into line with recent changes to the Web Animations spec and
allows querying all the animations that are currently affecting an element or
which are scheduled to do so in the future.
2014-10-02 15:14:14 +09:00
Brian Birtles
add5d0af0e Bug 1074054 part 1 - Add Animation::IsInEffect; r=dbaron
This patch adds a utility method to return if an animation is "in effect" or not
as defined by Web Animations:

  http://w3c.github.io/web-animations/#in-effect

It also moves the utility method for querying if an animation is "current"
(IsCurrent) to the .cpp file since it is fairly long. (Bug 1046055 makes one of
the callers of IsCurrent inline-able which should offset any cost introduced by
this no longer being inline-able.)
2014-10-02 15:14:14 +09:00
Brian Birtles
cf85a7879b 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
d77b5db74f 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
139a4e3a73 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
86b19c0029 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
2bfde3e79a Bug 1046055 part 1 - Remove nsPresContext parameter from nsLayoutUtils::HasCurrentAnimations; r=dbaron 2014-10-02 15:14:13 +09:00
Brian Birtles
1a49465f03 Bug 1073396 - Make Element.getAnimationPlayers flush style; r=dbaron 2014-10-02 15:14:13 +09:00
Brian Birtles
cf167e36af Bug 1074651 - Detect integer overflow in BaseTimeDuration::TicksFromMilliseconds; r=bz 2014-10-02 15:14:12 +09:00
Boris Zbarsky
b0e7dc53e1 Bug 1075617 followup to fix crash when rule is null. 2014-10-02 02:06:39 -04:00
Boris Zbarsky
aa7f48f11c 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
5ab3a5e90d Bug 1028497 - Part 28: Reftests. r=jdaggett 2014-10-02 12:32:10 +10:00
Cameron McCormack
d8cd2f0f6a Bug 1028497 - Part 27: Rename some things. r=jdaggett 2014-10-02 12:32:10 +10:00
Cameron McCormack
de8068e21f Bug 1028497 - Part 26: Tests. r=jdaggett 2014-10-02 12:32:09 +10:00
Cameron McCormack
103bb77e68 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
1ea00788ea Bug 1028497 - Part 24: Implement FontFaceSet.{ready,status} and dispatch events. r=jdaggett,bzbarsky 2014-10-02 12:32:09 +10:00
Cameron McCormack
99cf7a99ec 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
ef23ddf3cf 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
41fa46909a 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
6ef64c89d8 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
bd55fd92ea 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
f4852c403a 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
b4bf68ac33 Bug 1028497 - Part 17: Factor out FontFace family-name getting. r=jdaggett 2014-10-02 12:32:08 +10:00
Cameron McCormack
cf965693b0 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
e2ac89aaed Bug 1028497 - Part 15.1: Store user font entries in FontFace objects. r=jdaggett 2014-10-02 12:32:08 +10:00
Cameron McCormack
373e1d82e3 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
d045185df5 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
2ec90e70e6 Bug 1028497 - Part 13: Implement FontFace.load(). r=jdaggett 2014-10-02 12:32:07 +10:00
Cameron McCormack
45d38e257f Bug 1028497 - Part 12: Implement FontFace.loaded. r=jdaggett,bzbarsky 2014-10-02 12:32:07 +10:00
Cameron McCormack
dda44dce90 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
9eb134dd49 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
f5bcec5617 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
8b8c2e4e1e 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
Cameron McCormack
27963db6e6 Bug 1028497 - Part 7: Add ability to create a FontFace for a @font-face rule; store it on the nsCSSFontFaceRule. r=jdaggett,bzbarsky
Every nsCSSFontFaceRule that is used will get a FontFace object to
reflect it in the FontFaceSet.  Here we add storage on the
nsCSSFontFaceRule for its FontFace, although it will be the
FontFaceSet's responsibility to set it.  We also add a static
constructor function on FontFace to create one that reflects a rule.
2014-10-02 12:32:06 +10:00
Cameron McCormack
4649da6d47 Bug 1028497 - Part 6: Have a FontFace::Entry class extending gfxUserFontEntry that can inform the FontFaceSet about loading. r=jdaggett
We can't make FontFace inherit from gfxUserFontEntry, since the former
is cycle collected.  So instead, we have a small class that inherits
from it that will override its virtual methods and forward things on to
the FontFace object.

We make gfxUserFontSet::CreateFontFace virtual so we can override it to
produce instances of our gfxUserFontEntry subclass.
2014-10-02 12:32:06 +10:00
Cameron McCormack
206502eb5f Bug 1028497 - Part 5: Implement document.fonts. r=bzbarsky 2014-10-02 12:32:06 +10:00
Cameron McCormack
f5f01b6fc2 Bug 1028497 - Part 4: Move the nsUserFontSet object into FontFaceSet. r=jdaggett
This (a) moves ownership of the gfxUserFontSet into FontFaceSet, (b) moves
nearly all of the functionality of nsUserFontSet into FontFaceSet, and (c)
adds a class that inherits from gfxUserFontSet so that we can override some
of its virtual functions and delegate them to the FontFaceSet.
2014-10-02 12:32:05 +10:00
Cameron McCormack
0634734915 Bug 1028497 - Part 3: Add skeleton implementations of CSSFontFaceLoadEvent, FontFace, FontFaceSet and FontFaceSource. r=jdaggett 2014-10-02 12:32:05 +10:00
Cameron McCormack
8c4dd6fb24 Bug 1028497 - Part 2: Add Web IDL interfaces for CSS Font Loading API. r=bzbarsky 2014-10-02 12:32:05 +10:00
Cameron McCormack
c8458aea7b Bug 1028497 - Part 1: Add pref for CSS Font Loading API.
We start with this preffed off even in Nightly builds since we'll need
to support iterators on FontFaceSet objects (and remove the indexed
getter) before exposing it to authors.
2014-10-02 12:32:05 +10:00
Nicholas Nethercote
12be59346a Bug 1069034 - Update Valgrind suppressions to handle the more detailed stack traces given by Valgrind 3.10. r=jseward.
--HG--
extra : rebase_source : 4e9eff4e912d1e182863429cf3f7da5cfbaedc10
2014-10-01 20:27:37 -07:00
Randell Jesup
ae25cd3a81 Bug 1073350: Validate that returned decoded Shmems have enough data r=cpearce 2014-10-01 22:13:18 -04:00
Eric Rahm
7928574529 Bug 1076417 - nsNativeThemeGTK.h is missing an include guard. r=roc
--HG--
extra : rebase_source : 7f24f20b6602cf5b044fac87ccc1a72cc6d7f934
2014-10-01 19:01:21 -07:00