Index: webkit/fileapi/file_system_operation_context.h |
diff --git a/webkit/fileapi/file_system_operation_context.h b/webkit/fileapi/file_system_operation_context.h |
index 067e0d8886b81dd64345fd19e3767233c92b8e7e..aaf2b4e5c812fb48f9745ffc2110709feedf1d87 100644 |
--- a/webkit/fileapi/file_system_operation_context.h |
+++ b/webkit/fileapi/file_system_operation_context.h |
@@ -6,6 +6,7 @@ |
#define WEBKIT_FILEAPI_FILE_SYSTEM_OPERATION_CONTEXT_H_ |
#include "base/memory/ref_counted.h" |
+#include "base/memory/weak_ptr.h" |
#include "webkit/fileapi/file_system_context.h" |
#include "webkit/fileapi/media/mtp_device_file_system_config.h" |
#include "webkit/fileapi/task_runner_bound_observer_list.h" |
@@ -39,11 +40,11 @@ class WEBKIT_STORAGE_EXPORT_PRIVATE FileSystemOperationContext { |
#if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) |
void set_mtp_device_delegate(MTPDeviceDelegate* delegate) { |
- mtp_device_delegate_ = delegate; |
+ mtp_device_delegate_ = delegate->GetAsWeakPtrOnIOThread(); |
} |
- MTPDeviceDelegate* mtp_device_delegate() const { |
- return mtp_device_delegate_.get(); |
+ base::WeakPtr<MTPDeviceDelegate> mtp_device_delegate() const { |
kinuko
2012/11/15 10:23:39
I'm afraid this weakptr is created on IO thread bu
kmadhusu
2012/11/15 17:52:24
Can you please provide more details on how this ca
|
+ return mtp_device_delegate_; |
} |
#endif |
@@ -92,7 +93,7 @@ class WEBKIT_STORAGE_EXPORT_PRIVATE FileSystemOperationContext { |
#if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) |
// Store the current mtp device delegate. |
- scoped_refptr<MTPDeviceDelegate> mtp_device_delegate_; |
+ base::WeakPtr<MTPDeviceDelegate> mtp_device_delegate_; |
#endif |
}; |