Bug 957759 - Remove SRV experiment code (helps prevent crashes). r=mcmanus, a=lsblakk
Bug 952365 - Add a TreatNonObjectAsNull annotation for WebIDL callback functions and use it for event handlers, since web sites depend on assigning non-callable objects to them in some cases. r=peterv, a=lsblakk
Bug 911400 - Create OpaqueWrappers when wrapping objects for use in the self-hosting global and OpaqueWrapperWithCalls when wrapping self-hosted function for use in other compartments. r=bholley, a=lsblakk
Bug 942565 - IonMonkey (ARM): Fix clampDoubleToUint8 to return 0 for an input of NaN. r=mjrosenb, a=lsblakk
Bug 951216 - Avoid unnecessary Snapshot() copies by clearing the pattern. r=Bas, a=lsblakk

gfxSurfaceDrawable::Draw() sets a gfxPattern(Snapshot()) to the gfxContext's
pattern. If the gfxSurfaceDrawable is created by
CreateSamplingRestrictedDrawable it will be destroyed before the Snapshot().
This causes the Snapshot to be copied unnecessarily.

If we set the pattern to something else we'll destroy the snapshot before the
gfxSurfaceDrawable and save a copy.
Bug 951467 - Give scroll layer items the bounds of the scroll port, not the bounds of the display port. r=roc, a=lsblakk

The bounds of the scroll port match what will actually be drawn on the screen.

The bounds of the contained content (sized to the display port) are still accessible via mList.GetBounds, and similarly the visible rect of the contained content is mList.GetVisibleRect. The external bounds/visible rect are GetBounds and GetVisibleRect on the nsDisplayScrollLayer object itself.

We implement nsDisplayScrollInfoLayer::GetBounds solely so that it continues to return an empty rect because we expect active empty layers to have empty visible rects.

We no longer have to set our mVisibleRect in nsDisplayScrollLayer::ComputeVisibility because nsDisplayList::ComputeVisibilityForSublist now does it correctly for us (like other items).

We also have to teach ContainerState::ProcessDisplayItems to not set the visible region for scroll layers because it has the external visible region, not the larger internal display port sized visible region. We instead let BuildContainerLayer set the visible region of the layer.
Bug 883930 - The soft keyboard should not be able to obscure input in dialogs. r=mbrubeck, a=lsblakk