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_); |
} |