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