summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthakis <thakis@chromium.org>2015-10-12 11:50:52 -0700
committerCommit bot <commit-bot@chromium.org>2015-10-12 18:51:48 +0000
commita87fa33951887b83b197cf6f25cc7da5d8cb9c7a (patch)
tree3adc3199080325f49695a6a23e554ccd19cac5c8
parent9b4a9b9cbdbda996aaf9bf8c95fca674e1ccdbb8 (diff)
downloadchromium_src-a87fa33951887b83b197cf6f25cc7da5d8cb9c7a.zip
chromium_src-a87fa33951887b83b197cf6f25cc7da5d8cb9c7a.tar.gz
chromium_src-a87fa33951887b83b197cf6f25cc7da5d8cb9c7a.tar.bz2
mac: Make component_unittests build with the 10.11 SDK.
* Pass non-nil arguments in a few places. These are all delegate methods implemented by chrome code that doesn't look at the parameters, so just pass a nearby object of the same type. (Most of the time this looks like the right object to pass, too!) * For the deviceBrowser: parameter, no good object was available, so add a method to ImageCaptureDeviceManager to hand out a good object to pass. * Rename device_browser() to device_browser_delegate() to be less confusing wrt the new object. * Finally, mark initWithDictionary: as NS_DESIGNATED_INITIALIZER so the compiler doesn't complain about [MockICCameraDevice init] not calling a designated initializer. Since this is an internal API, we're playing with fire anyways. (This requires moving the declaration from a category to a class extension.) No intended behavior change. BUG=517914 Review URL: https://codereview.chromium.org/1396773006 Cr-Commit-Position: refs/heads/master@{#353567}
-rw-r--r--chrome/browser/media_galleries/mac/mtp_device_delegate_impl_mac_unittest.mm4
-rw-r--r--components/storage_monitor/image_capture_device_manager.h8
-rw-r--r--components/storage_monitor/image_capture_device_manager.mm13
-rw-r--r--components/storage_monitor/image_capture_device_manager_unittest.mm26
4 files changed, 36 insertions, 15 deletions
diff --git a/chrome/browser/media_galleries/mac/mtp_device_delegate_impl_mac_unittest.mm b/chrome/browser/media_galleries/mac/mtp_device_delegate_impl_mac_unittest.mm
index d5ef338..ff9f535 100644
--- a/chrome/browser/media_galleries/mac/mtp_device_delegate_impl_mac_unittest.mm
+++ b/chrome/browser/media_galleries/mac/mtp_device_delegate_impl_mac_unittest.mm
@@ -167,14 +167,14 @@ class MTPDeviceDelegateImplMacTest : public testing::Test {
manager_.SetNotifications(monitor->receiver());
camera_ = [MockMTPICCameraDevice alloc];
- id<ICDeviceBrowserDelegate> delegate = manager_.device_browser();
+ id<ICDeviceBrowserDelegate> delegate = manager_.device_browser_delegate();
[delegate deviceBrowser:nil didAddDevice:camera_ moreComing:NO];
delegate_ = new MTPDeviceDelegateImplMac(kDeviceId, kDevicePath);
}
void TearDown() override {
- id<ICDeviceBrowserDelegate> delegate = manager_.device_browser();
+ id<ICDeviceBrowserDelegate> delegate = manager_.device_browser_delegate();
[delegate deviceBrowser:nil didRemoveDevice:camera_ moreGoing:NO];
delegate_->CancelPendingTasksAndDeleteDelegate();
diff --git a/components/storage_monitor/image_capture_device_manager.h b/components/storage_monitor/image_capture_device_manager.h
index 2a4578f..056d56f 100644
--- a/components/storage_monitor/image_capture_device_manager.h
+++ b/components/storage_monitor/image_capture_device_manager.h
@@ -12,6 +12,7 @@
#include "components/storage_monitor/storage_monitor.h"
@protocol ICDeviceBrowserDelegate;
+@class ICDeviceBrowser;
@class ImageCaptureDevice;
@class ImageCaptureDeviceManagerImpl;
@@ -32,7 +33,7 @@ class ImageCaptureDeviceManager {
static ImageCaptureDevice* deviceForUUID(const std::string& uuid);
// Returns a weak pointer to the internal ImageCapture interface protocol.
- id<ICDeviceBrowserDelegate> device_browser();
+ id<ICDeviceBrowserDelegate> device_browser_delegate();
// Sets the receiver for device attach/detach notifications.
// TODO(gbillock): Move this to be a constructor argument.
@@ -43,8 +44,13 @@ class ImageCaptureDeviceManager {
void EjectDevice(const std::string& uuid,
base::Callback<void(StorageMonitor::EjectStatus)> callback);
+
private:
base::scoped_nsobject<ImageCaptureDeviceManagerImpl> device_browser_;
+
+ // Returns a weak pointer to the internal device browser.
+ ICDeviceBrowser* device_browser_for_test();
+ friend class ImageCaptureDeviceManagerTest;
};
} // namespace storage_monitor
diff --git a/components/storage_monitor/image_capture_device_manager.mm b/components/storage_monitor/image_capture_device_manager.mm
index 7ad7dbc..e9660de 100644
--- a/components/storage_monitor/image_capture_device_manager.mm
+++ b/components/storage_monitor/image_capture_device_manager.mm
@@ -42,6 +42,8 @@ storage_monitor::ImageCaptureDeviceManager* g_image_capture_device_manager =
// They're gotten by cracking the device ID and taking the unique ID output.
- (ImageCaptureDevice*)deviceForUUID:(const std::string&)uuid;
+- (ICDeviceBrowser*)deviceBrowserForTest;
+
@end
@implementation ImageCaptureDeviceManagerImpl
@@ -128,6 +130,10 @@ storage_monitor::ImageCaptureDeviceManager* g_image_capture_device_manager =
storage_monitor::StorageInfo::MAC_IMAGE_CAPTURE, uuid));
}
+- (ICDeviceBrowser*)deviceBrowserForTest {
+ return deviceBrowser_.get();
+}
+
@end // ImageCaptureDeviceManagerImpl
namespace storage_monitor {
@@ -165,8 +171,13 @@ ImageCaptureDevice* ImageCaptureDeviceManager::deviceForUUID(
return [manager deviceForUUID:uuid];
}
-id<ICDeviceBrowserDelegate> ImageCaptureDeviceManager::device_browser() {
+id<ICDeviceBrowserDelegate>
+ImageCaptureDeviceManager::device_browser_delegate() {
return device_browser_.get();
}
+ICDeviceBrowser* ImageCaptureDeviceManager::device_browser_for_test() {
+ return [device_browser_ deviceBrowserForTest];
+}
+
} // namespace storage_monitor
diff --git a/components/storage_monitor/image_capture_device_manager_unittest.mm b/components/storage_monitor/image_capture_device_manager_unittest.mm
index 7a0c588..22a07de 100644
--- a/components/storage_monitor/image_capture_device_manager_unittest.mm
+++ b/components/storage_monitor/image_capture_device_manager_unittest.mm
@@ -27,8 +27,8 @@ const char kTestFileContents[] = "test";
} // namespace
// Private ICCameraDevice method needed to properly initialize the object.
-@interface NSObject (PrivateAPIICCameraDevice)
-- (id)initWithDictionary:(id)properties;
+@interface NSObject ()
+- (instancetype)initWithDictionary:(id)properties NS_DESIGNATED_INITIALIZER;
@end
@interface MockICCameraDevice : ICCameraDevice {
@@ -248,15 +248,19 @@ class ImageCaptureDeviceManagerTest : public testing::Test {
// Ownership will be passed to the device browser delegate.
base::scoped_nsobject<MockICCameraDevice> device(
[[MockICCameraDevice alloc] init]);
- id<ICDeviceBrowserDelegate> delegate = manager->device_browser();
- [delegate deviceBrowser:nil didAddDevice:device moreComing:NO];
+ id<ICDeviceBrowserDelegate> delegate = manager->device_browser_delegate();
+ [delegate deviceBrowser:manager->device_browser_for_test()
+ didAddDevice:device
+ moreComing:NO];
return device.autorelease();
}
void DetachDevice(ImageCaptureDeviceManager* manager,
ICCameraDevice* device) {
- id<ICDeviceBrowserDelegate> delegate = manager->device_browser();
- [delegate deviceBrowser:nil didRemoveDevice:device moreGoing:NO];
+ id<ICDeviceBrowserDelegate> delegate = manager->device_browser_delegate();
+ [delegate deviceBrowser:manager->device_browser_for_test()
+ didRemoveDevice:device
+ moreGoing:NO];
}
protected:
@@ -295,16 +299,16 @@ TEST_F(ImageCaptureDeviceManagerTest, OpenCamera) {
base::scoped_nsobject<MockICCameraFile> picture1(
[[MockICCameraFile alloc] init:@"pic1"]);
- [camera cameraDevice:nil didAddItem:picture1];
+ [camera cameraDevice:device didAddItem:picture1];
base::scoped_nsobject<MockICCameraFile> picture2(
[[MockICCameraFile alloc] init:@"pic2"]);
- [camera cameraDevice:nil didAddItem:picture2];
+ [camera cameraDevice:device didAddItem:picture2];
ASSERT_EQ(2U, listener_.items().size());
EXPECT_EQ("pic1", listener_.items()[0]);
EXPECT_EQ("pic2", listener_.items()[1]);
EXPECT_FALSE(listener_.completed());
- [camera deviceDidBecomeReadyWithCompleteContentCatalog:nil];
+ [camera deviceDidBecomeReadyWithCompleteContentCatalog:device];
ASSERT_EQ(2U, listener_.items().size());
EXPECT_TRUE(listener_.completed());
@@ -345,7 +349,7 @@ TEST_F(ImageCaptureDeviceManagerTest, DownloadFile) {
base::scoped_nsobject<MockICCameraFile> picture1(
[[MockICCameraFile alloc] init:base::SysUTF8ToNSString(kTestFileName)]);
[device addMediaFile:picture1];
- [camera cameraDevice:nil didAddItem:picture1];
+ [camera cameraDevice:device didAddItem:picture1];
base::ScopedTempDir temp_dir;
ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
@@ -397,7 +401,7 @@ TEST_F(ImageCaptureDeviceManagerTest, TestSubdirectories) {
[[MockICCameraFile alloc] init:base::SysUTF8ToNSString(kTestFileName)]);
[picture1 setParent:base::SysUTF8ToNSString("dir")];
[device addMediaFile:picture1];
- [camera cameraDevice:nil didAddItem:picture1];
+ [camera cameraDevice:device didAddItem:picture1];
base::ScopedTempDir temp_dir;
ASSERT_TRUE(temp_dir.CreateUniqueTempDir());