Changeset 84222 in webkit


Ignore:
Timestamp:
Apr 18, 2011 9:28:34 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2011-04-18 Steve Lacey <sjl@chromium.org>

Reviewed by Dimitri Glazkov.

Decouple media controls usage from implementation.
This allows each port to implement thier own controls in a different
manner to the default webkit implementation.

Convert media controls hooks to a client interface
https://bugs.webkit.org/show_bug.cgi?id=58346

No new tests as there is no functional change.

  • Android.mk:
  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaControls): (WebCore::HTMLMediaElement::ensureMediaControls): (WebCore::HTMLMediaElement::preDispatchEventHandler):
  • html/HTMLMediaElement.h:
  • html/shadow/MediaControlElements.cpp: (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): (WebCore::MediaControlPanelMuteButtonElement::create): (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): (WebCore::MediaControlTimelineElement::create): (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): (WebCore::MediaControlFullscreenButtonElement::create):
  • html/shadow/MediaControlElements.h:
  • html/shadow/MediaControlRootElement.cpp: (WebCore::MediaControlRootElement::MediaControlRootElement): (WebCore::MediaControls::create):
  • html/shadow/MediaControlRootElement.h:
  • html/shadow/MediaControls.cpp: Added. (WebCore::MediaControls::MediaControls):
  • html/shadow/MediaControls.h: Added. (WebCore::MediaControls::~MediaControls):
Location:
trunk/Source/WebCore
Files:
2 added
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/Android.mk

    r84149 r84222  
    356356        html/parser/XSSFilter.cpp \
    357357        \
     358        html/shadow/MediaControls.cpp \
    358359        html/shadow/MediaControlElements.cpp \
    359360        html/shadow/MediaControlRootElement.cpp \
  • trunk/Source/WebCore/CMakeLists.txt

    r84149 r84222  
    886886
    887887    html/shadow/DetailsMarkerControl.cpp
     888    html/shadow/MediaControls.cpp
    888889    html/shadow/MediaControlRootElement.cpp
    889890    html/shadow/MeterShadowElement.cpp
  • trunk/Source/WebCore/ChangeLog

    r84219 r84222  
     12011-04-18  Steve Lacey  <sjl@chromium.org>
     2
     3        Reviewed by Dimitri Glazkov.
     4
     5        Decouple media controls usage from implementation.
     6        This allows each port to implement thier own controls in a different
     7        manner to the default webkit implementation.
     8
     9        Convert media controls hooks to a client interface
     10        https://bugs.webkit.org/show_bug.cgi?id=58346
     11
     12        No new tests as there is no functional change.
     13
     14        * Android.mk:
     15        * CMakeLists.txt:
     16        * GNUmakefile.list.am:
     17        * WebCore.gypi:
     18        * WebCore.pro:
     19        * WebCore.vcproj/WebCore.vcproj:
     20        * WebCore.xcodeproj/project.pbxproj:
     21        * html/HTMLMediaElement.cpp:
     22        (WebCore::HTMLMediaElement::mediaControls):
     23        (WebCore::HTMLMediaElement::ensureMediaControls):
     24        (WebCore::HTMLMediaElement::preDispatchEventHandler):
     25        * html/HTMLMediaElement.h:
     26        * html/shadow/MediaControlElements.cpp:
     27        (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
     28        (WebCore::MediaControlPanelMuteButtonElement::create):
     29        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
     30        (WebCore::MediaControlTimelineElement::create):
     31        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
     32        (WebCore::MediaControlFullscreenButtonElement::create):
     33        * html/shadow/MediaControlElements.h:
     34        * html/shadow/MediaControlRootElement.cpp:
     35        (WebCore::MediaControlRootElement::MediaControlRootElement):
     36        (WebCore::MediaControls::create):
     37        * html/shadow/MediaControlRootElement.h:
     38        * html/shadow/MediaControls.cpp: Added.
     39        (WebCore::MediaControls::MediaControls):
     40        * html/shadow/MediaControls.h: Added.
     41        (WebCore::MediaControls::~MediaControls):
     42
    1432011-04-18  Pascal Massimino  <pascal.massimino@gmail.com>
    244
  • trunk/Source/WebCore/GNUmakefile.list.am

    r84149 r84222  
    18461846        Source/WebCore/html/shadow/DetailsMarkerControl.cpp \
    18471847        Source/WebCore/html/shadow/DetailsMarkerControl.h \
     1848        Source/WebCore/html/shadow/MediaControls.cpp \
     1849        Source/WebCore/html/shadow/MediaControls.h \
    18481850        Source/WebCore/html/shadow/MediaControlElements.cpp \
    18491851        Source/WebCore/html/shadow/MediaControlElements.h \
  • trunk/Source/WebCore/WebCore.gypi

    r84149 r84222  
    31773177            'html/shadow/DetailsMarkerControl.cpp',
    31783178            'html/shadow/DetailsMarkerControl.h',
     3179            'html/shadow/MediaControls.cpp',
     3180            'html/shadow/MediaControls.h',
    31793181            'html/shadow/MediaControlElements.cpp',
    31803182            'html/shadow/MediaControlElements.h',
  • trunk/Source/WebCore/WebCore.pro

    r84149 r84222  
    805805    html/parser/XSSFilter.cpp \
    806806    html/shadow/DetailsMarkerControl.cpp \
     807    html/shadow/MediaControls.cpp \
    807808    html/shadow/MediaControlRootElement.cpp \
    808809    html/shadow/MeterShadowElement.cpp \
  • trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj

    r84125 r84222  
    5671056710                                </File>
    5671156711                                <File
     56712                                        RelativePath="..\html\shadow\MediaControls.cpp"
     56713                                        >
     56714                                </File>
     56715                                <File
     56716                                        RelativePath="..\html\shadow\MediaControls.h"
     56717                                        >
     56718                                </File>
     56719                                <File
    5671256720                                        RelativePath="..\html\shadow\MediaControlElements.cpp"
    5671356721                                        >
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r84149 r84222  
    644644                1CF6BE150E9BB4670025E1CD /* ObjCNodeFilterCondition.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CF6BE130E9BB4670025E1CD /* ObjCNodeFilterCondition.h */; };
    645645                1CFAE3230A6D6A3F0032593D /* libobjc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CFAE3220A6D6A3F0032593D /* libobjc.dylib */; };
     646                1F3C3BEA135CAF3C00B8C1AC /* MediaControls.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F3C3BE8135CAF3C00B8C1AC /* MediaControls.cpp */; };
     647                1F3C3BEB135CAF3C00B8C1AC /* MediaControls.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F3C3BE9135CAF3C00B8C1AC /* MediaControls.h */; };
    646648                20D629261253690B00081543 /* InspectorInstrumentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20D629241253690B00081543 /* InspectorInstrumentation.cpp */; };
    647649                20D629271253690B00081543 /* InspectorInstrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 20D629251253690B00081543 /* InspectorInstrumentation.h */; };
     
    71027104                1CF6BE130E9BB4670025E1CD /* ObjCNodeFilterCondition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjCNodeFilterCondition.h; sourceTree = "<group>"; };
    71037105                1CFAE3220A6D6A3F0032593D /* libobjc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libobjc.dylib; path = /usr/lib/libobjc.dylib; sourceTree = "<absolute>"; };
     7106                1F3C3BE8135CAF3C00B8C1AC /* MediaControls.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaControls.cpp; sourceTree = "<group>"; };
     7107                1F3C3BE9135CAF3C00B8C1AC /* MediaControls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaControls.h; sourceTree = "<group>"; };
    71047108                20D629241253690B00081543 /* InspectorInstrumentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorInstrumentation.cpp; sourceTree = "<group>"; };
    71057109                20D629251253690B00081543 /* InspectorInstrumentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorInstrumentation.h; sourceTree = "<group>"; };
     
    1354013544                                4157AF7F12F1FB0400A8C6F5 /* MediaControlRootElement.cpp */,
    1354113545                                4157AF7E12F1FB0400A8C6F5 /* MediaControlRootElement.h */,
     13546                                1F3C3BE8135CAF3C00B8C1AC /* MediaControls.cpp */,
     13547                                1F3C3BE9135CAF3C00B8C1AC /* MediaControls.h */,
    1354213548                                A78E526D1346BD1700AD9C31 /* MeterShadowElement.cpp */,
    1354313549                                A78E526E1346BD1700AD9C31 /* MeterShadowElement.h */,
     
    2105221058                                939885C408B7E3D100E707C4 /* EventNames.h in Headers */,
    2105321059                                8F67561B1288B17B0047ACA3 /* EventQueue.h in Headers */,
     21060                                22777B4B134A018C008EA455 /* EventsCollector.h in Headers */,
    2105421061                                E0FEF372B17C53EAC1C1FBEE /* EventSource.h in Headers */,
    21055                                 22777B4B134A018C008EA455 /* EventsCollector.h in Headers */,
    2105621062                                E12EDB7B0B308A78002704B6 /* EventTarget.h in Headers */,
    2105721063                                BC60D8F30D2A11E000B9918F /* ExceptionBase.h in Headers */,
     
    2196321969                                BCFF64910EAD15C200C1D6F7 /* LengthBox.h in Headers */,
    2196421970                                BCFF64920EAD15C200C1D6F7 /* LengthSize.h in Headers */,
     21971                                8CADF2A9135C7B36009EF43F /* LevelDBComparator.h in Headers */,
     21972                                8CADF2AB135C7B36009EF43F /* LevelDBDatabase.h in Headers */,
     21973                                8CADF2AD135C7B36009EF43F /* LevelDBIterator.h in Headers */,
     21974                                8CADF2AE135C7B36009EF43F /* LevelDBSlice.h in Headers */,
    2196521975                                84730D911248F0B300D3A9C9 /* LightSource.h in Headers */,
    2196621976                                B22279650D00BF220071B782 /* LinearGradientAttributes.h in Headers */,
     
    2200022010                                417253AB1354BBBC00360F2A /* MediaControlElements.h in Headers */,
    2200122011                                4157AF8012F1FB0400A8C6F5 /* MediaControlRootElement.h in Headers */,
     22012                                1F3C3BEB135CAF3C00B8C1AC /* MediaControls.h in Headers */,
    2200222013                                97205AB81239291000B17380 /* MediaDocument.h in Headers */,
    2200322014                                E44613AD0CD6331000FADA75 /* MediaError.h in Headers */,
     
    2299323004                                E1BE512E0CF6C512002EA959 /* XSLTUnicodeSort.h in Headers */,
    2299423005                                977E2E0F12F0FC9C00C13379 /* XSSFilter.h in Headers */,
    22995                                 8CADF2A9135C7B36009EF43F /* LevelDBComparator.h in Headers */,
    22996                                 8CADF2AB135C7B36009EF43F /* LevelDBDatabase.h in Headers */,
    22997                                 8CADF2AD135C7B36009EF43F /* LevelDBIterator.h in Headers */,
    22998                                 8CADF2AE135C7B36009EF43F /* LevelDBSlice.h in Headers */,
    2299923006                        );
    2300023007                        runOnlyForDeploymentPostprocessing = 0;
     
    2391623923                                939885C308B7E3D100E707C4 /* EventNames.cpp in Sources */,
    2391723924                                8F67561C1288B17B0047ACA3 /* EventQueue.cpp in Sources */,
     23925                                22777B4A134A018C008EA455 /* EventsCollector.cpp in Sources */,
    2391823926                                E0FEF372B27C53EAC1C1FBEE /* EventSource.cpp in Sources */,
    23919                                 22777B4A134A018C008EA455 /* EventsCollector.cpp in Sources */,
    2392023927                                E12EDBEA0B308E0B002704B6 /* EventTarget.cpp in Sources */,
    2392123928                                BC60D8F20D2A11E000B9918F /* ExceptionBase.cpp in Sources */,
     
    2489524902                                51B2417B0D931F3F00E83F5C /* LegacyWebArchiveMac.mm in Sources */,
    2489624903                                BCE65BEA0EACDF16007E4533 /* Length.cpp in Sources */,
     24904                                8CADF2AA135C7B36009EF43F /* LevelDBDatabase.cpp in Sources */,
     24905                                8CADF2AC135C7B36009EF43F /* LevelDBIterator.cpp in Sources */,
    2489724906                                84730D901248F0B300D3A9C9 /* LightSource.cpp in Sources */,
    2489824907                                89B5EAA111E8003D00F2367E /* LineEnding.cpp in Sources */,
     
    2492824937                                417253AA1354BBBC00360F2A /* MediaControlElements.cpp in Sources */,
    2492924938                                4157AF8112F1FB0400A8C6F5 /* MediaControlRootElement.cpp in Sources */,
     24939                                1F3C3BEA135CAF3C00B8C1AC /* MediaControls.cpp in Sources */,
    2493024940                                97205AB71239291000B17380 /* MediaDocument.cpp in Sources */,
    2493124941                                4E1959210A39DABA00220FE5 /* MediaFeatureNames.cpp in Sources */,
     
    2570325713                                E1BE512D0CF6C512002EA959 /* XSLTUnicodeSort.cpp in Sources */,
    2570425714                                977E2E0E12F0FC9C00C13379 /* XSSFilter.cpp in Sources */,
    25705                                 8CADF2AA135C7B36009EF43F /* LevelDBDatabase.cpp in Sources */,
    25706                                 8CADF2AC135C7B36009EF43F /* LevelDBIterator.cpp in Sources */,
    2570725715                        );
    2570825716                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/Source/WebCore/html/HTMLMediaElement.cpp

    r84077 r84222  
    5050#include "HTMLVideoElement.h"
    5151#include "Logging.h"
    52 #include "MediaControlRootElement.h"
     52#include "MediaControls.h"
    5353#include "MediaDocument.h"
    5454#include "MediaError.h"
     
    26542654}
    26552655
    2656 MediaControlRootElement* HTMLMediaElement::mediaControls()
    2657 {
    2658     return shadowRoot() ? toMediaControls(shadowRoot()->firstChild()) : 0;
     2656MediaControls* HTMLMediaElement::mediaControls()
     2657{
     2658    if (!shadowRoot())
     2659        return 0;
     2660
     2661    Node* node = shadowRoot()->firstChild();
     2662    ASSERT(node->isHTMLElement());
     2663    return static_cast<MediaControls*>(node);
    26592664}
    26602665
     
    26702675
    26712676    ExceptionCode ec;
    2672     ensureShadowRoot()->appendChild(MediaControlRootElement::create(this), ec);
    2673 }
    2674 
    2675 void* HTMLMediaElement::preDispatchEventHandler(Event* event) 
     2677    ensureShadowRoot()->appendChild(MediaControls::create(this), ec);
     2678}
     2679
     2680void* HTMLMediaElement::preDispatchEventHandler(Event* event)
    26762681{
    26772682    if (event && event->type() == eventNames().webkitfullscreenchangeEvent) {
  • trunk/Source/WebCore/html/HTMLMediaElement.h

    r83667 r84222  
    4242class Event;
    4343class HTMLSourceElement;
    44 class MediaControlRootElement;
     44class MediaControls;
    4545class MediaError;
    4646class KURL;
     
    173173    void setClosedCaptionsVisible(bool);
    174174
    175     MediaControlRootElement* mediaControls();
     175    MediaControls* mediaControls();
    176176
    177177    bool processingUserGesture() const;
     
    336336    Vector<RefPtr<Event> > m_pendingEvents;
    337337    RefPtr<TimeRanges> m_playedTimeRanges;
    338    
     338
    339339    float m_playbackRate;
    340340    float m_defaultPlaybackRate;
  • trunk/Source/WebCore/html/shadow/MediaControlElements.cpp

    r83636 r84222  
    3939#include "HTMLNames.h"
    4040#include "LocalizedStrings.h"
    41 #include "MediaControlRootElement.h"
     41#include "MediaControls.h"
    4242#include "MouseEvent.h"
    4343#include "Page.h"
     
    347347// ----------------------------
    348348
    349 inline MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement(HTMLMediaElement* mediaElement, MediaControlRootElement* controls)
     349inline MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement(HTMLMediaElement* mediaElement, MediaControls* controls)
    350350    : MediaControlMuteButtonElement(mediaElement, MediaMuteButton)
    351351    , m_controls(controls)
     
    353353}
    354354
    355 PassRefPtr<MediaControlPanelMuteButtonElement> MediaControlPanelMuteButtonElement::create(HTMLMediaElement* mediaElement, MediaControlRootElement* controls)
     355PassRefPtr<MediaControlPanelMuteButtonElement> MediaControlPanelMuteButtonElement::create(HTMLMediaElement* mediaElement, MediaControls* controls)
    356356{
    357357    ASSERT(controls);
     
    627627// ----------------------------
    628628
    629 MediaControlTimelineElement::MediaControlTimelineElement(HTMLMediaElement* mediaElement, MediaControlRootElement* controls)
     629MediaControlTimelineElement::MediaControlTimelineElement(HTMLMediaElement* mediaElement, MediaControls* controls)
    630630    : MediaControlInputElement(mediaElement, MediaSlider)
    631631    , m_controls(controls)
     
    633633}
    634634
    635 PassRefPtr<MediaControlTimelineElement> MediaControlTimelineElement::create(HTMLMediaElement* mediaElement, MediaControlRootElement* controls)
     635PassRefPtr<MediaControlTimelineElement> MediaControlTimelineElement::create(HTMLMediaElement* mediaElement, MediaControls* controls)
    636636{
    637637    ASSERT(controls);
     
    768768// ----------------------------
    769769
    770 inline MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement(HTMLMediaElement* mediaElement, MediaControlRootElement* controls)
     770inline MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement(HTMLMediaElement* mediaElement, MediaControls* controls)
    771771    : MediaControlInputElement(mediaElement, MediaFullscreenButton)
    772772    , m_controls(controls)
     
    774774}
    775775
    776 PassRefPtr<MediaControlFullscreenButtonElement> MediaControlFullscreenButtonElement::create(HTMLMediaElement* mediaElement, MediaControlRootElement* controls)
     776PassRefPtr<MediaControlFullscreenButtonElement> MediaControlFullscreenButtonElement::create(HTMLMediaElement* mediaElement, MediaControls* controls)
    777777{
    778778    ASSERT(controls);
  • trunk/Source/WebCore/html/shadow/MediaControlElements.h

    r83636 r84222  
    4343class Event;
    4444class Frame;
    45 class MediaControlRootElement;
     45class MediaControls;
    4646
    4747// Must match WebKitSystemInterface.h
     
    194194class MediaControlPanelMuteButtonElement : public MediaControlMuteButtonElement {
    195195public:
    196     static PassRefPtr<MediaControlPanelMuteButtonElement> create(HTMLMediaElement*, MediaControlRootElement*);
    197 
    198 private:
    199     MediaControlPanelMuteButtonElement(HTMLMediaElement*, MediaControlRootElement*);
    200 
    201     virtual void defaultEventHandler(Event*);
    202     virtual const AtomicString& shadowPseudoId() const;
    203 
    204     MediaControlRootElement* m_controls;
     196    static PassRefPtr<MediaControlPanelMuteButtonElement> create(HTMLMediaElement*, MediaControls*);
     197
     198private:
     199    MediaControlPanelMuteButtonElement(HTMLMediaElement*, MediaControls*);
     200
     201    virtual void defaultEventHandler(Event*);
     202    virtual const AtomicString& shadowPseudoId() const;
     203
     204    MediaControls* m_controls;
    205205};
    206206
     
    326326class MediaControlTimelineElement : public MediaControlInputElement {
    327327public:
    328     static PassRefPtr<MediaControlTimelineElement> create(HTMLMediaElement*, MediaControlRootElement*);
     328    static PassRefPtr<MediaControlTimelineElement> create(HTMLMediaElement*, MediaControls*);
    329329
    330330    virtual void defaultEventHandler(Event*);
     
    333333
    334334private:
    335     MediaControlTimelineElement(HTMLMediaElement*, MediaControlRootElement*);
    336 
    337     virtual const AtomicString& shadowPseudoId() const;
    338 
    339     MediaControlRootElement* m_controls;
     335    MediaControlTimelineElement(HTMLMediaElement*, MediaControls*);
     336
     337    virtual const AtomicString& shadowPseudoId() const;
     338
     339    MediaControls* m_controls;
    340340};
    341341
     
    360360class MediaControlFullscreenButtonElement : public MediaControlInputElement {
    361361public:
    362     static PassRefPtr<MediaControlFullscreenButtonElement> create(HTMLMediaElement*, MediaControlRootElement*);
    363 
    364     virtual void defaultEventHandler(Event*);
    365 
    366 private:
    367     MediaControlFullscreenButtonElement(HTMLMediaElement*, MediaControlRootElement*);
    368 
    369     virtual const AtomicString& shadowPseudoId() const;
    370 
    371     MediaControlRootElement* m_controls;
     362    static PassRefPtr<MediaControlFullscreenButtonElement> create(HTMLMediaElement*, MediaControls*);
     363
     364    virtual void defaultEventHandler(Event*);
     365
     366private:
     367    MediaControlFullscreenButtonElement(HTMLMediaElement*, MediaControls*);
     368
     369    virtual const AtomicString& shadowPseudoId() const;
     370
     371    MediaControls* m_controls;
    372372};
    373373
  • trunk/Source/WebCore/html/shadow/MediaControlRootElement.cpp

    r83804 r84222  
    3030#include "MediaControlRootElement.h"
    3131
    32 #include "EventNames.h"
    33 #include "FloatConversion.h"
    34 #include "HTMLNames.h"
    3532#include "MediaControlElements.h"
    36 #include "MouseEvent.h"
    3733#include "Page.h"
    38 #include "RenderLayer.h"
    3934#include "RenderTheme.h"
    40 #include <wtf/CurrentTime.h>
    41 #include <wtf/MathExtras.h>
    42 
    4335
    4436using namespace std;
     
    4638namespace WebCore {
    4739
    48 using namespace HTMLNames;
    49 
    5040MediaControlRootElement::MediaControlRootElement(HTMLMediaElement* mediaElement)
    51     : HTMLDivElement(divTag, mediaElement->document())
     41    : MediaControls(mediaElement)
    5242    , m_mediaElement(mediaElement)
    5343    , m_rewindButton(0)
     
    7565}
    7666
     67PassRefPtr<MediaControls> MediaControls::create(HTMLMediaElement* mediaElement)
     68{
     69    return MediaControlRootElement::create(mediaElement);
     70}
     71
    7772PassRefPtr<MediaControlRootElement> MediaControlRootElement::create(HTMLMediaElement* mediaElement)
    7873{
  • trunk/Source/WebCore/html/shadow/MediaControlRootElement.h

    r83545 r84222  
    2525 */
    2626
    27 #ifndef MediaControls_h
    28 #define MediaControls_h
     27#ifndef MediaControlRootElement_h
     28#define MediaControlRootElement_h
    2929
    3030#if ENABLE(VIDEO)
    3131
    32 #include "HTMLDivElement.h"
    33 #include "Timer.h"
     32#include "MediaControls.h"
    3433#include <wtf/RefPtr.h>
    3534
    3635namespace WebCore {
    3736
    38 class HTMLElement;
    3937class HTMLInputElement;
    4038class HTMLMediaElement;
     
    6967class RenderMedia;
    7068
    71 class MediaControlRootElement : public HTMLDivElement {
     69class MediaControlRootElement : public MediaControls {
    7270public:
    7371    static PassRefPtr<MediaControlRootElement> create(HTMLMediaElement*);
    7472
     73    // MediaControls implementation.
    7574    void show();
    7675    void hide();
     
    129128};
    130129
    131 inline MediaControlRootElement* toMediaControls(Node* node)
    132 {
    133     ASSERT(node->isHTMLElement());
    134     return static_cast<MediaControlRootElement*>(node);
    135 }
    136 
    137130}
    138131
Note: See TracChangeset for help on using the changeset viewer.