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