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

Side by Side Diff: content/renderer/media/texttrack_impl.cc

Issue 495353003: Move WebMediaPlayerImpl and its dependencies to media/blink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 6 years, 3 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
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/renderer/media/texttrack_impl.h"
6
7 #include "base/bind.h"
8 #include "base/location.h"
9 #include "base/single_thread_task_runner.h"
10 #include "content/renderer/media/webinbandtexttrack_impl.h"
11 #include "media/base/bind_to_current_loop.h"
12 #include "third_party/WebKit/public/platform/WebInbandTextTrackClient.h"
13 #include "third_party/WebKit/public/platform/WebMediaPlayerClient.h"
14
15 namespace content {
16
17 TextTrackImpl::TextTrackImpl(
18 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
19 blink::WebMediaPlayerClient* client,
20 scoped_ptr<WebInbandTextTrackImpl> text_track)
21 : task_runner_(task_runner),
22 client_(client),
23 text_track_(text_track.Pass()) {
24 client_->addTextTrack(text_track_.get());
25 }
26
27 TextTrackImpl::~TextTrackImpl() {
28 task_runner_->PostTask(
29 FROM_HERE,
30 base::Bind(&TextTrackImpl::OnRemoveTrack,
31 client_,
32 base::Passed(&text_track_)));
33 }
34
35 void TextTrackImpl::addWebVTTCue(const base::TimeDelta& start,
36 const base::TimeDelta& end,
37 const std::string& id,
38 const std::string& content,
39 const std::string& settings) {
40 task_runner_->PostTask(
41 FROM_HERE,
42 base::Bind(&TextTrackImpl::OnAddCue,
43 text_track_.get(),
44 start, end,
45 id, content, settings));
46 }
47
48 void TextTrackImpl::OnAddCue(WebInbandTextTrackImpl* text_track,
49 const base::TimeDelta& start,
50 const base::TimeDelta& end,
51 const std::string& id,
52 const std::string& content,
53 const std::string& settings) {
54 if (blink::WebInbandTextTrackClient* client = text_track->client()) {
55 client->addWebVTTCue(start.InSecondsF(),
56 end.InSecondsF(),
57 blink::WebString::fromUTF8(id),
58 blink::WebString::fromUTF8(content),
59 blink::WebString::fromUTF8(settings));
60 }
61 }
62
63 void TextTrackImpl::OnRemoveTrack(
64 blink::WebMediaPlayerClient* client,
65 scoped_ptr<WebInbandTextTrackImpl> text_track) {
66 if (text_track->client())
67 client->removeTextTrack(text_track.get());
68 }
69
70 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/texttrack_impl.h ('k') | content/renderer/media/video_frame_compositor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698