Commit Graph

208056 Commits

Author SHA1 Message Date
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
Cameron McCormack
3691030343 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
7b8f969720 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
1af7e9d722 Bug 1028497 - Part 5: Implement document.fonts. r=bzbarsky 2014-10-02 12:32:06 +10:00
Cameron McCormack
1ab9074459 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
57b587aadd 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
65626faba5 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
f38d29ae49 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
7264ca8247 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
c2bf5b3435 Bug 1073350: Validate that returned decoded Shmems have enough data r=cpearce 2014-10-01 22:13:18 -04:00
Eric Rahm
05a750217a Bug 1076417 - nsNativeThemeGTK.h is missing an include guard. r=roc
--HG--
extra : rebase_source : 7f24f20b6602cf5b044fac87ccc1a72cc6d7f934
2014-10-01 19:01:21 -07:00
Daniel Holbert
4dde5e0d48 Backout 0ae42938a72d (bug 1073350) for build bustage, on a CLOSED TREE 2014-10-01 18:23:17 -07:00
Kartikaya Gupta
0cfbaa97c5 Bug 1043859 - Fix the code to remove the async transform from scrollbar layers that are descendants of their content. r=botond 2014-10-01 17:49:31 -04:00
Kartikaya Gupta
77e82458f5 Bug 1043859 - Expose the APZC overscroll transform as a separate function. r=botond 2014-10-01 17:49:31 -04:00
Kartikaya Gupta
e9a17a651f Bug 1068571 - Clear velocity on touch-end even if in the NOTHING state. r=botond 2014-10-01 17:49:30 -04:00
Kartikaya Gupta
acdc2ef85e Bug 1074985 - Remove unimplemented method declarations. r=wesj 2014-10-01 17:49:30 -04:00
Randell Jesup
6faff21702 Bug 1073350: Validate that returned decoded Shmems have enough data r=cpearce 2014-10-01 20:39:08 -04:00
Randell Jesup
b5cc736324 Bug 1073345: Block duplicate Shmems from the GMP SharedMemory cache r=cpearce 2014-10-01 20:39:04 -04:00
Stephen Pohl
ce4be97120 Bug 1075492: Fix broken ./mach webapprt-test-chrome on OSX (due to v2 signature changes). r=myk 2014-10-01 20:38:50 -04:00
Neil Rashbrook
220d256414 Bug 1074114 Propagate error thrown when constructing the JS implementation r=bz 2014-10-02 01:37:50 +01:00
Seth Fowler
1f199f4294 Back out bug 1057904, bug 1060869, bug 923302 for bustage
--HG--
extra : rebase_source : fe24318671f3fd9cccb822c65a9581f09612d8c6
2014-10-01 17:33:49 -07:00
Eric Rahm
6f45f5dd6c Bug 1075984 - SpdyZlibReporter.h is missing an include guard. r=froydnj
--HG--
extra : rebase_source : 1765ff21f520e07da6337ce0b4a8c1190d46fdb7
2014-10-01 13:57:18 -07:00
Eric Rahm
2647f50026 Bug 1075966 - ccapp_task.h lacks an include guard. r=bwc
--HG--
extra : rebase_source : 76ea63e7123203f7b1425c99bf4bd27205e5f630
2014-10-01 13:56:52 -07:00
Karl Tomlinson
5414d1c0ab b=1012609 improve PeriodicWave phase-wrapping logic r=rillian
This approach takes advantage of the fact that periodicWaveSize is a power of
2 and uses unsigned integer modulo arithmetic to find the appropriate phase
of the period.

--HG--
extra : rebase_source : bb5fc413785d5f12a76cff4cbb5ba2ed5e979b41
2014-09-30 18:10:03 +13:00
Seth Fowler
b1807775a9 Bug 923302 - Add explicit memory reporting for SurfaceCache. r=njn
--HG--
extra : rebase_source : 08187da628ee01f41a2722913ddd0461c446808c
2014-10-01 17:16:42 -07:00
Seth Fowler
96fc1b7eaf Bug 1060869 (Part 2) - Store the first frame of a RasterImage in the SurfaceCache. r=tn
--HG--
extra : rebase_source : a342c3212d1ce3dcc69be11517abea3d88cad217
2014-10-01 17:16:41 -07:00
Seth Fowler
35a8f74544 Bug 1060869 (Part 1) - Add lifetime control to SurfaceCache. r=dholbert
--HG--
extra : rebase_source : f206133c8076aa17afc93d6ffd7f6fabbc8de4d5
2014-10-01 17:16:39 -07:00
Seth Fowler
0f9ff85399 Bug 1057904 (Part 2) - Make imgFrame::LockImageData and UnlockImageData private. r=tn
--HG--
extra : rebase_source : 8656f0cb4e7bd0a43829e05569081cfd5944e025
2014-10-01 17:16:38 -07:00
Seth Fowler
7eaacb9bc1 Bug 1057904 (Part 1) - Use RawAccessRef in FrameBlender and related classes and clean up. r=tn
--HG--
extra : rebase_source : 3db04af1bc426e325be884a59f0bb77491f3bb09
2014-10-01 17:16:36 -07:00
Mike Hommey
30749bbb89 Bug 1063437 - Remove MozbuildSandbox.normalize_path. r=gps 2014-10-02 09:14:08 +09:00