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

Unified Diff: chrome/browser/media/desktop_media_picker_model.cc

Issue 23447012: Add interface for DesktopMediaPickerModel (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed nit. Created 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/desktop_media_picker_model.cc
diff --git a/chrome/browser/media/desktop_media_picker_model.cc b/chrome/browser/media/desktop_media_picker_model.cc
index 741fb1cc511c86a8853fdb8e8482d2a07187ddf6..b77ddd7e0272e38b8bc928c53232db7da17c320f 100644
--- a/chrome/browser/media/desktop_media_picker_model.cc
+++ b/chrome/browser/media/desktop_media_picker_model.cc
@@ -80,17 +80,17 @@ DesktopMediaPickerModel::Source::Source(DesktopMediaID id, const string16& name)
name(name) {
}
-DesktopMediaPickerModel::SourceDescription::SourceDescription(
+DesktopMediaPickerModelImpl::SourceDescription::SourceDescription(
DesktopMediaID id,
const string16& name)
: id(id),
name(name) {
}
-class DesktopMediaPickerModel::Worker
+class DesktopMediaPickerModelImpl::Worker
: public webrtc::DesktopCapturer::Callback {
public:
- Worker(base::WeakPtr<DesktopMediaPickerModel> model,
+ Worker(base::WeakPtr<DesktopMediaPickerModelImpl> model,
scoped_ptr<webrtc::ScreenCapturer> screen_capturer,
scoped_ptr<webrtc::WindowCapturer> window_capturer);
virtual ~Worker();
@@ -104,7 +104,7 @@ class DesktopMediaPickerModel::Worker
virtual webrtc::SharedMemory* CreateSharedMemory(size_t size) OVERRIDE;
virtual void OnCaptureCompleted(webrtc::DesktopFrame* frame) OVERRIDE;
- base::WeakPtr<DesktopMediaPickerModel> model_;
+ base::WeakPtr<DesktopMediaPickerModelImpl> model_;
scoped_ptr<webrtc::ScreenCapturer> screen_capturer_;
scoped_ptr<webrtc::WindowCapturer> window_capturer_;
@@ -116,8 +116,8 @@ class DesktopMediaPickerModel::Worker
DISALLOW_COPY_AND_ASSIGN(Worker);
};
-DesktopMediaPickerModel::Worker::Worker(
- base::WeakPtr<DesktopMediaPickerModel> model,
+DesktopMediaPickerModelImpl::Worker::Worker(
+ base::WeakPtr<DesktopMediaPickerModelImpl> model,
scoped_ptr<webrtc::ScreenCapturer> screen_capturer,
scoped_ptr<webrtc::WindowCapturer> window_capturer)
: model_(model),
@@ -129,9 +129,10 @@ DesktopMediaPickerModel::Worker::Worker(
window_capturer_->Start(this);
}
-DesktopMediaPickerModel::Worker::~Worker() {}
+DesktopMediaPickerModelImpl::Worker::~Worker() {}
-void DesktopMediaPickerModel::Worker::Refresh(const gfx::Size& thumbnail_size) {
+void DesktopMediaPickerModelImpl::Worker::Refresh(
+ const gfx::Size& thumbnail_size) {
std::vector<SourceDescription> sources;
if (screen_capturer_) {
@@ -159,7 +160,7 @@ void DesktopMediaPickerModel::Worker::Refresh(const gfx::Size& thumbnail_size) {
// Update list of windows before updating thumbnails.
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
- base::Bind(&DesktopMediaPickerModel::OnSourcesList, model_, sources));
+ base::Bind(&DesktopMediaPickerModelImpl::OnSourcesList, model_, sources));
ImageHashesMap new_image_hashes;
@@ -196,7 +197,7 @@ void DesktopMediaPickerModel::Worker::Refresh(const gfx::Size& thumbnail_size) {
ScaleDesktopFrame(current_frame_.Pass(), thumbnail_size);
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
- base::Bind(&DesktopMediaPickerModel::OnSourceThumbnail, model_,
+ base::Bind(&DesktopMediaPickerModelImpl::OnSourceThumbnail, model_,
i, thumbnail));
}
}
@@ -206,20 +207,20 @@ void DesktopMediaPickerModel::Worker::Refresh(const gfx::Size& thumbnail_size) {
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
- base::Bind(&DesktopMediaPickerModel::OnRefreshFinished, model_));
+ base::Bind(&DesktopMediaPickerModelImpl::OnRefreshFinished, model_));
}
-webrtc::SharedMemory* DesktopMediaPickerModel::Worker::CreateSharedMemory(
+webrtc::SharedMemory* DesktopMediaPickerModelImpl::Worker::CreateSharedMemory(
size_t size) {
return NULL;
}
-void DesktopMediaPickerModel::Worker::OnCaptureCompleted(
+void DesktopMediaPickerModelImpl::Worker::OnCaptureCompleted(
webrtc::DesktopFrame* frame) {
current_frame_.reset(frame);
}
-DesktopMediaPickerModel::DesktopMediaPickerModel(
+DesktopMediaPickerModelImpl::DesktopMediaPickerModelImpl(
scoped_ptr<webrtc::ScreenCapturer> screen_capturer,
scoped_ptr<webrtc::WindowCapturer> window_capturer)
: screen_capturer_(screen_capturer.Pass()),
@@ -233,21 +234,21 @@ DesktopMediaPickerModel::DesktopMediaPickerModel(
worker_pool->GetSequenceToken());
}
-DesktopMediaPickerModel::~DesktopMediaPickerModel() {
+DesktopMediaPickerModelImpl::~DesktopMediaPickerModelImpl() {
capture_task_runner_->DeleteSoon(FROM_HERE, worker_.release());
}
-void DesktopMediaPickerModel::SetUpdatePeriod(base::TimeDelta period) {
+void DesktopMediaPickerModelImpl::SetUpdatePeriod(base::TimeDelta period) {
DCHECK(!observer_);
update_period_ = period;
}
-void DesktopMediaPickerModel::SetThumbnailSize(
+void DesktopMediaPickerModelImpl::SetThumbnailSize(
const gfx::Size& thumbnail_size) {
thumbnail_size_ = thumbnail_size;
}
-void DesktopMediaPickerModel::StartUpdating(Observer* observer) {
+void DesktopMediaPickerModelImpl::StartUpdating(Observer* observer) {
DCHECK(!observer_);
DCHECK(screen_capturer_ || window_capturer_);
@@ -258,19 +259,28 @@ void DesktopMediaPickerModel::StartUpdating(Observer* observer) {
Refresh();
}
+int DesktopMediaPickerModelImpl::source_count() const {
+ return sources_.size();
+}
+
+const DesktopMediaPickerModel::Source& DesktopMediaPickerModelImpl::source(
+ int index) const {
+ return sources_[index];
+}
+
// static
-bool DesktopMediaPickerModel::CompareSources(const SourceDescription& a,
+bool DesktopMediaPickerModelImpl::CompareSources(const SourceDescription& a,
const SourceDescription& b) {
return a.id < b.id;
}
-void DesktopMediaPickerModel::Refresh() {
+void DesktopMediaPickerModelImpl::Refresh() {
capture_task_runner_->PostTask(
FROM_HERE, base::Bind(&Worker::Refresh, base::Unretained(worker_.get()),
thumbnail_size_));
}
-void DesktopMediaPickerModel::OnSourcesList(
+void DesktopMediaPickerModelImpl::OnSourcesList(
const std::vector<SourceDescription>& new_sources) {
// Step through |new_sources| adding and removing entries from |sources_|, and
// notifying the |observer_|, until two match. Requires that |sources| and
@@ -300,16 +310,17 @@ void DesktopMediaPickerModel::OnSourcesList(
DCHECK_EQ(new_sources.size(), sources_.size());
}
-void DesktopMediaPickerModel::OnSourceThumbnail(int index,
+void DesktopMediaPickerModelImpl::OnSourceThumbnail(int index,
const gfx::ImageSkia& image) {
DCHECK_LT(index, static_cast<int>(sources_.size()));
sources_[index].thumbnail = image;
observer_->OnSourceThumbnailChanged(index);
}
-void DesktopMediaPickerModel::OnRefreshFinished() {
+void DesktopMediaPickerModelImpl::OnRefreshFinished() {
BrowserThread::PostDelayedTask(
BrowserThread::UI, FROM_HERE,
- base::Bind(&DesktopMediaPickerModel::Refresh, weak_factory_.GetWeakPtr()),
+ base::Bind(&DesktopMediaPickerModelImpl::Refresh,
+ weak_factory_.GetWeakPtr()),
update_period_);
}

Powered by Google App Engine
This is Rietveld 408576698