⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 278618 in webkit


Ignore:
Timestamp:
Jun 8, 2021, 10:27:33 AM (5 years ago)
Author:
Devin Rousso
Message:

[Modern Media Controls] upstream new features
https://bugs.webkit.org/show_bug.cgi?id=226736
<rdar://problem/78957464>

Reviewed by Eric Carlson.

Source/WebCore:

  • bring the "Audio"/"Languages" tracks menu to iOS
  • add a new "Playback Speed" menu in the overflow menu on iOS and macOS
  • add support for showing the most relevant <track kind="chapters"> in the overflow menu on iOS and macOS

Tests: media/modern-media-controls/overflow-button/overflow-button.html

media/modern-media-controls/overflow-support/chapters.html
media/modern-media-controls/overflow-support/playback-speed.html

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::showMediaControlsContextMenu):

  • Modules/modern-media-controls/media/overflow-support.js:

(OverflowSupport.prototype.get mediaEvents):
(OverflowSupport.prototype.get tracksToMonitor):
(OverflowSupport.prototype.syncControl):

  • en.lproj/Localizable.strings:
  • rendering/RenderTheme.h:

(WebCore::RenderTheme::mediaControlsScripts):

  • rendering/RenderThemeAdwaita.cpp:

(WebCore::RenderThemeAdwaita::mediaControlsScripts):

  • rendering/RenderThemeAdwaita.h:
  • rendering/RenderThemeCocoa.h:
  • rendering/RenderThemeCocoa.mm:

(WebCore::RenderThemeCocoa::purgeCaches):
(WebCore::RenderThemeCocoa::mediaControlsScripts):

  • rendering/RenderThemeWin.h:
  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::mediaControlsScripts):
Drop the "additional script" and lower the inline capacity of the Vector.

  • testing/Internals.idl:
  • testing/Internals.h:
  • testing/Internals.cpp:

(WebCore::Internals::setMediaControlsHidePlaybackRates): Added.

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setMediaControlsHidePlaybackRates): Added.
Since Playback Rates is always shown, provide a way for tests to turn it off.

Source/WTF:

  • bring the "Audio"/"Languages" tracks menu to iOS
  • add a new "Playback Speed" menu on iOS and macOS in the overflow menu
  • add support for showing the most relevant <track kind="chapters"> in the overflow menu
  • wtf/PlatformEnableCocoa.h:

LayoutTests:

  • media/modern-media-controls/overflow-button/overflow-button.html: Added.
  • media/modern-media-controls/overflow-button/overflow-button-expected.txt: Added.
  • media/modern-media-controls/overflow-support/chapters.html: Added.
  • media/modern-media-controls/overflow-support/chapters-expected.txt: Added.
  • media/modern-media-controls/overflow-support/playback-speed.html: Added.
  • media/modern-media-controls/overflow-support/playback-speed-expected.txt: Added.
Location:
trunk
Files:
8 added
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r278610 r278618  
     12021-06-08  Devin Rousso  <drousso@apple.com>
     2
     3        [Modern Media Controls] upstream new features
     4        https://bugs.webkit.org/show_bug.cgi?id=226736
     5        <rdar://problem/78957464>
     6
     7        Reviewed by Eric Carlson.
     8
     9        * media/modern-media-controls/overflow-button/overflow-button.html: Added.
     10        * media/modern-media-controls/overflow-button/overflow-button-expected.txt: Added.
     11        * media/modern-media-controls/overflow-support/chapters.html: Added.
     12        * media/modern-media-controls/overflow-support/chapters-expected.txt: Added.
     13        * media/modern-media-controls/overflow-support/playback-speed.html: Added.
     14        * media/modern-media-controls/overflow-support/playback-speed-expected.txt: Added.
     15
     16        * TestExpectations:
     17        * platform/mac-wk2/TestExpectations:
     18
    1192021-06-08  Antoine Quint  <graouts@webkit.org>
    220
  • trunk/LayoutTests/TestExpectations

    r278575 r278618  
    6666scrollingcoordinator [ Skip ]
    6767media/ios [ Skip ]
     68media/modern-media-controls/overflow-support [ Skip ]
    6869media/modern-media-controls/tracks-support [ Skip ]
    6970fast/text-autosizing [ Skip ]
  • trunk/LayoutTests/platform/mac-wk2/TestExpectations

    r277764 r278618  
    2020fast/web-share [ Pass ]
    2121imported/w3c/web-platform-tests/web-share [ Pass ]
     22media/modern-media-controls/overflow-support [ Pass ]
    2223media/modern-media-controls/tracks-support [ Pass ]
    2324scrollingcoordinator [ Pass ]
  • trunk/Source/WTF/ChangeLog

    r278616 r278618  
     12021-06-08  Devin Rousso  <drousso@apple.com>
     2
     3        [Modern Media Controls] upstream new features
     4        https://bugs.webkit.org/show_bug.cgi?id=226736
     5        <rdar://problem/78957464>
     6
     7        Reviewed by Eric Carlson.
     8
     9         - bring the "Audio"/"Languages" tracks menu to iOS
     10         - add a new "Playback Speed" menu on iOS and macOS in the overflow menu
     11         - add support for showing the most relevant `<track kind="chapters">` in the overflow menu
     12
     13        * wtf/PlatformEnableCocoa.h:
     14
    1152021-06-08  Sam Weinig  <weinig@apple.com>
    216
  • trunk/Source/WTF/wtf/PlatformEnableCocoa.h

    r278575 r278618  
    322322#endif
    323323
    324 #if !defined(ENABLE_MEDIA_CONTROLS_CONTEXT_MENUS) && PLATFORM(MAC)
     324#if !defined(ENABLE_MEDIA_CONTROLS_CONTEXT_MENUS) && (PLATFORM(MAC) || ((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 150000))
    325325#define ENABLE_MEDIA_CONTROLS_CONTEXT_MENUS 1
    326326#endif
  • trunk/Source/WebCore/ChangeLog

    r278614 r278618  
     12021-06-08  Devin Rousso  <drousso@apple.com>
     2
     3        [Modern Media Controls] upstream new features
     4        https://bugs.webkit.org/show_bug.cgi?id=226736
     5        <rdar://problem/78957464>
     6
     7        Reviewed by Eric Carlson.
     8
     9         - bring the "Audio"/"Languages" tracks menu to iOS
     10         - add a new "Playback Speed" menu in the overflow menu on iOS and macOS
     11         - add support for showing the most relevant `<track kind="chapters">` in the overflow menu on iOS and macOS
     12
     13        Tests: media/modern-media-controls/overflow-button/overflow-button.html
     14               media/modern-media-controls/overflow-support/chapters.html
     15               media/modern-media-controls/overflow-support/playback-speed.html
     16
     17        * Modules/mediacontrols/MediaControlsHost.cpp:
     18        (WebCore::MediaControlsHost::showMediaControlsContextMenu):
     19        * Modules/modern-media-controls/media/overflow-support.js:
     20        (OverflowSupport.prototype.get mediaEvents):
     21        (OverflowSupport.prototype.get tracksToMonitor):
     22        (OverflowSupport.prototype.syncControl):
     23        * en.lproj/Localizable.strings:
     24
     25        * rendering/RenderTheme.h:
     26        (WebCore::RenderTheme::mediaControlsScripts):
     27        * rendering/RenderThemeAdwaita.cpp:
     28        (WebCore::RenderThemeAdwaita::mediaControlsScripts):
     29        * rendering/RenderThemeAdwaita.h:
     30        * rendering/RenderThemeCocoa.h:
     31        * rendering/RenderThemeCocoa.mm:
     32        (WebCore::RenderThemeCocoa::purgeCaches):
     33        (WebCore::RenderThemeCocoa::mediaControlsScripts):
     34        * rendering/RenderThemeWin.h:
     35        * rendering/RenderThemeWin.cpp:
     36        (WebCore::RenderThemeWin::mediaControlsScripts):
     37        Drop the "additional script" and lower the inline capacity of the `Vector`.
     38
     39        * testing/Internals.idl:
     40        * testing/Internals.h:
     41        * testing/Internals.cpp:
     42        (WebCore::Internals::setMediaControlsHidePlaybackRates): Added.
     43        * html/HTMLMediaElement.h:
     44        * html/HTMLMediaElement.cpp:
     45        (WebCore::HTMLMediaElement::setMediaControlsHidePlaybackRates): Added.
     46        Since Playback Rates is always shown, provide a way for tests to turn it off.
     47
    1482021-06-08  Devin Rousso  <drousso@apple.com>
    249
  • trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp

    r278253 r278618  
    5656#include "RenderTheme.h"
    5757#include "TextTrack.h"
     58#include "TextTrackCueList.h"
    5859#include "TextTrackList.h"
    5960#include "UserGestureIndicator.h"
     61#include "VTTCue.h"
    6062#include "VoidCallback.h"
    6163#include <JavaScriptCore/JSCJSValueInlines.h>
     
    6567#include <wtf/UUID.h>
    6668#include <wtf/Variant.h>
    67 
    68 #if USE(APPLE_INTERNAL_SDK)
    69 #include <WebKitAdditions/MediaControlsHostAdditions.cpp>
    70 #endif
    7169
    7270namespace WebCore {
     
    359357#if ENABLE(MEDIA_CONTROLS_CONTEXT_MENUS)
    360358
    361 #if !defined(MediaControlsHostAdditions_showMediaControlsContextMenu_MenuData)
    362 #define MediaControlsHostAdditions_showMediaControlsContextMenu_MenuData
    363 #endif
    364 
    365 #if !defined(MediaControlsHostAdditions_showMediaControlsContextMenu_MenuData_switchOn)
    366 #define MediaControlsHostAdditions_showMediaControlsContextMenu_MenuData_switchOn
    367 #endif
    368 
    369359#if ENABLE(CONTEXT_MENUS) && USE(ACCESSIBILITY_CONTEXT_MENUS)
    370360class MediaControlsContextMenuProvider final : public ContextMenuProvider {
     
    507497#endif // ENABLE(VIDEO_PRESENTATION_MODE)
    508498
     499    enum class PlaybackSpeed {
     500        x0_5,
     501        x1_0,
     502        x1_25,
     503        x1_5,
     504        x2_0,
     505    };
     506
    509507    using MenuData = Variant<
    510508#if ENABLE(VIDEO_PRESENTATION_MODE)
     
    512510#endif // ENABLE(VIDEO_PRESENTATION_MODE)
    513511        RefPtr<AudioTrack>,
    514         RefPtr<TextTrack>
    515         MediaControlsHostAdditions_showMediaControlsContextMenu_MenuData
     512        RefPtr<TextTrack>,
     513        RefPtr<VTTCue>,
     514        PlaybackSpeed
    516515    >;
    517516    HashMap<MenuItemIdentifier, MenuData> idMap;
     
    587586    }
    588587
    589 #if defined(MediaControlsHostAdditions_showMediaControlsContextMenu_options)
    590     MediaControlsHostAdditions_showMediaControlsContextMenu_options
    591 #endif
     588    if (optionsJSONObject->getBoolean("includeChapters"_s).value_or(false)) {
     589        if (auto* textTracks = mediaElement.textTracks(); textTracks && textTracks->length()) {
     590            auto& captionPreferences = page->group().captionPreferences();
     591
     592            for (auto& textTrack : captionPreferences.sortedTrackListForMenu(textTracks, { TextTrack::Kind::Chapters })) {
     593                Vector<MenuItem> chapterMenuItems;
     594
     595                if (auto* cues = textTrack->cues()) {
     596                    for (unsigned i = 0; i < cues->length(); ++i) {
     597                        auto* cue = cues->item(i);
     598                        if (!is<VTTCue>(cue))
     599                            continue;
     600
     601                        auto& vttCue = downcast<VTTCue>(*cue);
     602                        chapterMenuItems.append(createMenuItem(makeRefPtr(vttCue), vttCue.text()));
     603                    }
     604                }
     605
     606                if (!chapterMenuItems.isEmpty()) {
     607                    items.append(createSubmenu(captionPreferences.displayNameForTrack(textTrack.get()), "list.bullet"_s, WTFMove(chapterMenuItems)));
     608
     609                    /* Only show the first valid chapters track. */
     610                    break;
     611                }
     612            }
     613        }
     614    }
     615
     616    if (optionsJSONObject->getBoolean("includePlaybackRates"_s).value_or(false)) {
     617        auto playbackRate = mediaElement.playbackRate();
     618
     619        items.append(createSubmenu(WEB_UI_STRING_KEY("Playback Speed", "Playback Speed (Media Controls Menu)", "Playback Speed media controls context menu title"), "speedometer"_s, {
     620            createMenuItem(PlaybackSpeed::x0_5, WEB_UI_STRING_KEY("0.5×", "0.5× (Media Controls Menu Playback Speed)", "0.5× media controls context menu playback speed label"), playbackRate == 0.5),
     621            createMenuItem(PlaybackSpeed::x1_0, WEB_UI_STRING_KEY("1×", "1× (Media Controls Menu Playback Speed)", "1× media controls context menu playback speed label"), playbackRate == 1.0),
     622            createMenuItem(PlaybackSpeed::x1_25, WEB_UI_STRING_KEY("1.25×", "1.25× (Media Controls Menu Playback Speed)", "1.25× media controls context menu playback speed label"), playbackRate == 1.25),
     623            createMenuItem(PlaybackSpeed::x1_5, WEB_UI_STRING_KEY("1.5×", "1.5× (Media Controls Menu Playback Speed)", "1.5× media controls context menu playback speed label"), playbackRate == 1.5),
     624            createMenuItem(PlaybackSpeed::x2_0, WEB_UI_STRING_KEY("2×", "2× (Media Controls Menu Playback Speed)", "2× media controls context menu playback speed label"), playbackRate == 2.0),
     625        }));
     626    }
    592627
    593628#if ENABLE(CONTEXT_MENUS) && USE(ACCESSIBILITY_CONTEXT_MENUS)
     
    646681                }
    647682                mediaElement.setSelectedTextTrack(selectedTextTrack.get());
     683            },
     684            [&] (RefPtr<VTTCue>& cue) {
     685                mediaElement.setCurrentTime(cue->startMediaTime());
     686            },
     687            [&] (PlaybackSpeed playbackSpeed) {
     688                switch (playbackSpeed) {
     689                case PlaybackSpeed::x0_5:
     690                    mediaElement.setDefaultPlaybackRate(0.5);
     691                    mediaElement.setPlaybackRate(0.5);
     692                    return;
     693
     694                case PlaybackSpeed::x1_0:
     695                    mediaElement.setDefaultPlaybackRate(1.0);
     696                    mediaElement.setPlaybackRate(1.0);
     697                    return;
     698
     699                case PlaybackSpeed::x1_25:
     700                    mediaElement.setDefaultPlaybackRate(1.25);
     701                    mediaElement.setPlaybackRate(1.25);
     702                    return;
     703
     704                case PlaybackSpeed::x1_5:
     705                    mediaElement.setDefaultPlaybackRate(1.5);
     706                    mediaElement.setPlaybackRate(1.5);
     707                    return;
     708
     709                case PlaybackSpeed::x2_0:
     710                    mediaElement.setDefaultPlaybackRate(2.0);
     711                    mediaElement.setPlaybackRate(2.0);
     712                    return;
     713                }
     714
     715                ASSERT_NOT_REACHED();
    648716            }
    649             MediaControlsHostAdditions_showMediaControlsContextMenu_MenuData_switchOn
    650717        );
     718
    651719    };
    652720
  • trunk/Source/WebCore/Modules/modern-media-controls/media/overflow-support.js

    r273191 r278618  
    3131    get mediaEvents()
    3232    {
    33         let mediaEvents = [];
    34         window["WebKitAdditions.OverflowSupport.prototype.get_mediaEvents"]?.(this, mediaEvents);
    35         return mediaEvents;
     33        return ["loadstart", "loadedmetadata"];
    3634    }
    3735
    3836    get tracksToMonitor()
    3937    {
    40         let tracksToMonitor = [];
    41         window["WebKitAdditions.OverflowSupport.prototype.get_tracksToMonitor"]?.(this, tracksToMonitor);
    42         return tracksToMonitor;
     38        return [this.mediaController.media.textTracks];
    4339    }
    4440
     
    5854
    5955        let defaultContextMenuOptions = {};
    60         window["WebKitAdditions.OverflowSupport.prototype.syncControl"]?.(this, defaultContextMenuOptions);
     56
     57        if (!this.mediaController.hidePlaybackRates && (!window.MediaStream || !(this.mediaController.media.srcObject instanceof MediaStream)))
     58            defaultContextMenuOptions.includePlaybackRates = true;
     59
     60        for (let textTrack of this.mediaController.media.textTracks) {
     61            if (textTrack.kind !== "chapters")
     62                continue;
     63
     64            if (textTrack.mode === "disabled")
     65                textTrack.mode = "hidden";
     66            defaultContextMenuOptions.includeChapters = true;
     67        }
     68
    6169        this.control.defaultContextMenuOptions = defaultContextMenuOptions;
    6270    }
  • trunk/Source/WebCore/en.lproj/Localizable.strings

    r278586 r278618  
    9898"0 Items" = "0 Items";
    9999
     100/* 0.5× media controls context menu playback speed label */
     101"0.5× (Media Controls Menu Playback Speed)" = "0.5×";
     102
    100103/* Present the element <select multiple> when a single <option> is selected (iOS only) */
    101104"1 Item" = "1 Item";
    102105
     106/* 1× media controls context menu playback speed label */
     107"1× (Media Controls Menu Playback Speed)" = "1×";
     108
     109/* 1.25× media controls context menu playback speed label */
     110"1.25× (Media Controls Menu Playback Speed)" = "1.25×";
     111
     112/* 1.5× media controls context menu playback speed label */
     113"1.5× (Media Controls Menu Playback Speed)" = "1.5×";
     114
    103115/* Option in segmented control for choosing list type in text editing */
    104116"1. 2. 3." = "1. 2. 3.";
    105117
     118/* 2× media controls context menu playback speed label */
     119"2× (Media Controls Menu Playback Speed)" = "2×";
     120
    106121/* Menu item title for KEYGEN pop-up menu */
    107122"2048 (High Grade)" = "2048 (High Grade)";
     
    707722"Play" = "Play";
    708723
     724/* Playback Speed media controls context menu title */
     725"Playback Speed (Media Controls Menu)" = "Playback Speed";
     726
    709727/* accessibility help text for enter full screen button */
    710728"Play movie in full screen mode" = "Play movie in full screen mode";
  • trunk/Source/WebCore/html/HTMLMediaElement.cpp

    r278580 r278618  
    74917491}
    74927492
     7493void HTMLMediaElement::setMediaControlsHidePlaybackRates(bool hidePlaybackRates)
     7494{
     7495    setControllerJSProperty("hidePlaybackRates", JSC::jsBoolean(hidePlaybackRates));
     7496}
     7497
    74937498unsigned long long HTMLMediaElement::fileSize() const
    74947499{
  • trunk/Source/WebCore/html/HTMLMediaElement.h

    r278580 r278618  
    495495    WEBCORE_EXPORT String getCurrentMediaControlsStatus();
    496496    WEBCORE_EXPORT void setMediaControlsMaximumRightContainerButtonCountOverride(size_t);
     497    WEBCORE_EXPORT void setMediaControlsHidePlaybackRates(bool);
    497498    MediaControlsHost* mediaControlsHost() { return m_mediaControlsHost.get(); }
    498499
  • trunk/Source/WebCore/rendering/RenderTheme.h

    r275426 r278618  
    8787    virtual String mediaControlsStyleSheet() { return String(); }
    8888    virtual String extraMediaControlsStyleSheet() { return String(); }
    89     virtual Vector<String, 3> mediaControlsScripts() { return { }; }
     89    virtual Vector<String, 2> mediaControlsScripts() { return { }; }
    9090#if ENABLE(MODERN_MEDIA_CONTROLS)
    9191    virtual String mediaControlsBase64StringForIconNameAndType(const String&, const String&) { return String(); }
  • trunk/Source/WebCore/rendering/RenderThemeAdwaita.cpp

    r275161 r278618  
    173173}
    174174
    175 Vector<String, 3> RenderThemeAdwaita::mediaControlsScripts()
     175Vector<String, 2> RenderThemeAdwaita::mediaControlsScripts()
    176176{
    177177    return { StringImpl::createWithoutCopying(mediaControlsAdwaitaJavaScript, sizeof(mediaControlsAdwaitaJavaScript)) };
  • trunk/Source/WebCore/rendering/RenderThemeAdwaita.h

    r274607 r278618  
    3838#if ENABLE(VIDEO)
    3939    String extraMediaControlsStyleSheet() final;
    40     Vector<String, 3> mediaControlsScripts() final;
     40    Vector<String, 2> mediaControlsScripts() final;
    4141#endif
    4242
  • trunk/Source/WebCore/rendering/RenderThemeCocoa.h

    r276428 r278618  
    5454#if ENABLE(VIDEO) && ENABLE(MODERN_MEDIA_CONTROLS)
    5555    String mediaControlsStyleSheet() override;
    56     Vector<String, 3> mediaControlsScripts() override;
     56    Vector<String, 2> mediaControlsScripts() override;
    5757    String mediaControlsBase64StringForIconNameAndType(const String&, const String&) override;
    5858    String mediaControlsFormattedStringForDuration(double) override;
     
    6060    String m_mediaControlsLocalizedStringsScript;
    6161    String m_mediaControlsScript;
    62     String m_mediaControlsAdditionalScript;
    6362    String m_mediaControlsStyleSheet;
    6463    RetainPtr<NSDateComponentsFormatter> m_durationFormatter;
  • trunk/Source/WebCore/rendering/RenderThemeCocoa.mm

    r274997 r278618  
    5151#endif
    5252
    53 #if USE(APPLE_INTERNAL_SDK)
    54 #include <WebKitAdditions/RenderThemeCocoaAdditions.cpp>
    55 #endif
    56 
    5753@interface WebCoreRenderThemeBundle : NSObject
    5854@end
     
    7369    m_mediaControlsLocalizedStringsScript.clearImplIfNotShared();
    7470    m_mediaControlsScript.clearImplIfNotShared();
    75     m_mediaControlsAdditionalScript.clearImplIfNotShared();
    7671    m_mediaControlsStyleSheet.clearImplIfNotShared();
    7772#endif // ENABLE(VIDEO) && ENABLE(MODERN_MEDIA_CONTROLS)
     
    189184}
    190185
    191 Vector<String, 3> RenderThemeCocoa::mediaControlsScripts()
     186Vector<String, 2> RenderThemeCocoa::mediaControlsScripts()
    192187{
    193188    // FIXME: Localized strings are not worth having a script. We should make it JSON data etc. instead.
     
    200195        m_mediaControlsScript = StringImpl::createWithoutCopying(ModernMediaControlsJavaScript, sizeof(ModernMediaControlsJavaScript));
    201196
    202 #if defined(RenderThemeCocoaAdditions_mediaControlsAdditionalScript)
    203     if (m_mediaControlsAdditionalScript.isEmpty())
    204         m_mediaControlsAdditionalScript = String(RenderThemeCocoaAdditions_mediaControlsAdditionalScript);
    205 #endif
    206 
    207197    return {
    208198        m_mediaControlsLocalizedStringsScript,
    209199        m_mediaControlsScript,
    210         m_mediaControlsAdditionalScript,
    211200    };
    212201}
  • trunk/Source/WebCore/rendering/RenderThemeWin.cpp

    r278521 r278618  
    10801080}
    10811081
    1082 Vector<String, 3> RenderThemeWin::mediaControlsScripts()
     1082Vector<String, 2> RenderThemeWin::mediaControlsScripts()
    10831083{
    10841084#if ENABLE(MEDIA_CONTROLS_SCRIPT)
  • trunk/Source/WebCore/rendering/RenderThemeWin.h

    r274607 r278618  
    122122#if ENABLE(VIDEO)
    123123    String mediaControlsStyleSheet() override;
    124     Vector<String, 3> mediaControlsScripts() override;
     124    Vector<String, 2> mediaControlsScripts() override;
    125125#endif
    126126
  • trunk/Source/WebCore/testing/Internals.cpp

    r278575 r278618  
    48234823}
    48244824
     4825void Internals::setMediaControlsHidePlaybackRates(HTMLMediaElement& mediaElement, bool hidePlaybackRates)
     4826{
     4827    mediaElement.setMediaControlsHidePlaybackRates(hidePlaybackRates);
     4828}
     4829
    48254830#endif // ENABLE(VIDEO)
    48264831
  • trunk/Source/WebCore/testing/Internals.h

    r278359 r278618  
    753753    String getCurrentMediaControlsStatusForElement(HTMLMediaElement&);
    754754    void setMediaControlsMaximumRightContainerButtonCountOverride(HTMLMediaElement&, size_t);
     755    void setMediaControlsHidePlaybackRates(HTMLMediaElement&, bool);
    755756#endif // ENABLE(VIDEO)
    756757
  • trunk/Source/WebCore/testing/Internals.idl

    r278359 r278618  
    786786    [Conditional=VIDEO] DOMString getCurrentMediaControlsStatusForElement(HTMLMediaElement element);
    787787    [Conditional=VIDEO] undefined setMediaControlsMaximumRightContainerButtonCountOverride(HTMLMediaElement element, unsigned long count);
     788    [Conditional=VIDEO] undefined setMediaControlsHidePlaybackRates(HTMLMediaElement element, boolean hidePlaybackRates);
    788789
    789790    DOMString userVisibleString(DOMURL url);
Note: See TracChangeset for help on using the changeset viewer.