| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "chrome/browser/browsing_data_local_storage_helper.h" | 5 #include "chrome/browser/browsing_data_local_storage_helper.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 | 58 |
| 59 void BrowsingDataLocalStorageHelper::StartFetching( | 59 void BrowsingDataLocalStorageHelper::StartFetching( |
| 60 const base::Callback<void(const std::list<LocalStorageInfo>&)>& callback) { | 60 const base::Callback<void(const std::list<LocalStorageInfo>&)>& callback) { |
| 61 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 61 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 62 DCHECK(!is_fetching_); | 62 DCHECK(!is_fetching_); |
| 63 DCHECK_EQ(false, callback.is_null()); | 63 DCHECK_EQ(false, callback.is_null()); |
| 64 | 64 |
| 65 is_fetching_ = true; | 65 is_fetching_ = true; |
| 66 completion_callback_ = callback; | 66 completion_callback_ = callback; |
| 67 BrowserThread::PostTask( | 67 BrowserThread::PostTask( |
| 68 BrowserThread::WEBKIT, FROM_HERE, | 68 BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, |
| 69 base::Bind( | 69 base::Bind( |
| 70 &BrowsingDataLocalStorageHelper::FetchLocalStorageInfoInWebKitThread, | 70 &BrowsingDataLocalStorageHelper::FetchLocalStorageInfoInWebKitThread, |
| 71 this)); | 71 this)); |
| 72 } | 72 } |
| 73 | 73 |
| 74 void BrowsingDataLocalStorageHelper::CancelNotification() { | 74 void BrowsingDataLocalStorageHelper::CancelNotification() { |
| 75 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 75 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 76 completion_callback_.Reset(); | 76 completion_callback_.Reset(); |
| 77 } | 77 } |
| 78 | 78 |
| 79 void BrowsingDataLocalStorageHelper::DeleteLocalStorageFile( | 79 void BrowsingDataLocalStorageHelper::DeleteLocalStorageFile( |
| 80 const FilePath& file_path) { | 80 const FilePath& file_path) { |
| 81 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 81 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 82 BrowserThread::PostTask( | 82 BrowserThread::PostTask( |
| 83 BrowserThread::WEBKIT, FROM_HERE, | 83 BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, |
| 84 base::Bind( | 84 base::Bind( |
| 85 &BrowsingDataLocalStorageHelper::DeleteLocalStorageFileInWebKitThread, | 85 &BrowsingDataLocalStorageHelper::DeleteLocalStorageFileInWebKitThread, |
| 86 this, file_path)); | 86 this, file_path)); |
| 87 } | 87 } |
| 88 | 88 |
| 89 void BrowsingDataLocalStorageHelper::FetchLocalStorageInfoInWebKitThread() { | 89 void BrowsingDataLocalStorageHelper::FetchLocalStorageInfoInWebKitThread() { |
| 90 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT)); | 90 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); |
| 91 file_util::FileEnumerator file_enumerator( | 91 file_util::FileEnumerator file_enumerator( |
| 92 profile_->GetWebKitContext()->data_path().Append( | 92 profile_->GetWebKitContext()->data_path().Append( |
| 93 DOMStorageContext::kLocalStorageDirectory), | 93 DOMStorageContext::kLocalStorageDirectory), |
| 94 false, file_util::FileEnumerator::FILES); | 94 false, file_util::FileEnumerator::FILES); |
| 95 for (FilePath file_path = file_enumerator.Next(); !file_path.empty(); | 95 for (FilePath file_path = file_enumerator.Next(); !file_path.empty(); |
| 96 file_path = file_enumerator.Next()) { | 96 file_path = file_enumerator.Next()) { |
| 97 if (file_path.Extension() == DOMStorageContext::kLocalStorageExtension) { | 97 if (file_path.Extension() == DOMStorageContext::kLocalStorageExtension) { |
| 98 WebSecurityOrigin web_security_origin = | 98 WebSecurityOrigin web_security_origin = |
| 99 WebSecurityOrigin::createFromDatabaseIdentifier( | 99 WebSecurityOrigin::createFromDatabaseIdentifier( |
| 100 webkit_glue::FilePathToWebString(file_path.BaseName())); | 100 webkit_glue::FilePathToWebString(file_path.BaseName())); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 131 // test it here. | 131 // test it here. |
| 132 if (!completion_callback_.is_null()) { | 132 if (!completion_callback_.is_null()) { |
| 133 completion_callback_.Run(local_storage_info_); | 133 completion_callback_.Run(local_storage_info_); |
| 134 completion_callback_.Reset(); | 134 completion_callback_.Reset(); |
| 135 } | 135 } |
| 136 is_fetching_ = false; | 136 is_fetching_ = false; |
| 137 } | 137 } |
| 138 | 138 |
| 139 void BrowsingDataLocalStorageHelper::DeleteLocalStorageFileInWebKitThread( | 139 void BrowsingDataLocalStorageHelper::DeleteLocalStorageFileInWebKitThread( |
| 140 const FilePath& file_path) { | 140 const FilePath& file_path) { |
| 141 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT)); | 141 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); |
| 142 profile_->GetWebKitContext()->dom_storage_context()->DeleteLocalStorageFile( | 142 profile_->GetWebKitContext()->dom_storage_context()->DeleteLocalStorageFile( |
| 143 file_path); | 143 file_path); |
| 144 } | 144 } |
| 145 | 145 |
| 146 CannedBrowsingDataLocalStorageHelper::CannedBrowsingDataLocalStorageHelper( | 146 CannedBrowsingDataLocalStorageHelper::CannedBrowsingDataLocalStorageHelper( |
| 147 Profile* profile) | 147 Profile* profile) |
| 148 : BrowsingDataLocalStorageHelper(profile), | 148 : BrowsingDataLocalStorageHelper(profile), |
| 149 profile_(profile) { | 149 profile_(profile) { |
| 150 } | 150 } |
| 151 | 151 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 180 | 180 |
| 181 void CannedBrowsingDataLocalStorageHelper::StartFetching( | 181 void CannedBrowsingDataLocalStorageHelper::StartFetching( |
| 182 const base::Callback<void(const std::list<LocalStorageInfo>&)>& callback) { | 182 const base::Callback<void(const std::list<LocalStorageInfo>&)>& callback) { |
| 183 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 183 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 184 DCHECK(!is_fetching_); | 184 DCHECK(!is_fetching_); |
| 185 DCHECK_EQ(false, callback.is_null()); | 185 DCHECK_EQ(false, callback.is_null()); |
| 186 | 186 |
| 187 is_fetching_ = true; | 187 is_fetching_ = true; |
| 188 completion_callback_ = callback; | 188 completion_callback_ = callback; |
| 189 BrowserThread::PostTask( | 189 BrowserThread::PostTask( |
| 190 BrowserThread::WEBKIT, FROM_HERE, | 190 BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, |
| 191 base::Bind(&CannedBrowsingDataLocalStorageHelper:: | 191 base::Bind(&CannedBrowsingDataLocalStorageHelper:: |
| 192 ConvertPendingInfoInWebKitThread, this)); | 192 ConvertPendingInfoInWebKitThread, this)); |
| 193 } | 193 } |
| 194 | 194 |
| 195 CannedBrowsingDataLocalStorageHelper::~CannedBrowsingDataLocalStorageHelper() {} | 195 CannedBrowsingDataLocalStorageHelper::~CannedBrowsingDataLocalStorageHelper() {} |
| 196 | 196 |
| 197 void CannedBrowsingDataLocalStorageHelper::ConvertPendingInfoInWebKitThread() { | 197 void CannedBrowsingDataLocalStorageHelper::ConvertPendingInfoInWebKitThread() { |
| 198 base::AutoLock auto_lock(lock_); | 198 base::AutoLock auto_lock(lock_); |
| 199 for (std::set<GURL>::iterator info = pending_local_storage_info_.begin(); | 199 for (std::set<GURL>::iterator info = pending_local_storage_info_.begin(); |
| 200 info != pending_local_storage_info_.end(); ++info) { | 200 info != pending_local_storage_info_.end(); ++info) { |
| (...skipping 25 matching lines...) Expand all Loading... |
| 226 0, | 226 0, |
| 227 base::Time())); | 227 base::Time())); |
| 228 } | 228 } |
| 229 pending_local_storage_info_.clear(); | 229 pending_local_storage_info_.clear(); |
| 230 | 230 |
| 231 BrowserThread::PostTask( | 231 BrowserThread::PostTask( |
| 232 BrowserThread::UI, FROM_HERE, | 232 BrowserThread::UI, FROM_HERE, |
| 233 base::Bind(&CannedBrowsingDataLocalStorageHelper::NotifyInUIThread, | 233 base::Bind(&CannedBrowsingDataLocalStorageHelper::NotifyInUIThread, |
| 234 this)); | 234 this)); |
| 235 } | 235 } |
| OLD | NEW |