Changeset 101057 in webkit
- Timestamp:
- Nov 23, 2011, 1:25:39 AM (15 years ago)
- Location:
- trunk
- Files:
-
- 19 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/media/track/track-add-track-expected.txt (modified) (2 diffs)
-
LayoutTests/media/track/track-add-track.html (modified) (2 diffs)
-
LayoutTests/media/track/track-constants-expected.txt (modified) (1 diff)
-
LayoutTests/media/track/track-constants.html (modified) (1 diff)
-
LayoutTests/media/track/track-load-error-readyState-expected.txt (modified) (1 diff)
-
LayoutTests/media/track/track-load-error-readyState.html (modified) (1 diff)
-
LayoutTests/media/track/track-load-from-element-readyState-expected.txt (modified) (1 diff)
-
LayoutTests/media/track/track-load-from-element-readyState.html (modified) (1 diff)
-
LayoutTests/media/track/track-load-from-src-readyState-expected.txt (modified) (1 diff)
-
LayoutTests/media/track/track-load-from-src-readyState.html (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/html/HTMLTrackElement.cpp (modified) (2 diffs)
-
Source/WebCore/html/HTMLTrackElement.h (modified) (4 diffs)
-
Source/WebCore/html/HTMLTrackElement.idl (modified) (1 diff)
-
Source/WebCore/html/LoadableTextTrack.cpp (modified) (3 diffs)
-
Source/WebCore/html/TextTrack.cpp (modified) (2 diffs)
-
Source/WebCore/html/TextTrack.h (modified) (4 diffs)
-
Source/WebCore/html/TextTrack.idl (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r101056 r101057 1 2011-11-23 Anna Cavender <annacc@chromium.org> 2 3 Move readyState from TextTrack to HTMLTrackElement 4 https://bugs.webkit.org/show_bug.cgi?id=72553 5 6 Reviewed by Eric Carlson. 7 8 * media/track/track-add-track-expected.txt: 9 * media/track/track-add-track.html: 10 * media/track/track-constants-expected.txt: 11 * media/track/track-constants.html: 12 * media/track/track-load-error-readyState-expected.txt: 13 * media/track/track-load-error-readyState.html: 14 * media/track/track-load-from-element-readyState-expected.txt: 15 * media/track/track-load-from-element-readyState.html: 16 * media/track/track-load-from-src-readyState-expected.txt: 17 * media/track/track-load-from-src-readyState.html: 18 1 19 2011-11-23 Nikolas Zimmermann <nzimmermann@rim.com> 2 20 -
trunk/LayoutTests/media/track/track-add-track-expected.txt
r99984 r101057 6 6 RUN(trackElement.src = 'captions-webvtt/tc004-webvtt-file.vtt') 7 7 EXPECTED (video.textTracks.length == '1') OK 8 EXPECTED (track s[0].readyState == '0') OK8 EXPECTED (trackElement.readyState == '0') OK 9 9 EVENT(addtrack) 10 10 EXPECTED (event.target == '[object TextTrackList]') OK … … 15 15 RUN(tracks.push(video.addTrack('captions', 'Caption Track', 'en'))) 16 16 EXPECTED (video.textTracks.length == '2') OK 17 EXPECTED (tracks[1].readyState == '0') OK18 17 EVENT(addtrack) 19 18 EXPECTED (event.target == '[object TextTrackList]') OK 20 19 EXPECTED (event instanceof window.TrackEvent == 'true') OK 21 20 EXPECTED (event.track == '[object TextTrack]') OK 22 EXPECTED (tracks[1].readyState == '0') OK23 21 24 22 END OF TEST -
trunk/LayoutTests/media/track/track-add-track.html
r99984 r101057 22 22 run("tracks.push(video.addTrack('captions', 'Caption Track', 'en'))"); 23 23 testExpected("video.textTracks.length", 2); 24 testExpected("tracks[1].readyState", TextTrack.NONE);25 24 } else { 26 testExpected("tracks[1].readyState", TextTrack.NONE);27 25 consoleWrite(""); 28 26 endTest(); … … 45 43 run("trackElement.src = 'captions-webvtt/tc004-webvtt-file.vtt'"); 46 44 testExpected("video.textTracks.length", 1); 47 testExpected("track s[0].readyState", TextTrack.NONE);45 testExpected("trackElement.readyState", HTMLTrackElement.NONE); 48 46 } 49 47 -
trunk/LayoutTests/media/track/track-constants-expected.txt
r99027 r101057 1 1 Test TextTrack constants. 2 2 3 EXPECTED ( TextTrack.NONE == '0') OK4 EXPECTED ( TextTrack.LOADING == '1') OK5 EXPECTED ( TextTrack.LOADED == '2') OK6 EXPECTED ( TextTrack.ERROR == '3') OK3 EXPECTED (HTMLTrackElement.NONE == '0') OK 4 EXPECTED (HTMLTrackElement.LOADING == '1') OK 5 EXPECTED (HTMLTrackElement.LOADED == '2') OK 6 EXPECTED (HTMLTrackElement.ERROR == '3') OK 7 7 8 8 EXPECTED (TextTrack.DISABLED == '0') OK -
trunk/LayoutTests/media/track/track-constants.html
r99027 r101057 6 6 function doTest () 7 7 { 8 testExpected(" TextTrack.NONE", 0);9 testExpected(" TextTrack.LOADING", 1);10 testExpected(" TextTrack.LOADED", 2);11 testExpected(" TextTrack.ERROR", 3);8 testExpected("HTMLTrackElement.NONE", 0); 9 testExpected("HTMLTrackElement.LOADING", 1); 10 testExpected("HTMLTrackElement.LOADED", 2); 11 testExpected("HTMLTrackElement.ERROR", 3); 12 12 consoleWrite(""); 13 13 -
trunk/LayoutTests/media/track/track-load-error-readyState-expected.txt
r98860 r101057 2 2 3 3 EVENT(error) 4 EXPECTED (track. track.readyState == '3') OK4 EXPECTED (track.readyState == '3') OK 5 5 END OF TEST 6 6 -
trunk/LayoutTests/media/track/track-load-error-readyState.html
r99027 r101057 12 12 consoleWrite("EVENT(error)"); 13 13 track = document.getElementById('testTrackError'); 14 testExpected("track. track.readyState", TextTrack.ERROR);14 testExpected("track.readyState", HTMLTrackElement.ERROR); 15 15 endTest(); 16 16 } -
trunk/LayoutTests/media/track/track-load-from-element-readyState-expected.txt
r98860 r101057 2 2 3 3 EVENT(load) 4 EXPECTED (track. track.readyState == '2') OK4 EXPECTED (track.readyState == '2') OK 5 5 END OF TEST 6 6 -
trunk/LayoutTests/media/track/track-load-from-element-readyState.html
r99027 r101057 12 12 consoleWrite("EVENT(load)"); 13 13 track = document.getElementById('testTrackSrc'); 14 testExpected("track. track.readyState", TextTrack.LOADED);14 testExpected("track.readyState", HTMLTrackElement.LOADED); 15 15 endTest(); 16 16 } -
trunk/LayoutTests/media/track/track-load-from-src-readyState-expected.txt
r98860 r101057 1 1 Tests the load event on HTMLTrackElement and LOADED readyState on TextTrack when src is set from JavaScript. 2 2 3 EXPECTED (track. track.readyState == '0') OK3 EXPECTED (track.readyState == '0') OK 4 4 EVENT(load) 5 EXPECTED (track. track.readyState == '2') OK5 EXPECTED (track.readyState == '2') OK 6 6 END OF TEST 7 7 -
trunk/LayoutTests/media/track/track-load-from-src-readyState.html
r99027 r101057 17 17 { 18 18 consoleWrite("EVENT(load)"); 19 testExpected("track. track.readyState", TextTrack.LOADED);19 testExpected("track.readyState", HTMLTrackElement.LOADED); 20 20 endTest(); 21 21 } 22 22 23 23 track = document.getElementById('testTrackEmpty'); 24 testExpected("track. track.readyState", TextTrack.NONE);24 testExpected("track.readyState", HTMLTrackElement.NONE); 25 25 track.addEventListener("load", function () { trackLoaded(); }, true); 26 26 track.src = "captions-webvtt/tc004-webvtt-file.vtt"; -
trunk/Source/WebCore/ChangeLog
r101052 r101057 1 2011-11-23 Anna Cavender <annacc@chromium.org> 2 3 Move readyState from TextTrack to HTMLTrackElement 4 https://bugs.webkit.org/show_bug.cgi?id=72553 5 6 Reviewed by Eric Carlson. 7 8 * html/HTMLTrackElement.cpp: 9 (WebCore::HTMLTrackElement::HTMLTrackElement): 10 Set initial readyState to NONE. 11 (WebCore::HTMLTrackElement::didCompleteLoad): 12 Set readyState based on load completed status. 13 (WebCore::HTMLTrackElement::setReadyState): 14 This replaces textTrackReadyStateChanged() because only LoadableTextTrack 15 needs to notify HTMLTrackElement of readyState changes (i.e. 16 textTrackReadyStateChanged() is no longer required of TextTrackClient). 17 * html/HTMLTrackElement.h: 18 ReadyState enum and m_readyState member variable moved from TextTrack. 19 (WebCore::HTMLTrackElement::readyState): 20 New: readyState() getter. 21 * html/HTMLTrackElement.idl: 22 Add readyState attribute and associated constants. 23 24 * html/LoadableTextTrack.cpp: 25 (WebCore::LoadableTextTrack::loadTimerFired): Set readyState on HTMLTrackElement. 26 (WebCore::LoadableTextTrack::cueLoadingStarted): Ditto. 27 (WebCore::LoadableTextTrack::cueLoadingCompleted): Move code to set readyState 28 to HTMLTrackElement (it can set it based on loading status). 29 30 * html/TextTrack.cpp: Remove readyState from TextTrack. 31 (WebCore::TextTrack::TextTrack): Ditto. 32 * html/TextTrack.h: Ditto. 33 * html/TextTrack.idl: Ditto. 34 1 35 2011-11-23 Raphael Kubo da Costa <kubo@profusion.mobi> 2 36 -
trunk/Source/WebCore/html/HTMLTrackElement.cpp
r100453 r101057 44 44 inline HTMLTrackElement::HTMLTrackElement(const QualifiedName& tagName, Document* document) 45 45 : HTMLElement(tagName, document) 46 , m_readyState(HTMLTrackElement::NONE) 46 47 { 47 48 LOG(Media, "HTMLTrackElement::HTMLTrackElement - %p", this); … … 207 208 void HTMLTrackElement::didCompleteLoad(LoadableTextTrack*, bool loadingFailed) 208 209 { 210 loadingFailed ? setReadyState(HTMLTrackElement::ERROR) : setReadyState(HTMLTrackElement::LOADED); 211 209 212 ExceptionCode ec = 0; 210 213 dispatchEvent(Event::create(loadingFailed ? eventNames().errorEvent : eventNames().loadEvent, false, false), ec); 211 214 } 212 213 void HTMLTrackElement::textTrackReadyStateChanged(TextTrack* track) 214 { 215 if (HTMLMediaElement* parent = mediaElement()) 216 return parent->textTrackReadyStateChanged(track); 215 216 void HTMLTrackElement::setReadyState(ReadyState state) 217 { 218 m_readyState = state; 219 if (HTMLMediaElement* parent = mediaElement()) 220 return parent->textTrackReadyStateChanged(m_track.get()); 217 221 } 218 222 -
trunk/Source/WebCore/html/HTMLTrackElement.h
r100453 r101057 54 54 bool isDefault() const; 55 55 void setIsDefault(bool); 56 57 enum ReadyState { NONE = 0, LOADING = 1, LOADED = 2, ERROR = 3 }; 58 ReadyState readyState() const { return m_readyState; } 56 59 57 60 TextTrack* track(); … … 60 63 virtual bool canLoadUrl(LoadableTextTrack*, const KURL&); 61 64 virtual void didCompleteLoad(LoadableTextTrack*, bool /* loadingFailed */); 65 66 void setReadyState(ReadyState); 62 67 63 68 private: … … 80 85 81 86 // TextTrackClient 82 virtual void textTrackReadyStateChanged(TextTrack*);83 87 virtual void textTrackModeChanged(TextTrack*); 84 88 virtual void textTrackKindChanged(TextTrack*); … … 90 94 LoadableTextTrack* ensureTrack(); 91 95 96 HTMLTrackElement::ReadyState m_readyState; 92 97 RefPtr<LoadableTextTrack> m_track; 93 98 }; -
trunk/Source/WebCore/html/HTMLTrackElement.idl
r97926 r101057 29 29 EnabledAtRuntime=webkitVideoTrack 30 30 ] HTMLTrackElement : HTMLElement { 31 attribute [Reflect, URL] DOMString src;32 attribute DOMString kind;33 attribute DOMString srclang;34 attribute DOMString label;35 attribute [Reflect=default] boolean isDefault;31 attribute [Reflect, URL] DOMString src; 32 attribute DOMString kind; 33 attribute DOMString srclang; 34 attribute DOMString label; 35 attribute [Reflect=default] boolean isDefault; 36 36 37 readonly attribute TextTrack track; 37 const unsigned short NONE = 0; 38 const unsigned short LOADING = 1; 39 const unsigned short LOADED = 2; 40 const unsigned short ERROR = 3; 41 readonly attribute unsigned short readyState; 42 43 readonly attribute TextTrack track; 38 44 }; 39 45 } -
trunk/Source/WebCore/html/LoadableTextTrack.cpp
r100616 r101057 65 65 void LoadableTextTrack::loadTimerFired(Timer<LoadableTextTrack>*) 66 66 { 67 setReadyState(TextTrack::LOADING); 67 if (!m_trackElement) 68 return; 69 70 m_trackElement->setReadyState(HTMLTrackElement::LOADING); 68 71 69 72 if (m_loader) 70 73 m_loader->cancelLoad(); 71 74 72 if (!m_trackElement || !m_trackElement->canLoadUrl(this, m_url)) {73 setReadyState(TextTrack::HTML_ERROR);75 if (!m_trackElement->canLoadUrl(this, m_url)) { 76 m_trackElement->setReadyState(HTMLTrackElement::ERROR); 74 77 return; 75 78 } … … 101 104 ASSERT_UNUSED(loader, m_loader == loader); 102 105 103 setReadyState(TextTrack::LOADING); 106 if (!m_trackElement) 107 return; 108 m_trackElement->setReadyState(HTMLTrackElement::LOADING); 104 109 } 105 110 … … 108 113 ASSERT_UNUSED(loader, m_loader == loader); 109 114 110 loadingFailed ? setReadyState(TextTrack::HTML_ERROR) : setReadyState(TextTrack::LOADED); 111 112 if (m_trackElement) 113 m_trackElement->didCompleteLoad(this, loadingFailed); 115 if (!m_trackElement) 116 return; 117 m_trackElement->didCompleteLoad(this, loadingFailed); 114 118 } 115 119 -
trunk/Source/WebCore/html/TextTrack.cpp
r100616 r101057 76 76 , m_label(label) 77 77 , m_language(language) 78 , m_readyState(TextTrack::NONE)79 78 , m_mode(TextTrack::HIDDEN) 80 79 , m_client(client) … … 118 117 if (m_client && oldKind != m_kind) 119 118 m_client->textTrackKindChanged(this); 120 }121 122 void TextTrack::setReadyState(ReadyState state)123 {124 m_readyState = state;125 if (m_client)126 m_client->textTrackReadyStateChanged(this);127 119 } 128 120 -
trunk/Source/WebCore/html/TextTrack.h
r100616 r101057 44 44 public: 45 45 virtual ~TextTrackClient() { } 46 virtual void textTrackReadyStateChanged(TextTrack*) = 0;47 46 virtual void textTrackKindChanged(TextTrack*) = 0; 48 47 virtual void textTrackModeChanged(TextTrack*) = 0; … … 77 76 void setLanguage(const String& language) { m_language = language; } 78 77 79 enum ReadyState { NONE = 0, LOADING = 1, LOADED = 2, HTML_ERROR = 3 };80 ReadyState readyState() const { return m_readyState; }81 82 78 enum Mode { DISABLED = 0, HIDDEN = 1, SHOWING = 2 }; 83 79 Mode mode() const { return m_mode; } … … 108 104 TextTrack(ScriptExecutionContext*, TextTrackClient*, const String& kind, const String& label, const String& language, TextTrackType); 109 105 110 void setReadyState(ReadyState);111 112 106 RefPtr<TextTrackCueList> m_cues; 113 107 … … 116 110 String m_label; 117 111 String m_language; 118 TextTrack::ReadyState m_readyState;119 112 TextTrack::Mode m_mode; 120 113 TextTrackClient* m_client; -
trunk/Source/WebCore/html/TextTrack.idl
r100064 r101057 35 35 readonly attribute DOMString language; 36 36 37 const unsigned short NONE = 0;38 const unsigned short LOADING = 1;39 const unsigned short LOADED = 2;40 // Reflect is used for TextTrack::ERROR because it conflicts with a windows define.41 const [Reflect=HTML_ERROR] unsigned short ERROR = 3;42 readonly attribute unsigned short readyState;43 44 37 const unsigned short DISABLED = 0; 45 38 const unsigned short HIDDEN = 1;
Note:
See TracChangeset
for help on using the changeset viewer.