Bug 1022127 - Draw menu separators on GTK using GTK_STYLE_CLASS_SEPARATOR r=karlt

--HG--
extra : rebase_source : d74f8cccf62325e2ec315ed5501b29e109333ce2
b=932400 check feedback delay loop output r=padenot

The delay in the third test is reduced to ensure that some of the output
signal has traversed every link in the cycle.

The input signal no longer loops for un-muted cycles, to keep it simple.

--HG--
extra : rebase_source : 37f555c356cc2c0573e7c93150ed86587da30ad7
b=1015218 add pref to remove Xlib offscreen surfaces on GTK3 platform r=karlt

This patch adds a new pref called "layers.use-image-offscreen-surfaces"
that makes GTK3 platform create gfxImageSurfaces for content layers
instead of gfxXlibSurfaces.

--HG--
extra : rebase_source : b803a453bafc70226f3d4c65684618f154147fdb
b=1015218 Buffer image content layers on server-side xlib surfaces with OMTC basic r=karlt

With image offscreen surfaces enabled for content layers on GTK3, our Basic
compositor needs a way to deal with image layers buffering and compositing in
a performant way.  This patch subclasses BasicCompositor into a new
X11BasicCompositor and makes use of a new TextureSource
(X11DataTextureSourceBasic) in order to buffer TextureHost's data into
gfxXlibSurface on compositor side so that we can use XRender when available to
composite layer contents directly to the Window.

When this buffering will occur, switch to ContentClientSingleBuffered.

--HG--
extra : rebase_source : adad6b1c05dcf516a1ea84c6a529df5f141c198f