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

Unified Diff: chrome/browser/ui/cocoa/media_picker/desktop_media_picker_bridge.h

Issue 23944003: Implement Desktop Media Picker (Mac version) for Desktop Capture API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Clearing delegate/dataSource on dealloc. Fixes 10.6 tests. 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/ui/cocoa/media_picker/desktop_media_picker_bridge.h
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
new file mode 100644
index 0000000000000000000000000000000000000000..716f2f663fd646aced5052f20fad5862563fb375
--- /dev/null
+++ b/chrome/browser/ui/cocoa/media_picker/desktop_media_picker_bridge.h
@@ -0,0 +1,39 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_BRIDGE_H_
+#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"
+
+// Protocol corresponding to |DesktopMediaPickerModel::Observer|.
+@protocol DesktopMediaPickerObserver
+- (void)sourceAddedAtIndex:(int)index;
+- (void)sourceRemovedAtIndex:(int)index;
+- (void)sourceNameChangedAtIndex:(int)index;
+- (void)sourceThumbnailChangedAtIndex:(int)index;
+@end
+
+// Provides a |DesktopMediaPickerModel::Observer| implementation that forwards
+// notifications to a objective-c object implementing the
+// |DesktopMediaPickerObserver| protocol.
+class DesktopMediaPickerBridge : public DesktopMediaPickerModel::Observer {
+ public:
+ DesktopMediaPickerBridge(id<DesktopMediaPickerObserver> observer);
+ virtual ~DesktopMediaPickerBridge();
+
+ // DesktopMediaPickerModel::Observer overrides
+ virtual void OnSourceAdded(int index) OVERRIDE;
+ virtual void OnSourceRemoved(int index) OVERRIDE;
+ virtual void OnSourceNameChanged(int index) OVERRIDE;
+ virtual void OnSourceThumbnailChanged(int index) OVERRIDE;
+
+ private:
+ id<DesktopMediaPickerObserver> observer_; // weak; owns this
+
+ DISALLOW_COPY_AND_ASSIGN(DesktopMediaPickerBridge);
+};
+
+#endif // CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_BRIDGE_H_

Powered by Google App Engine
This is Rietveld 408576698