2009-08-12 Eric Carlson <eric.carlson@apple.com>
authoreric.carlson@apple.com <eric.carlson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 12 Aug 2009 16:20:34 +0000 (16:20 +0000)
committereric.carlson@apple.com <eric.carlson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 12 Aug 2009 16:20:34 +0000 (16:20 +0000)
commit0d29e822835ae9c241cf4c4e87d2352c69729037
treea9600332b4ca5b99282aeb6806a980751a2930b8
parent47c5afa4c9fc0ed804ebc4d50c0a59b8f19ab4d0
2009-08-12  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible
        https://bugs.webkit.org/show_bug.cgi?id=28081

        Test: accessibility/media-element.html

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
            Add AccessibilityMediaControls.cpp/.h

        * accessibility/AXObjectCache.cpp:
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::getOrCreate):
            Create AccessibilityMediaControl. Update Copyright

        * accessibility/AccessibilityMediaControls.cpp:
        * accessibility/AccessibilityMediaControls.h:
            Added.

        * accessibility/AccessibilityObject.cpp:
        * accessibility/AccessibilityObject.h:
            Add isMediaTimeline. Update Copyright.

        * accessibility/AccessibilitySlider.h:
            Make constructor protected instead of private so AccessibilityMediaTimeline can
            call it.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
            Add NSAccessibilityValueDescriptionAttribute to range attributes.
        (-[AccessibilityObjectWrapper subrole]):
            Return NSAccessibilityTimelineSubrole for AccessibilityMediaTimeline.

        * dom/Node.h:
            add isMediaControlElement.

        * page/mac/WebCoreViewFactory.h:
        * platform/LocalizedStrings.h:
        * platform/mac/LocalizedStringsMac.mm:
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription):
            New, return localized media controller strings.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::MediaControlElement):
            Initialize m_displayType.
        (WebCore::MediaControlElement::MediaControlElement):
        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
            Fix style.
        (WebCore::MediaControlInputElement::MediaControlInputElement):
            Set m_displayType based on pseudo style ID.
        (WebCore::MediaControlInputElement::MediaControlInputElement):
            rename local "o" to "object".
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
            Update for MediaControlInputElement constructor change.
        (WebCore::MediaControlTimeDisplayElement::formatTime):
            New, moved here from RenderMedia so AccessibilityMediaTimeDisplay can use it.
        (WebCore::MediaControlTimeDisplayElement::setCurrentValue):
            New, set text to current time.
        * rendering/MediaControlElements.h:

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::updateControls):
            Create controls in tab order.
        (WebCore::RenderMedia::formatTime):
            Moved to MediaControlTimeDisplayElement::formatTime.
        (WebCore::RenderMedia::updateTimeDisplay):
            Call MediaControlTimeDisplayElement::setCurrentValue.
        * rendering/RenderMedia.h:

2009-08-12  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible
        https://bugs.webkit.org/show_bug.cgi?id=28081

        Add localized strings for media controller accessiblility.

        * English.lproj/Localizable.strings:

2009-08-12  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible
        https://bugs.webkit.org/show_bug.cgi?id=28081

        * WebCoreSupport/WebViewFactory.mm:
        (-[WebViewFactory localizedMediaControlElementString:]):
        (-[WebViewFactory localizedMediaControlElementHelpText:]):
        (-[WebViewFactory localizedMediaTimeDescription:]):
            New.

2009-08-12  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible
        https://bugs.webkit.org/show_bug.cgi?id=28081

        * WebCoreLocalizedStrings.cpp:
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription):
            New.

2009-08-12  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible
        https://bugs.webkit.org/show_bug.cgi?id=28081

        * accessibility/media-element.html: Added.
        * platform/mac-leopard/accessibility/media-element-expected.txt:
        * platform/mac-leopard/media/controls-strict-expected.txt:
        * platform/mac/accessibility/media-element-expected.txt:
            Added.

        * platform/mac-leopard/media/controls-after-reload-expected.txt:
        * platform/mac-leopard/media/controls-styling-expected.txt:
        * platform/mac-leopard/media/video-empty-source-expected.txt:
        * platform/mac-leopard/media/video-zoom-controls-expected.txt:
        * media/video-controls-visible-audio-only.html:
        * platform/mac-leopard/media/audio-controls-rendering-expected.txt:
        * platform/mac/media/audio-controls-rendering-expected.txt:
        * platform/mac/media/controls-after-reload-expected.txt:
        * platform/mac/media/controls-styling-expected.txt:
        * platform/mac/media/video-controls-rendering-expected.txt:
        * platform/mac/media/video-display-toggle-expected.txt:
        * platform/mac/media/video-empty-source-expected.txt:
        * platform/mac/media/video-zoom-controls-expected.txt:
            Update for controller element tab order change.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@47110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
47 files changed:
LayoutTests/ChangeLog
LayoutTests/accessibility/media-element.html [new file with mode: 0644]
LayoutTests/media/video-controls-visible-audio-only.html
LayoutTests/platform/mac-leopard/accessibility/media-element-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-leopard/media/audio-controls-rendering-expected.txt
LayoutTests/platform/mac-leopard/media/controls-after-reload-expected.txt
LayoutTests/platform/mac-leopard/media/controls-strict-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-leopard/media/controls-styling-expected.txt
LayoutTests/platform/mac-leopard/media/video-empty-source-expected.txt
LayoutTests/platform/mac-leopard/media/video-zoom-controls-expected.txt
LayoutTests/platform/mac/accessibility/media-element-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/media/audio-controls-rendering-expected.txt
LayoutTests/platform/mac/media/controls-after-reload-expected.txt
LayoutTests/platform/mac/media/controls-styling-expected.txt
LayoutTests/platform/mac/media/video-controls-rendering-expected.txt
LayoutTests/platform/mac/media/video-display-toggle-expected.txt
LayoutTests/platform/mac/media/video-empty-source-expected.txt
LayoutTests/platform/mac/media/video-zoom-controls-expected.txt
WebCore/ChangeLog
WebCore/GNUmakefile.am
WebCore/WebCore.gypi
WebCore/WebCore.pro
WebCore/WebCore.vcproj/WebCore.vcproj
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/WebCoreSources.bkl
WebCore/accessibility/AXObjectCache.cpp
WebCore/accessibility/AXObjectCache.h
WebCore/accessibility/AccessibilityMediaControls.cpp [new file with mode: 0644]
WebCore/accessibility/AccessibilityMediaControls.h [new file with mode: 0644]
WebCore/accessibility/AccessibilityObject.cpp
WebCore/accessibility/AccessibilityObject.h
WebCore/accessibility/AccessibilitySlider.h
WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
WebCore/dom/Node.h
WebCore/page/mac/WebCoreViewFactory.h
WebCore/platform/LocalizedStrings.h
WebCore/platform/mac/LocalizedStringsMac.mm
WebCore/rendering/MediaControlElements.cpp
WebCore/rendering/MediaControlElements.h
WebCore/rendering/RenderMedia.cpp
WebCore/rendering/RenderMedia.h
WebKit/ChangeLog
WebKit/English.lproj/Localizable.strings
WebKit/mac/ChangeLog
WebKit/mac/WebCoreSupport/WebViewFactory.mm
WebKit/win/ChangeLog
WebKit/win/WebCoreLocalizedStrings.cpp