Index: chrome/browser/chromeos/drive/drive_resource_metadata.h |
diff --git a/chrome/browser/chromeos/drive/drive_resource_metadata.h b/chrome/browser/chromeos/drive/drive_resource_metadata.h |
index 33729979d8d07821231940887bc33f7ca03a7f4e..af213b4ac502dc2f3b6f8a0da4dc1703e3891196 100644 |
--- a/chrome/browser/chromeos/drive/drive_resource_metadata.h |
+++ b/chrome/browser/chromeos/drive/drive_resource_metadata.h |
@@ -137,7 +137,10 @@ class DriveResourceMetadata { |
DriveResourceMetadata( |
const std::string& root_resource_id, |
scoped_refptr<base::SequencedTaskRunner> blocking_task_runner); |
- virtual ~DriveResourceMetadata(); |
+ |
+ // Destroys this object. This method posts a task to |blocking_task_runner_| |
+ // to safely delete this object. |
+ void Destroy(); |
// True if the file system feed is loaded from the cache or from the server. |
bool loaded() const { return loaded_; } |
@@ -234,6 +237,12 @@ class DriveResourceMetadata { |
private: |
friend class DriveResourceMetadataTest; |
+ // Note: Use Destroy() to delete this object. |
+ virtual ~DriveResourceMetadata(); |
+ |
+ // Used to implement Destroy(). |
+ void DestroyOnBlockingPool(); |
+ |
// Clears root_ and the resource map. |
void ClearRoot(); |