Bug 994024 - Add assertions in ShadowLayers.cpp. r=bjacob
Bug 994024 - Add assertions in ImageBridgeChild. r=bjacob
Bug 994024 - Discard TextureClients that we failed to allocate or lock. r=bjacob
Bug 995143 - Add missing CanExposeDrawTarget in CairoTextureClientD3D9. r=mattwoodrow
Bug 990336 - Deduplicate the slots edge buffer normally; r=jonco
Bug 995661 patch 1 - Remove dead code resulting from removal of gfxPlatform::SupportsAzureContent().  r=mattwoodrow

This should have been removed in bug 985049.

The changes here can be understood as a simplification based on drawSurf
always being null.
Bug 995661 patch 2 - Use OP_OVER rather than OP_SOURCE to handle canvas drawWindow calls that don't cover the canvas or (I believe) that contain transparency.  r=mattwoodrow

This is needed to allow us to return to using partial-canvas invalidates
in the reftest harness, though only for the platforms that go through
this codepath.
Bug 995661 patch 3 - Add mochitest for canvas drawWindow.  r=mattwoodrow

This test covers some basic cases, such as drawing the complete window
to a canvas of the same size, drawing a part of the window to a
different offset within the canvas, drawing parts of the window against
different backgrounds and against a transparent background, and doing
multiple such drawWindow calls on the same canvas.

It runs its tests both with an iframe (whose background is transparent)
and content in a new window (which has a white backdrop).

Bug 995721 will add further tests (in mochitest-chrome) that exercise
drawWindow from a toplevel chrome window, which exercises the
DRAWWINDOW_USE_WIDGET_LAYERS codepath, which these tests do not.

The final 4 tests in each set of 7 fail without patch 2 in this bug.
Bug 995721 patch 1 - Honor the translation on mShadowTarget in ClientLayerManager::MakeSnapshotIfRequired.  r=mattwoodrow

This switches from DrawTarget::CopySurface (which ignores the transform)
to DrawSurface (which honors the transform).
Bug 995721 patch 2 - Run drawWindow mochitests on a toplevel window.  r=mattwoodrow

Without patch 1, the final 4 of the set of 7 tests fail on Linux with
accelerated layers (whereas all the ones they were copied from, added in
bug 995661, pass, given the patches in that bug but not this one).  (I
don't need to enable skia-canvas to see the failures without patch 1.  I
thought that didn't match my earlier testing, but I probably just never
tested that combination.  This means the failures happen even without
CanvasRenderingContext2D::DrawWindow going through the codepath where it
creates a DrawTarget.)

--HG--
rename : content/canvas/test/test_drawWindow.html => content/canvas/test/chrome/test_drawWindow_widget_layers.html
Bug 995410 - Call shouldSnapshotWholePage rather than testing for its existence.  r=mattwoodrow

This is clearly what was intended when this code was introduced in bug
876626.
Bug 930893 part.1 Implement constructor of KeyboardEvent r=smaug
Bug 930893 part.2 Implement KeyboardEvent.initKeyboardEvent() r=smaug
Bug 994861. Only overlay scrollbars should be positioned and have z-index. r=roc

Bug 896443 added these but didn't guard them on overlay scrollbars.

When drawing the scrollbars layout interprets a positioned scrollbar as an scrollbar that should be placed above the content (like overlay scrollbars). Classic scrollbars should be drawn in the background layer.
Bug 990336 - Deduplicate subsequent pushes to the store buffer; r=jonco

--HG--
extra : rebase_source : 7f7418c4e90ab292a39aa3931b25bb7a0a89634b
Bug 991812: Remove uses of RefCounted<T> that live in Gecko. r=ehsan
Bug 991812: Remove uses of AtomicRefCounted<T> that live in Gecko. r=ehsan
Bug 995405: Don't pass around references to the observer service off the main thread. r=michal
Bug 993734: Stop pretending that the observer service is threadsafe. r=bsmedberg
Bug 994971: Don't export nsObserverService.h. r=bsmedberg