Enable TabCaptureApiTest EndToEnd on OSX 10.6, as workarounds should now be in place.

BUG=174640

Review URL: https://codereview.chromium.org/92943002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237730 0039d316-1c4b-4281-b951-d872f2087c98
In the dev tools file select dialog, pass in a WebContents instead of NULL to the ChromeSelectFilePolicy.

Review URL: https://codereview.chromium.org/92973002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237731 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 237730
Reland 237634 and 237645.

(1) Implement DesktopCaptureDeviceAsh based on CopyOutputRequest.

The new implementation captures the Ash desktop by
issuing CopyOutputRequest on the layer associated with the root window
of the desktop.

Desktop capture using this path is only feasible on Ash at this
moment, where the aura root window corresponds to the entire desktop.
On other platforms the aura root window is mapped to a native window.

Refactor WebContentsVideoCaptureDevice::Impl and share the class
ThreadSafeCaptureOracle between web contents capture and desktop capture.

The existing X11 desktop capture path is inefficient especially on ARM
devices. This CL leverages hardware-accelerated copy and encoding to
achieve performance on par with tab capture.

Measured desktop capture frame rate on daisy:
Before this CL: 6~7 fps
After this CL: 18~23 fps depending on content

(2) Fix memory leak in DesktopCaptureDeviceAshTest on Linux Chromium OS ASAN.

(3) Disable failing DesktopCaptureApiTest.ChooseDesktopMedia on ChromeOS.
See http://crbug.com/324179

BUG=310372
TEST=trybots, verify tab/screen capture locally on devices
R=creis@chromium.org, sergeyu@chromium.org
TBR=ernstm@chromium.org

Review URL: https://codereview.chromium.org/93583003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237732 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 237732