Skip to content
  • commit-queue@webkit.org's avatar
    [Chromium] Regression: Global-buffer-overflow in WebCore::mediaControlElementType · 50b528c9
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=91333
    
    Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-07-26
    Reviewed by Eric Seidel.
    
    Source/WebCore:
    
    MediaControlChromiumEnclosureElement now is a subclass of MediaControlElement, which
    fixes the broken cast detected in the bug.
    The displayType() of MediaControlChromiumEnclosureElement is set to 'MediaControlsPanel',
    since the Panel element is sufficiently close in functionality to the Enclosure element.
    By reusing this type, we do not need to introduce a Chromium-specific constant into
    the generally used MediaControlElementType.
    
    Test: accessibility/media-controls.html
    
    * html/shadow/MediaControlRootElementChromium.cpp:
    (WebCore::MediaControlChromiumEnclosureElement::MediaControlChromiumEnclosureElement):
    Subclass MediaControlChromiumEnclosureElement from MediaControlElement.
    (WebCore::MediaControlChromiumEnclosureElement::displayType):
    Give the enclosure the MediaPanels type.
    * html/shadow/MediaControlRootElementChromium.h:
    Add the MediaControlElement.h header file.
    (MediaControlChromiumEnclosureElement):
    Subclass MediaControlChromiumEnclosureElement from MediaControlElement.
    
    LayoutTests:
    
    This new test assures that the creation of a audio element with controls does not
    break when accessibility is turned on.
    
    * accessibility/media-controls-expected.txt: Added.
    * accessibility/media-controls.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    50b528c9