Bug 928195 - Part 3: Consolidate all WebIDL Python logic into mozwebidl module; r=bz, froydnj

--HG--
extra : rebase_source : 050f1c3eb3bccdf369164be4e58c59fa71c19060
Bug 928195 - Part 4: Rewrite WebIDL build system integration; r=bz, r=glandium

WebIDL build system integration has been rewritten from the ground up.
Changes:

* GlobalGen.py, BindingGen.py, and ExampleGen.py have been removed in
  favor of mozwebidl.py.

* Static .webidl files are now processed directly in their original location
  and aren't copied to the object directory.

* Generated events <stem>.cpp files are now compiled into the unified
  sources. Previously, only the <stem>Binding.cpp files were compiled
  into unified sources.

* Exported .h files are now generated directly into their final location.
  Previously, they were generated into the local directory then
  installed in their final location.

* The list of globalgen-generated files now lives in Python and isn't
  duplicated in 3 places.

* The make dependencies are much simpler as a result of using a single
  command to perform all code generation. The auto-generated .pp file from
  code generation sets up all dependencies necessary to reinvoke code
  generation and Python takes care of dependency management.

--HG--
extra : rebase_source : e4918878274b22a412329c7cb18cc7138daf5dc6
Bug 928195 - Part 5: mach command for generating WebIDL example files; r=froydnj

--HG--
extra : rebase_source : c74d5f9556ca866622b7fefd4711e96fe4e4e020
Bug 935793 (part 1) - Add ownerIsBrowserOrApp to nsIFrameLoader. r=smaug

--HG--
extra : rebase_source : 189b45b39c04e4272d7b0cc188f35bb02bc19970
Bug 935793 (part 2) - rename browser-shown notifications and send them for all frames. r=smaug

--HG--
extra : rebase_source : 475b2cafc094117a2edf8ba95605e7f4d5f95410
Bug 944492, part 1 - Make XPCWrappedJS use the purple buffer. r=smaug
Bug 944492, part 2 - Make XPCWrappedJS a proper skippable class. r=smaug
Ensure that the software compositor never uses deprecated textures (bug 947038, r=mattwoodrow).
Bug 948245 part 1 - Rework and test repeat duration calculation; r=dholbert

In order to implement the min attribute properly we need to distinguish between
cases where the repeat duration is less than the active duration so we can apply
the fill mode in the 'gap'. Currently the repeat duration calculation is mostly
contained in GetRepeatDuration (but is hard to make sense of) and partly
contained in the call site CalcActiveEnd. Furthermore, it does not have thorough
tests (there were some unit tests but they were never converted to mochitests).

This patch reworks the repeat duration calculation so it is contained in one
place, easier to read, and thoroughly tested.
Bug 948245 part 2 - Allow the min attribute to extend the active duration; r=dholbert

The min attribute on an animation element can extend the active duration making
it longer than the "repeat duration" (the amount of the time the animation runs
including all repeats). For the remaining time after the repeat duration has
completed until the end of the active duration the animation should apply its
fill behavior.

Previously this was not implemented and min could not extend the active
duration. Allowing this effectively introduces an additional kind of state where
we are both within the active interval but not animating. In this case we
set the animation function (referred to as the "client" for historical reasons)
to inactive so that effectively the timing model is active but the animation
model is inactive.

(In the future we will come up with something a little easier to understand when
we rework this in terms of Web Animations components.)
Bug 941315 - Update the timing model even when invalid values are set; r=longsonr

When an invalid dur, min, max, or repeatDur is set we were failing to call
UpdateCurrentInterval to update the timing model. This patch makes sure we
update the current interval in error cases too.

Mochitests test the interval is being updated in these cases and, for
completeness, the case of repeatCount as well.
Bug 940765 - preference service can GC, r=terrence

--HG--
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-baseline-horiz-3-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-baseline-horiz-1-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-baseline-horiz-3.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-baseline-horiz-1.xhtml
extra : rebase_source : cad260c0819a3ced47e1ec612de2788e1e991670
Bug 948646 - AutoJSContext cannot GC, r=terrence

--HG--
extra : rebase_source : f015f6bce00faa2c8e77cb861ed0770710e718ed
Bug 948753 - Annotate sane nsISupports virtual methods, r=bhackett

--HG--
extra : rebase_source : 85695549d5d068bd393fc50e7190da00f95970ca
No bug. Remove noisy debugging printout.

--HG--
extra : rebase_source : f5aa45dcb6c5d051f8888682d3aeab71b7df56d5
Merge m-c to inbound
Bug 949324 - Fix -Wunused-function warnings in js/. r=luke
Bug 949353 - Fix -Wsometimes-uninitialized warnings in dom/workers/WorkerPrivate.cpp. r=khuey
Bug 940765 - Root before preference checking, r=bz
Bug 949875 - Delay import some WebIDL modules; r=glandium

This prevents excessive dependencies on config.status. Those extra
dependencies make WebIDL developer workflow inefficient.

--HG--
extra : rebase_source : 37ba82773fe6d873e25fc8b61fef44ec9f191ebe
extra : amend_source : 3fa0796f096efdbe6a74138ea0258f68cbcf4071