AX: Focusable elements without a role should not be ignored
https://bugs.webkit.org/show_bug.cgi?id=94302

Reviewed by Chris Fleizach.

Source/WebCore:

Changes the accessibility logic so that a generic element that's focusable is
not ignored for accessibility, and returns its inner text as its title. That way
if you Tab to the element, a reasonable accessibility notification is generated.

One exception is the body element, because focusing the body is equivalent to
blurring the current focused element and does not result in a "focus" accessibility
notification.

Also fixes logic that determined if an element was contentEditable by making
sure it catches the case with no attribute value (e.g. <div contentEditable>),
which also implies contentEditable=true according to the spec.

Test: accessibility/focusable-div.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore):
(WebCore::nodeHasContentEditableAttributeSet):
(WebCore::AccessibilityRenderObject::title):
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):

LayoutTests:

Adds a new test to make sure that a generic focusable element (like a div with tabindex=0)
can get focus and return an appropriate title, just like a form control or element with
an ARIA role.

Modifies three existing tests that were previously assuming that a focusable node
with no role would be ignored for accessibility ("accessibilityIsIgnored").

* accessibility/editable-webarea-context-menu-point.html:
* accessibility/focusable-div-expected.txt: Added.
* accessibility/focusable-div.html: Added.
* accessibility/table-detection.html:
* platform/mac/accessibility/listbox-hit-test.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126391 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement UndoManager's item() method
https://bugs.webkit.org/show_bug.cgi?id=94671

Patch by Sukolsak Sakshuwong <sukolsak@google.com> on 2012-08-22
Reviewed by Ryosuke Niwa.

Source/WebCore:

This patch implements UndoManager's item() method and its V8 custom binding.
We need to use custom binding here because we need to return user objects
that are stored in a hidden property of DOMTransaction wrappers, not returning
the wrappers themselves.

Test: editing/undomanager/undomanager-item.html

* bindings/js/JSUndoManagerCustom.cpp:
(WebCore::JSUndoManager::item):
(WebCore):
* bindings/v8/DOMTransaction.cpp:
(WebCore::DOMTransaction::data):
(WebCore):
(WebCore::DOMTransaction::setData):
(WebCore::DOMTransaction::getFunction):
* bindings/v8/DOMTransaction.h:
* bindings/v8/custom/V8UndoManagerCustom.cpp:
(WebCore::V8UndoManager::transactCallback):
(WebCore::V8UndoManager::itemCallback):
(WebCore):
* editing/UndoManager.cpp:
(WebCore::UndoManager::item):
(WebCore):
* editing/UndoManager.h:
(UndoManager):
* editing/UndoManager.idl:

LayoutTests:

* editing/undomanager/undomanager-item-expected.txt: Added.
* editing/undomanager/undomanager-item.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126392 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Remove V8Proxy from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=94773

Reviewed by Adam Barth.

To kill V8Proxy, we can remove V8Proxy uses from CodeGeneratorV8.pm.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateToV8Converters):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::V8Float64Array::wrapSlow):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::wrapSlow):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::V8TestEventTarget::wrapSlow):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore::V8TestException::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::wrapSlow):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Chromium gardeing.

* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.txt: Added.
* platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-mac/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/chromium-mac/media/track/track-cue-rendering-vertical-expected.txt: Added.
* platform/chromium-win-xp/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/chromium-win-xp/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-win-xp/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/chromium-win-xp/media/track/track-cue-rendering-vertical-expected.txt: Added.
* platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-win/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/chromium-win/media/track/track-cue-rendering-vertical-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] media/video-duration-known-after-eos.html and media/media-element-play-after-eos.html are flaky
https://bugs.webkit.org/show_bug.cgi?id=83790

Reviewed by Eric Seidel.

Refactor the tests to wait the loadedmetadata event before
starting playback and attempting any access to the duration
attribute. This is an attempt to eliminate flakyness of the tests.

* media/media-element-play-after-eos-expected.txt:
* media/media-element-play-after-eos.html:
* media/video-duration-known-after-eos.html:
* platform/gtk/TestExpectations:

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