Changeset 101213 in webkit
- Timestamp:
- Nov 27, 2011, 3:25:52 PM (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
r101212 r101213 1 2011-11-27 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 Fix for r101057 after it was rolled out in r101088 7 8 Reviewed by Eric Carlson. 9 10 * media/track/track-add-track-expected.txt: 11 * media/track/track-add-track.html: 12 * media/track/track-constants-expected.txt: 13 * media/track/track-constants.html: 14 * media/track/track-load-error-readyState-expected.txt: 15 * media/track/track-load-error-readyState.html: 16 * media/track/track-load-from-element-readyState-expected.txt: 17 * media/track/track-load-from-element-readyState.html: 18 * media/track/track-load-from-src-readyState-expected.txt: 19 * media/track/track-load-from-src-readyState.html: 20 1 21 2011-11-27 Benjamin Poulain <benjamin@webkit.org> 2 22 -
trunk/LayoutTests/media/track/track-add-track-expected.txt
r101088 r101213 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
r101088 r101213 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
r101088 r101213 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
r101088 r101213 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
r101088 r101213 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
r101088 r101213 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
r101088 r101213 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
r101088 r101213 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
r101088 r101213 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
r101088 r101213 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
r101210 r101213 1 2011-11-27 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 Fix for r101057 after it was rolled out in r101088 7 8 Reviewed by Eric Carlson. 9 10 * html/HTMLTrackElement.cpp: 11 (WebCore::HTMLTrackElement::HTMLTrackElement): 12 Set initial readyState to NONE. 13 (WebCore::HTMLTrackElement::didCompleteLoad): 14 Set readyState based on load completed status. 15 (WebCore::HTMLTrackElement::setReadyState): 16 This replaces textTrackReadyStateChanged() because only LoadableTextTrack 17 needs to notify HTMLTrackElement of readyState changes (i.e. 18 textTrackReadyStateChanged() is no longer required of TextTrackClient). 19 * html/HTMLTrackElement.h: 20 ReadyState enum and m_readyState member variable moved from TextTrack. 21 (WebCore::HTMLTrackElement::readyState): 22 New: readyState() getter. 23 * html/HTMLTrackElement.idl: 24 Add readyState attribute and associated constants. 25 26 * html/LoadableTextTrack.cpp: 27 (WebCore::LoadableTextTrack::loadTimerFired): Set readyState on HTMLTrackElement. 28 (WebCore::LoadableTextTrack::cueLoadingStarted): Ditto. 29 (WebCore::LoadableTextTrack::cueLoadingCompleted): Move code to set readyState 30 to HTMLTrackElement (it can set it based on loading status). 31 32 * html/TextTrack.cpp: Remove readyState from TextTrack. 33 (WebCore::TextTrack::TextTrack): Ditto. 34 * html/TextTrack.h: Ditto. 35 * html/TextTrack.idl: Ditto. 36 1 37 2011-11-27 Anna Cavender <annacc@chromium.org> 2 38 -
trunk/Source/WebCore/html/HTMLTrackElement.cpp
r101210 r101213 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); … … 213 214 void HTMLTrackElement::didCompleteLoad(LoadableTextTrack*, bool loadingFailed) 214 215 { 216 loadingFailed ? setReadyState(HTMLTrackElement::TRACK_ERROR) : setReadyState(HTMLTrackElement::LOADED); 217 215 218 ExceptionCode ec = 0; 216 219 dispatchEvent(Event::create(loadingFailed ? eventNames().errorEvent : eventNames().loadEvent, false, false), ec); 217 220 } 218 219 void HTMLTrackElement::textTrackReadyStateChanged(TextTrack* track) 220 { 221 if (HTMLMediaElement* parent = mediaElement()) 222 return parent->textTrackReadyStateChanged(track); 221 222 void HTMLTrackElement::setReadyState(ReadyState state) 223 { 224 m_readyState = state; 225 if (HTMLMediaElement* parent = mediaElement()) 226 return parent->textTrackReadyStateChanged(m_track.get()); 223 227 } 224 228 -
trunk/Source/WebCore/html/HTMLTrackElement.h
r101088 r101213 54 54 bool isDefault() const; 55 55 void setIsDefault(bool); 56 57 enum ReadyState { NONE = 0, LOADING = 1, LOADED = 2, TRACK_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
r101088 r101213 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 // Reflect is used for ERROR because it conflicts with a windows define. 41 const [Reflect=TRACK_ERROR] unsigned short ERROR = 3; 42 readonly attribute unsigned short readyState; 43 44 readonly attribute TextTrack track; 38 45 }; 39 46 } -
trunk/Source/WebCore/html/LoadableTextTrack.cpp
r101185 r101213 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::TRACK_ERROR); 74 77 return; 75 78 } … … 102 105 ASSERT_UNUSED(loader, m_loader == loader); 103 106 104 setReadyState(TextTrack::LOADING); 107 if (!m_trackElement) 108 return; 109 m_trackElement->setReadyState(HTMLTrackElement::LOADING); 105 110 } 106 111 … … 109 114 ASSERT_UNUSED(loader, m_loader == loader); 110 115 111 loadingFailed ? setReadyState(TextTrack::HTML_ERROR) : setReadyState(TextTrack::LOADED); 112 113 if (m_trackElement) 114 m_trackElement->didCompleteLoad(this, loadingFailed); 116 if (!m_trackElement) 117 return; 118 m_trackElement->didCompleteLoad(this, loadingFailed); 115 119 } 116 120 -
trunk/Source/WebCore/html/TextTrack.cpp
r101185 r101213 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
r101185 r101213 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; } … … 105 101 TextTrack(ScriptExecutionContext*, TextTrackClient*, const String& kind, const String& label, const String& language, TextTrackType); 106 102 107 void setReadyState(ReadyState);108 109 103 RefPtr<TextTrackCueList> m_cues; 110 104 … … 113 107 String m_label; 114 108 String m_language; 115 TextTrack::ReadyState m_readyState;116 109 TextTrack::Mode m_mode; 117 110 TextTrackClient* m_client; -
trunk/Source/WebCore/html/TextTrack.idl
r101088 r101213 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.