OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef WEBKIT_FILEAPI_FILE_SYSTEM_OPERATION_CONTEXT_H_ | 5 #ifndef WEBKIT_FILEAPI_FILE_SYSTEM_OPERATION_CONTEXT_H_ |
6 #define WEBKIT_FILEAPI_FILE_SYSTEM_OPERATION_CONTEXT_H_ | 6 #define WEBKIT_FILEAPI_FILE_SYSTEM_OPERATION_CONTEXT_H_ |
7 | 7 |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "base/memory/weak_ptr.h" | |
9 #include "webkit/fileapi/file_system_context.h" | 10 #include "webkit/fileapi/file_system_context.h" |
10 #include "webkit/fileapi/media/mtp_device_file_system_config.h" | 11 #include "webkit/fileapi/media/mtp_device_file_system_config.h" |
11 #include "webkit/fileapi/task_runner_bound_observer_list.h" | 12 #include "webkit/fileapi/task_runner_bound_observer_list.h" |
12 #include "webkit/storage/webkit_storage_export.h" | 13 #include "webkit/storage/webkit_storage_export.h" |
13 | 14 |
14 #if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) | 15 #if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) |
15 #include "webkit/fileapi/media/mtp_device_delegate.h" | 16 #include "webkit/fileapi/media/mtp_device_delegate.h" |
16 #endif | 17 #endif |
17 | 18 |
18 namespace base { | 19 namespace base { |
(...skipping 13 matching lines...) Expand all Loading... | |
32 return file_system_context_.get(); | 33 return file_system_context_.get(); |
33 } | 34 } |
34 | 35 |
35 void set_allowed_bytes_growth(const int64& allowed_bytes_growth) { | 36 void set_allowed_bytes_growth(const int64& allowed_bytes_growth) { |
36 allowed_bytes_growth_ = allowed_bytes_growth; | 37 allowed_bytes_growth_ = allowed_bytes_growth; |
37 } | 38 } |
38 int64 allowed_bytes_growth() const { return allowed_bytes_growth_; } | 39 int64 allowed_bytes_growth() const { return allowed_bytes_growth_; } |
39 | 40 |
40 #if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) | 41 #if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) |
41 void set_mtp_device_delegate(MTPDeviceDelegate* delegate) { | 42 void set_mtp_device_delegate(MTPDeviceDelegate* delegate) { |
42 mtp_device_delegate_ = delegate; | 43 mtp_device_delegate_ = delegate->GetAsWeakPtrOnIOThread(); |
43 } | 44 } |
44 | 45 |
45 MTPDeviceDelegate* mtp_device_delegate() const { | 46 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
| |
46 return mtp_device_delegate_.get(); | 47 return mtp_device_delegate_; |
47 } | 48 } |
48 #endif | 49 #endif |
49 | 50 |
50 // Returns TaskRunner which the operation is performed on. | 51 // Returns TaskRunner which the operation is performed on. |
51 base::SequencedTaskRunner* task_runner() const { | 52 base::SequencedTaskRunner* task_runner() const { |
52 return task_runner_.get(); | 53 return task_runner_.get(); |
53 } | 54 } |
54 | 55 |
55 // Overrides TaskRunner which the operation is performed on. | 56 // Overrides TaskRunner which the operation is performed on. |
56 // file_system_context_->task_runners()->file_task_runner() is used otherwise. | 57 // file_system_context_->task_runners()->file_task_runner() is used otherwise. |
(...skipping 28 matching lines...) Expand all Loading... | |
85 | 86 |
86 int64 allowed_bytes_growth_; | 87 int64 allowed_bytes_growth_; |
87 MediaPathFilter* media_path_filter_; | 88 MediaPathFilter* media_path_filter_; |
88 | 89 |
89 AccessObserverList access_observers_; | 90 AccessObserverList access_observers_; |
90 ChangeObserverList change_observers_; | 91 ChangeObserverList change_observers_; |
91 UpdateObserverList update_observers_; | 92 UpdateObserverList update_observers_; |
92 | 93 |
93 #if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) | 94 #if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) |
94 // Store the current mtp device delegate. | 95 // Store the current mtp device delegate. |
95 scoped_refptr<MTPDeviceDelegate> mtp_device_delegate_; | 96 base::WeakPtr<MTPDeviceDelegate> mtp_device_delegate_; |
96 #endif | 97 #endif |
97 }; | 98 }; |
98 | 99 |
99 } // namespace fileapi | 100 } // namespace fileapi |
100 | 101 |
101 #endif // WEBKIT_FILEAPI_FILE_SYSTEM_OPERATION_CONTEXT_H_ | 102 #endif // WEBKIT_FILEAPI_FILE_SYSTEM_OPERATION_CONTEXT_H_ |
OLD | NEW |