Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Side by Side Diff: Source/core/html/track/LoadableTextTrack.cpp

Issue 244493002: Oilpan: add transition types to track interface objects. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add missing tracing to HTMLTrackElement. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 28 matching lines...) Expand all
39 LoadableTextTrack::LoadableTextTrack(HTMLTrackElement* track) 39 LoadableTextTrack::LoadableTextTrack(HTMLTrackElement* track)
40 : TextTrack(track->document(), emptyAtom, emptyAtom, emptyAtom, emptyAtom, T rackElement) 40 : TextTrack(track->document(), emptyAtom, emptyAtom, emptyAtom, emptyAtom, T rackElement)
41 , m_trackElement(track) 41 , m_trackElement(track)
42 , m_loadTimer(this, &LoadableTextTrack::loadTimerFired) 42 , m_loadTimer(this, &LoadableTextTrack::loadTimerFired)
43 , m_isDefault(false) 43 , m_isDefault(false)
44 { 44 {
45 } 45 }
46 46
47 LoadableTextTrack::~LoadableTextTrack() 47 LoadableTextTrack::~LoadableTextTrack()
48 { 48 {
49 ASSERT(!m_trackElement);
50 }
51
52 void LoadableTextTrack::clearTrackElement()
Mads Ager (chromium) 2014/04/22 13:07:15 Probably still needed for non-oilpan?
53 {
54 m_trackElement = 0;
55 } 49 }
56 50
57 void LoadableTextTrack::setMode(const AtomicString& mode) 51 void LoadableTextTrack::setMode(const AtomicString& mode)
58 { 52 {
59 TextTrack::setMode(mode); 53 TextTrack::setMode(mode);
60 if (!m_trackElement) 54 if (!m_trackElement)
61 return; 55 return;
62 56
63 if (m_trackElement->readyState() == HTMLTrackElement::NONE) 57 if (m_trackElement->readyState() == HTMLTrackElement::NONE)
64 m_trackElement->scheduleLoad(); 58 m_trackElement->scheduleLoad();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 // origin of the media element's Document, and the default origin behaviour set to fail. 98 // origin of the media element's Document, and the default origin behaviour set to fail.
105 m_loader = TextTrackLoader::create(*this, m_trackElement->document()); 99 m_loader = TextTrackLoader::create(*this, m_trackElement->document());
106 if (!m_loader->load(m_url, m_trackElement->mediaElementCrossOriginAttribute( ))) 100 if (!m_loader->load(m_url, m_trackElement->mediaElementCrossOriginAttribute( )))
107 m_trackElement->didCompleteLoad(HTMLTrackElement::Failure); 101 m_trackElement->didCompleteLoad(HTMLTrackElement::Failure);
108 } 102 }
109 103
110 void LoadableTextTrack::newCuesAvailable(TextTrackLoader* loader) 104 void LoadableTextTrack::newCuesAvailable(TextTrackLoader* loader)
111 { 105 {
112 ASSERT_UNUSED(loader, m_loader == loader); 106 ASSERT_UNUSED(loader, m_loader == loader);
113 107
114 Vector<RefPtr<VTTCue> > newCues; 108 WillBeHeapVector<RefPtrWillBeMember<VTTCue> > newCues;
115 m_loader->getNewCues(newCues); 109 m_loader->getNewCues(newCues);
116 110
117 if (!m_cues) 111 if (!m_cues)
118 m_cues = TextTrackCueList::create(); 112 m_cues = TextTrackCueList::create();
119 113
120 for (size_t i = 0; i < newCues.size(); ++i) { 114 for (size_t i = 0; i < newCues.size(); ++i) {
121 newCues[i]->setTrack(this); 115 newCues[i]->setTrack(this);
122 m_cues->add(newCues[i]); 116 m_cues->add(newCues[i].release());
123 } 117 }
124 118
125 if (mediaElement()) 119 if (mediaElement())
126 mediaElement()->textTrackAddCues(this, m_cues.get()); 120 mediaElement()->textTrackAddCues(this, m_cues.get());
127 } 121 }
128 122
129 void LoadableTextTrack::cueLoadingCompleted(TextTrackLoader* loader, bool loadin gFailed) 123 void LoadableTextTrack::cueLoadingCompleted(TextTrackLoader* loader, bool loadin gFailed)
130 { 124 {
131 ASSERT_UNUSED(loader, m_loader == loader); 125 ASSERT_UNUSED(loader, m_loader == loader);
132 126
133 if (!m_trackElement) 127 if (!m_trackElement)
134 return; 128 return;
135 129
136 m_trackElement->didCompleteLoad(loadingFailed ? HTMLTrackElement::Failure : HTMLTrackElement::Success); 130 m_trackElement->didCompleteLoad(loadingFailed ? HTMLTrackElement::Failure : HTMLTrackElement::Success);
137 } 131 }
138 132
139 void LoadableTextTrack::newRegionsAvailable(TextTrackLoader* loader) 133 void LoadableTextTrack::newRegionsAvailable(TextTrackLoader* loader)
140 { 134 {
141 ASSERT_UNUSED(loader, m_loader == loader); 135 ASSERT_UNUSED(loader, m_loader == loader);
142 136
143 Vector<RefPtr<VTTRegion> > newRegions; 137 WillBeHeapVector<RefPtrWillBeMember<VTTRegion> > newRegions;
144 m_loader->getNewRegions(newRegions); 138 m_loader->getNewRegions(newRegions);
145 139
146 for (size_t i = 0; i < newRegions.size(); ++i) { 140 for (size_t i = 0; i < newRegions.size(); ++i) {
147 newRegions[i]->setTrack(this); 141 newRegions[i]->setTrack(this);
148 regions()->add(newRegions[i]); 142 regions()->add(newRegions[i]);
149 } 143 }
150 } 144 }
151 145
152 size_t LoadableTextTrack::trackElementIndex() 146 size_t LoadableTextTrack::trackElementIndex()
153 { 147 {
154 ASSERT(m_trackElement); 148 ASSERT(m_trackElement);
155 ASSERT(m_trackElement->parentNode()); 149 ASSERT(m_trackElement->parentNode());
156 150
157 size_t index = 0; 151 size_t index = 0;
158 for (HTMLTrackElement* track = Traversal<HTMLTrackElement>::firstChild(*m_tr ackElement->parentNode()); track; track = Traversal<HTMLTrackElement>::nextSibli ng(*track)) { 152 for (HTMLTrackElement* track = Traversal<HTMLTrackElement>::firstChild(*m_tr ackElement->parentNode()); track; track = Traversal<HTMLTrackElement>::nextSibli ng(*track)) {
159 if (!track->parentNode()) 153 if (!track->parentNode())
160 continue; 154 continue;
161 if (track == m_trackElement) 155 if (track == m_trackElement)
162 return index; 156 return index;
163 ++index; 157 ++index;
164 } 158 }
165 ASSERT_NOT_REACHED(); 159 ASSERT_NOT_REACHED();
166 160
167 return 0; 161 return 0;
168 } 162 }
169 163
164 void LoadableTextTrack::trace(Visitor* visitor)
165 {
166 visitor->trace(m_loader);
167 TextTrack::trace(visitor);
168 }
169
170 } // namespace WebCore 170 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698