summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/cocoa/media_picker
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-03 02:30:10 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-03 02:30:10 +0000
commit259d5d52d1af2c76b3326c69d05b2f3c152d6adf (patch)
treeaf1dafdd5e600bec6e70a1c6c728cda6bcb06124 /chrome/browser/ui/cocoa/media_picker
parentb7db04c3f2bca3572dfee8d59cfa35e5a80f1976 (diff)
downloadchromium_src-259d5d52d1af2c76b3326c69d05b2f3c152d6adf.zip
chromium_src-259d5d52d1af2c76b3326c69d05b2f3c152d6adf.tar.gz
chromium_src-259d5d52d1af2c76b3326c69d05b2f3c152d6adf.tar.bz2
Rename DesktopMediaPickerModel[Impl]->[Native]DesktopMediaList
NativeDesktopMediaList provides list of native screens and windows. Another implementation of DesktopMediaList interface will be used for Ash screens and windows. BUG=295102 R=sky@chromium.org Review URL: https://codereview.chromium.org/89683003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238274 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/cocoa/media_picker')
-rw-r--r--chrome/browser/ui/cocoa/media_picker/desktop_media_picker_bridge.h10
-rw-r--r--chrome/browser/ui/cocoa/media_picker/desktop_media_picker_cocoa.h2
-rw-r--r--chrome/browser/ui/cocoa/media_picker/desktop_media_picker_cocoa.mm8
-rw-r--r--chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller.h12
-rw-r--r--chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller.mm22
-rw-r--r--chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller_unittest.mm95
-rw-r--r--chrome/browser/ui/cocoa/media_picker/desktop_media_picker_item.h4
-rw-r--r--chrome/browser/ui/cocoa/media_picker/desktop_media_picker_item.mm2
8 files changed, 79 insertions, 76 deletions
diff --git a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_bridge.h b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_bridge.h
index 0b3e45c..35d1387 100644
--- a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_bridge.h
+++ b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_bridge.h
@@ -6,9 +6,9 @@
#define CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_BRIDGE_H_
#include "base/basictypes.h"
-#include "chrome/browser/media/desktop_media_picker_model.h"
+#include "chrome/browser/media/desktop_media_list_observer.h"
-// Protocol corresponding to |DesktopMediaPickerModel::Observer|.
+// Protocol corresponding to |DesktopMediaListObserver|.
@protocol DesktopMediaPickerObserver
- (void)sourceAddedAtIndex:(int)index;
- (void)sourceRemovedAtIndex:(int)index;
@@ -16,15 +16,15 @@
- (void)sourceThumbnailChangedAtIndex:(int)index;
@end
-// Provides a |DesktopMediaPickerModel::Observer| implementation that forwards
+// Provides a |DesktopMediaListObserver| implementation that forwards
// notifications to a objective-c object implementing the
// |DesktopMediaPickerObserver| protocol.
-class DesktopMediaPickerBridge : public DesktopMediaPickerModel::Observer {
+class DesktopMediaPickerBridge : public DesktopMediaListObserver {
public:
DesktopMediaPickerBridge(id<DesktopMediaPickerObserver> observer);
virtual ~DesktopMediaPickerBridge();
- // DesktopMediaPickerModel::Observer overrides
+ // DesktopMediaListObserver overrides.
virtual void OnSourceAdded(int index) OVERRIDE;
virtual void OnSourceRemoved(int index) OVERRIDE;
virtual void OnSourceNameChanged(int index) OVERRIDE;
diff --git a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_cocoa.h b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_cocoa.h
index 7756c32..62afc09 100644
--- a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_cocoa.h
+++ b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_cocoa.h
@@ -20,7 +20,7 @@ class DesktopMediaPickerCocoa : public DesktopMediaPicker {
virtual void Show(gfx::NativeWindow context,
gfx::NativeWindow parent,
const string16& app_name,
- scoped_ptr<DesktopMediaPickerModel> model,
+ scoped_ptr<DesktopMediaList> media_list,
const DoneCallback& done_callback) OVERRIDE;
private:
diff --git a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_cocoa.mm b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_cocoa.mm
index 9e20e72..1b31516 100644
--- a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_cocoa.mm
+++ b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_cocoa.mm
@@ -15,12 +15,12 @@ DesktopMediaPickerCocoa::~DesktopMediaPickerCocoa() {
void DesktopMediaPickerCocoa::Show(gfx::NativeWindow context,
gfx::NativeWindow parent,
const string16& app_name,
- scoped_ptr<DesktopMediaPickerModel> model,
+ scoped_ptr<DesktopMediaList> media_list,
const DoneCallback& done_callback) {
controller_.reset(
- [[DesktopMediaPickerController alloc] initWithModel:model.Pass()
- callback:done_callback
- appName:app_name]);
+ [[DesktopMediaPickerController alloc] initWithMediaList:media_list.Pass()
+ callback:done_callback
+ appName:app_name]);
[controller_ showWindow:nil];
}
diff --git a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller.h b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller.h
index 8abbae0..4ad9883c 100644
--- a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller.h
+++ b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller.h
@@ -12,8 +12,8 @@
#import "base/mac/scoped_nsobject.h"
#include "base/memory/scoped_ptr.h"
#include "base/strings/string16.h"
+#include "chrome/browser/media/desktop_media_list.h"
#include "chrome/browser/media/desktop_media_picker.h"
-#include "chrome/browser/media/desktop_media_picker_model.h"
#import "chrome/browser/ui/cocoa/media_picker/desktop_media_picker_bridge.h"
// A controller for the Desktop Media Picker. Presents the user with a list of
@@ -33,7 +33,7 @@
// Provides source information (including thumbnails) to fill up |items_| and
// to render in |sourceBrowser_|.
- scoped_ptr<DesktopMediaPickerModel> model_;
+ scoped_ptr<DesktopMediaList> media_list_;
// To be called with the user selection.
DesktopMediaPicker::DoneCallback doneCallback_;
@@ -41,7 +41,7 @@
// Array of |DesktopMediaPickerItem| used as data for |sourceBrowser_|.
base::scoped_nsobject<NSMutableArray> items_;
- // C++ bridge to use as an observer to |model_|, that forwards obj-c
+ // C++ bridge to use as an observer to |media_list_|, that forwards obj-c
// notifications to this object.
scoped_ptr<DesktopMediaPickerBridge> bridge_;
@@ -53,9 +53,9 @@
// To show the dialog, use |NSWindowController|'s |showWindow:|.
// |callback| will be called to report the user's selection.
// |appName| will be used to format the dialog's title and the label.
-- (id)initWithModel:(scoped_ptr<DesktopMediaPickerModel>)model
- callback:(const DesktopMediaPicker::DoneCallback&)callback
- appName:(const string16&)appName;
+- (id)initWithMediaList:(scoped_ptr<DesktopMediaList>)media_list
+ callback:(const DesktopMediaPicker::DoneCallback&)callback
+ appName:(const string16&)appName;
@end
diff --git a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller.mm b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller.mm
index 106c4e4..31342a6 100644
--- a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller.mm
+++ b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller.mm
@@ -54,9 +54,9 @@ const int kExcessButtonPadding = 6;
@implementation DesktopMediaPickerController
-- (id)initWithModel:(scoped_ptr<DesktopMediaPickerModel>)model
- callback:(const DesktopMediaPicker::DoneCallback&)callback
- appName:(const string16&)appName {
+- (id)initWithMediaList:(scoped_ptr<DesktopMediaList>)media_list
+ callback:(const DesktopMediaPicker::DoneCallback&)callback
+ appName:(const string16&)appName {
const NSUInteger kStyleMask =
NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask;
base::scoped_nsobject<NSWindow> window(
@@ -68,8 +68,8 @@ const int kExcessButtonPadding = 6;
if ((self = [super initWithWindow:window])) {
[window setDelegate:self];
[self initializeContentsWithAppName:appName];
- model_ = model.Pass();
- model_->SetViewDialogWindowId([window windowNumber]);
+ media_list_ = media_list.Pass();
+ media_list_->SetViewDialogWindowId([window windowNumber]);
doneCallback_ = callback;
items_.reset([[NSMutableArray alloc] init]);
bridge_.reset(new DesktopMediaPickerBridge(self));
@@ -159,10 +159,10 @@ const int kExcessButtonPadding = 6;
}
- (void)showWindow:(id)sender {
- // Signal the model to start sending thumbnails. |bridge_| is used as the
+ // Signal the media_list to start sending thumbnails. |bridge_| is used as the
// observer, and will forward notifications to this object.
- model_->SetThumbnailSize(gfx::Size(kThumbnailWidth, kThumbnailHeight));
- model_->StartUpdating(bridge_.get());
+ media_list_->SetThumbnailSize(gfx::Size(kThumbnailWidth, kThumbnailHeight));
+ media_list_->StartUpdating(bridge_.get());
[self.window center];
[super showWindow:sender];
@@ -257,7 +257,7 @@ const int kExcessButtonPadding = 6;
#pragma mark DesktopMediaPickerObserver
- (void)sourceAddedAtIndex:(int)index {
- const DesktopMediaPickerModel::Source& source = model_->source(index);
+ const DesktopMediaList::Source& source = media_list_->GetSource(index);
NSString* imageTitle = base::SysUTF16ToNSString(source.name);
base::scoped_nsobject<DesktopMediaPickerItem> item(
[[DesktopMediaPickerItem alloc] initWithSourceId:source.id
@@ -279,13 +279,13 @@ const int kExcessButtonPadding = 6;
- (void)sourceNameChangedAtIndex:(int)index {
DesktopMediaPickerItem* item = [items_ objectAtIndex:index];
- const DesktopMediaPickerModel::Source& source = model_->source(index);
+ const DesktopMediaList::Source& source = media_list_->GetSource(index);
[item setImageTitle:base::SysUTF16ToNSString(source.name)];
[sourceBrowser_ reloadData];
}
- (void)sourceThumbnailChangedAtIndex:(int)index {
- const DesktopMediaPickerModel::Source& source = model_->source(index);
+ const DesktopMediaList::Source& source = media_list_->GetSource(index);
NSImage* image = gfx::NSImageFromImageSkia(source.thumbnail);
DesktopMediaPickerItem* item = [items_ objectAtIndex:index];
diff --git a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller_unittest.mm b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller_unittest.mm
index 7c518b9..3901f95 100644
--- a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller_unittest.mm
+++ b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_controller_unittest.mm
@@ -7,6 +7,7 @@
#include "base/bind.h"
#include "base/strings/utf_string_conversions.h"
#include "base/run_loop.h"
+#include "chrome/browser/media/desktop_media_list_observer.h"
#import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
#include "content/public/test/test_browser_thread_bundle.h"
#include "testing/gtest_mac.h"
@@ -35,15 +36,16 @@
}
@end
-class FakeDesktopMediaPickerModel : public DesktopMediaPickerModel {
+class FakeDesktopMediaList : public DesktopMediaList {
public:
- FakeDesktopMediaPickerModel() : observer_(NULL) {
+ FakeDesktopMediaList() : observer_(NULL) {
}
void AddSource(int id) {
- Source source(
- content::DesktopMediaID(content::DesktopMediaID::TYPE_WINDOW, id),
- base::Int64ToString16(id));
+ Source source;
+ source.id =
+ content::DesktopMediaID(content::DesktopMediaID::TYPE_WINDOW, id);
+ source.name = base::Int64ToString16(id);
sources_.push_back(source);
observer_->OnSourceAdded(sources_.size() - 1);
@@ -64,7 +66,7 @@ class FakeDesktopMediaPickerModel : public DesktopMediaPickerModel {
observer_->OnSourceNameChanged(index);
}
- // DesktopMediaPickerModel implementation:
+ // DesktopMediaList implementation:
virtual void SetUpdatePeriod(base::TimeDelta period) OVERRIDE {
}
@@ -75,7 +77,7 @@ class FakeDesktopMediaPickerModel : public DesktopMediaPickerModel {
content::DesktopMediaID::Id dialog_id) OVERRIDE {
}
- virtual void StartUpdating(Observer* observer) OVERRIDE {
+ virtual void StartUpdating(DesktopMediaListObserver* observer) OVERRIDE {
observer_ = observer;
SkBitmap bitmap;
@@ -85,29 +87,30 @@ class FakeDesktopMediaPickerModel : public DesktopMediaPickerModel {
thumbnail_ = gfx::ImageSkia::CreateFrom1xBitmap(bitmap);
}
- virtual int source_count() const OVERRIDE {
+ virtual int GetSourceCount() const OVERRIDE {
return sources_.size();
}
- virtual const Source& source(int index) const OVERRIDE {
+ virtual const Source& GetSource(int index) const OVERRIDE {
return sources_[index];
}
private:
std::vector<Source> sources_;
- Observer* observer_;
+ DesktopMediaListObserver* observer_;
gfx::ImageSkia thumbnail_;
};
class DesktopMediaPickerControllerTest : public CocoaTest {
public:
- DesktopMediaPickerControllerTest() : callback_called_(false), model_(NULL) {
+ DesktopMediaPickerControllerTest()
+ : callback_called_(false), media_list_(NULL) {
}
virtual void SetUp() OVERRIDE {
CocoaTest::SetUp();
- model_ = new FakeDesktopMediaPickerModel();
+ media_list_ = new FakeDesktopMediaList();
DesktopMediaPicker::DoneCallback callback =
base::Bind(&DesktopMediaPickerControllerTest::OnResult,
@@ -115,9 +118,9 @@ class DesktopMediaPickerControllerTest : public CocoaTest {
controller_.reset(
[[DesktopMediaPickerController alloc]
- initWithModel:scoped_ptr<DesktopMediaPickerModel>(model_)
- callback:callback
- appName:ASCIIToUTF16("Screenshare Test")]);
+ initWithMediaList:scoped_ptr<DesktopMediaList>(media_list_)
+ callback:callback
+ appName:ASCIIToUTF16("Screenshare Test")]);
}
virtual void TearDown() OVERRIDE {
@@ -142,16 +145,16 @@ class DesktopMediaPickerControllerTest : public CocoaTest {
content::TestBrowserThreadBundle thread_bundle_;
bool callback_called_;
content::DesktopMediaID source_reported_;
- FakeDesktopMediaPickerModel* model_;
+ FakeDesktopMediaList* media_list_;
base::scoped_nsobject<DesktopMediaPickerController> controller_;
};
TEST_F(DesktopMediaPickerControllerTest, ShowAndDismiss) {
[controller_ showWindow:nil];
- model_->AddSource(0);
- model_->AddSource(1);
- model_->SetSourceThumbnail(1);
+ media_list_->AddSource(0);
+ media_list_->AddSource(1);
+ media_list_->SetSourceThumbnail(1);
NSArray* items = [controller_ items];
EXPECT_EQ(2U, [items count]);
@@ -164,10 +167,10 @@ TEST_F(DesktopMediaPickerControllerTest, ShowAndDismiss) {
TEST_F(DesktopMediaPickerControllerTest, ClickOK) {
[controller_ showWindow:nil];
- model_->AddSource(0);
- model_->SetSourceThumbnail(0);
- model_->AddSource(1);
- model_->SetSourceThumbnail(1);
+ media_list_->AddSource(0);
+ media_list_->SetSourceThumbnail(0);
+ media_list_->AddSource(1);
+ media_list_->SetSourceThumbnail(1);
EXPECT_EQ(2U, [[controller_ items] count]);
EXPECT_FALSE([[controller_ okButton] isEnabled]);
@@ -179,16 +182,16 @@ TEST_F(DesktopMediaPickerControllerTest, ClickOK) {
[[controller_ okButton] performClick:nil];
EXPECT_TRUE(WaitForCallback());
- EXPECT_EQ(model_->source(1).id, source_reported_);
+ EXPECT_EQ(media_list_->GetSource(1).id, source_reported_);
}
TEST_F(DesktopMediaPickerControllerTest, ClickCancel) {
[controller_ showWindow:nil];
- model_->AddSource(0);
- model_->SetSourceThumbnail(0);
- model_->AddSource(1);
- model_->SetSourceThumbnail(1);
+ media_list_->AddSource(0);
+ media_list_->SetSourceThumbnail(0);
+ media_list_->AddSource(1);
+ media_list_->SetSourceThumbnail(1);
[[controller_ cancelButton] performClick:nil];
EXPECT_TRUE(WaitForCallback());
@@ -198,10 +201,10 @@ TEST_F(DesktopMediaPickerControllerTest, ClickCancel) {
TEST_F(DesktopMediaPickerControllerTest, CloseWindow) {
[controller_ showWindow:nil];
- model_->AddSource(0);
- model_->SetSourceThumbnail(0);
- model_->AddSource(1);
- model_->SetSourceThumbnail(1);
+ media_list_->AddSource(0);
+ media_list_->SetSourceThumbnail(0);
+ media_list_->AddSource(1);
+ media_list_->SetSourceThumbnail(1);
[controller_ close];
EXPECT_TRUE(WaitForCallback());
@@ -211,42 +214,42 @@ TEST_F(DesktopMediaPickerControllerTest, CloseWindow) {
TEST_F(DesktopMediaPickerControllerTest, UpdateThumbnail) {
[controller_ showWindow:nil];
- model_->AddSource(0);
- model_->SetSourceThumbnail(0);
- model_->AddSource(1);
- model_->SetSourceThumbnail(1);
+ media_list_->AddSource(0);
+ media_list_->SetSourceThumbnail(0);
+ media_list_->AddSource(1);
+ media_list_->SetSourceThumbnail(1);
NSArray* items = [controller_ items];
EXPECT_EQ(2U, [items count]);
NSUInteger version = [[items objectAtIndex:0] imageVersion];
- model_->SetSourceThumbnail(0);
+ media_list_->SetSourceThumbnail(0);
EXPECT_NE(version, [[items objectAtIndex:0] imageVersion]);
}
TEST_F(DesktopMediaPickerControllerTest, UpdateName) {
[controller_ showWindow:nil];
- model_->AddSource(0);
- model_->SetSourceThumbnail(0);
- model_->AddSource(1);
- model_->SetSourceThumbnail(1);
+ media_list_->AddSource(0);
+ media_list_->SetSourceThumbnail(0);
+ media_list_->AddSource(1);
+ media_list_->SetSourceThumbnail(1);
NSArray* items = [controller_ items];
EXPECT_EQ(2U, [items count]);
NSUInteger version = [[items objectAtIndex:0] imageVersion];
- model_->SetSourceThumbnail(0);
+ media_list_->SetSourceThumbnail(0);
EXPECT_NE(version, [[items objectAtIndex:0] imageVersion]);
}
TEST_F(DesktopMediaPickerControllerTest, RemoveSource) {
[controller_ showWindow:nil];
- model_->AddSource(0);
- model_->AddSource(1);
- model_->AddSource(2);
- model_->SetSourceName(1, ASCIIToUTF16("foo"));
+ media_list_->AddSource(0);
+ media_list_->AddSource(1);
+ media_list_->AddSource(2);
+ media_list_->SetSourceName(1, ASCIIToUTF16("foo"));
NSArray* items = [controller_ items];
EXPECT_EQ(3U, [items count]);
diff --git a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_item.h b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_item.h
index 3c66a1e..55191ef 100644
--- a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_item.h
+++ b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_item.h
@@ -8,7 +8,7 @@
#import <AppKit/AppKit.h>
#import "base/mac/scoped_nsobject.h"
-#include "chrome/browser/media/desktop_media_picker_model.h"
+#include "chrome/browser/media/desktop_media_list.h"
// Stores the data representing a |DesktopMediaPicker| source for displaying in
// a |IKImageBrowserView|. Implements the |IKImageBrowserItem| informal
@@ -23,7 +23,7 @@
}
// Designated initializer.
-// |sourceID| is the corresponding source's ID as provided by the model.
+// |sourceID| is the corresponding source's ID as provided by the media list.
// |imageUID| is a unique number in the context of the |IKImageBrowserView|
// instance.
// |imageTitle| is the source's name to be used as the label in
diff --git a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_item.mm b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_item.mm
index f8a428b..45b9145 100644
--- a/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_item.mm
+++ b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_item.mm
@@ -6,7 +6,7 @@
#import <Quartz/Quartz.h>
-#include "chrome/browser/media/desktop_media_picker_model.h"
+#include "chrome/browser/media/desktop_media_list.h"
@implementation DesktopMediaPickerItem