AX: Expose ARIA Busy Notifications
https://bugs.webkit.org/show_bug.cgi?id=121451

Patch by Sam White <samuel_white@apple.com> on 2013-09-30
Reviewed by Chris Fleizach.

Source/WebCore:

Added AXElementBusyChanged notification that posts when aria-busy is toggled. This
enables screen readers to detect busy states without polling the focused element.

Test: platform/mac/accessibility/element-busy-changed.html

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChanged):
* accessibility/AXObjectCache.h:
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):

LayoutTests:

Added test to verify that elements post AXElementBusyChanged notifications when aria-busy is toggled.

* platform/mac/accessibility/element-busy-changed-expected.txt: Added.
* platform/mac/accessibility/element-busy-changed.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test media/click-volume-bar-not-pausing.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=122126

Reviewed by Darin Adler.

Speculative partial fix.

I'm not sure if it's possible to make this test completely controlled without
DOMFrameContentLoaded support - we need to do work when the <video> element is
already present, but playback hasn't started yet. As media documents use autoplay,
there is a race between load and playing events.

* media/click-volume-bar-not-pausing-expected.txt:
* media/click-volume-bar-not-pausing.html:
  - Add video URL after initial content fully loads to avoid races with that.
  - Added some state logging for clarity.
  - Only listen for "playing" event once. If playback already started, we have a
  playing event already queued, and would add another one with pause()/play().


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix for EFL, Qt, Gtk port after r156688
https://bugs.webkit.org/show_bug.cgi?id=122139

Reviewed by Anders Carlsson.

Get rid of more uses of OwnPtr and PassOwnPtr.

Source/WebCore:

* platform/graphics/surfaces/GraphicsSurface.cpp:
(WebCore::GraphicsSurface::beginPaint):
* platform/graphics/surfaces/GraphicsSurface.h:
* platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
(WebCore::GraphicsSurface::platformBeginPaint):
* platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurface::platformBeginPaint):
* platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
(WebCore::GraphicsSurface::platformBeginPaint):

Source/WebKit2:

* Shared/API/c/cairo/WKImageCairo.cpp:
(WKImageCreateFromCairoSurface):
* Shared/API/c/qt/WKImageQt.cpp:
(WKImageCreateFromQImage):
* Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
(WebKit::WebCoordinatedSurface::createGraphicsContext):
(WebKit::WebCoordinatedSurface::paintToSurface):
* Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
* Shared/cairo/ShareableBitmapCairo.cpp:
(WebKit::ShareableBitmap::createGraphicsContext):
* Shared/gtk/ArgumentCodersGtk.cpp:
(CoreIPC::encodeImage):
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::createDrawingAreaProxy):
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::createDrawingAreaProxy):
* UIProcess/CoordinatedGraphics/WebView.h:
* WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::convertCairoSurfaceToShareableBitmap):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156700 268f45cc-cd09-0410-ab3c-d52691b4dbfc