Chromium Code Reviews| 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 #include "content/public/browser/browser_context.h" | 5 #include "content/public/browser/browser_context.h" |
| 6 | 6 |
| 7 #include "content/browser/appcache/chrome_appcache_service.h" | 7 #include "content/browser/appcache/chrome_appcache_service.h" |
| 8 #include "content/browser/dom_storage/dom_storage_context_impl.h" | 8 #include "content/browser/dom_storage/dom_storage_context_impl.h" |
| 9 #include "content/browser/download/download_file_manager.h" | 9 #include "content/browser/download/download_file_manager.h" |
| 10 #include "content/browser/download/download_manager_impl.h" | 10 #include "content/browser/download/download_manager_impl.h" |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 75 | 75 |
| 76 scoped_refptr<DatabaseTracker> db_tracker = new DatabaseTracker( | 76 scoped_refptr<DatabaseTracker> db_tracker = new DatabaseTracker( |
| 77 context->GetPath(), context->IsOffTheRecord(), | 77 context->GetPath(), context->IsOffTheRecord(), |
| 78 context->GetSpecialStoragePolicy(), quota_manager->proxy(), | 78 context->GetSpecialStoragePolicy(), quota_manager->proxy(), |
| 79 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE)); | 79 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE)); |
| 80 context->SetUserData(kDatabaseTrackerKeyName, | 80 context->SetUserData(kDatabaseTrackerKeyName, |
| 81 new UserDataAdapter<DatabaseTracker>(db_tracker)); | 81 new UserDataAdapter<DatabaseTracker>(db_tracker)); |
| 82 | 82 |
| 83 FilePath path = context->IsOffTheRecord() ? FilePath() : context->GetPath(); | 83 FilePath path = context->IsOffTheRecord() ? FilePath() : context->GetPath(); |
| 84 scoped_refptr<DOMStorageContextImpl> dom_storage_context = | 84 scoped_refptr<DOMStorageContextImpl> dom_storage_context = |
| 85 new DOMStorageContextImpl(path, context->GetSpecialStoragePolicy()); | 85 new DOMStorageContextImpl(path, context->GetSpecialStoragePolicy(), |
| 86 context->save_session_storage_on_disk()); | |
|
michaeln
2012/07/10 19:04:13
All of the other methods in the content::BrowsingC
marja
2012/07/11 12:41:31
Added virtual ShouldSaveSessionStorageOnDisk which
| |
| 86 context->SetUserData( | 87 context->SetUserData( |
| 87 kDOMStorageContextKeyName, | 88 kDOMStorageContextKeyName, |
| 88 new UserDataAdapter<DOMStorageContextImpl>(dom_storage_context)); | 89 new UserDataAdapter<DOMStorageContextImpl>(dom_storage_context)); |
| 89 | 90 |
| 90 scoped_refptr<IndexedDBContext> indexed_db_context = new IndexedDBContextImpl( | 91 scoped_refptr<IndexedDBContext> indexed_db_context = new IndexedDBContextImpl( |
| 91 path, context->GetSpecialStoragePolicy(), quota_manager->proxy(), | 92 path, context->GetSpecialStoragePolicy(), quota_manager->proxy(), |
| 92 BrowserThread::GetMessageLoopProxyForThread( | 93 BrowserThread::GetMessageLoopProxyForThread( |
| 93 BrowserThread::WEBKIT_DEPRECATED)); | 94 BrowserThread::WEBKIT_DEPRECATED)); |
| 94 context->SetUserData( | 95 context->SetUserData( |
| 95 kIndexedDBContextKeyName, | 96 kIndexedDBContextKeyName, |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 239 if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) { | 240 if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) { |
| 240 BrowserThread::PostTask( | 241 BrowserThread::PostTask( |
| 241 BrowserThread::IO, FROM_HERE, | 242 BrowserThread::IO, FROM_HERE, |
| 242 base::Bind(&PurgeMemoryOnIOThread, | 243 base::Bind(&PurgeMemoryOnIOThread, |
| 243 browser_context->GetResourceContext())); | 244 browser_context->GetResourceContext())); |
| 244 } | 245 } |
| 245 | 246 |
| 246 GetDOMStorageContextImpl(browser_context)->PurgeMemory(); | 247 GetDOMStorageContextImpl(browser_context)->PurgeMemory(); |
| 247 } | 248 } |
| 248 | 249 |
| 250 BrowserContext::BrowserContext() | |
| 251 : save_session_storage_on_disk_(false) { | |
| 252 } | |
| 253 | |
| 249 BrowserContext::~BrowserContext() { | 254 BrowserContext::~BrowserContext() { |
| 250 // These message loop checks are just to avoid leaks in unittests. | 255 // These message loop checks are just to avoid leaks in unittests. |
| 251 if (GetUserData(kDatabaseTrackerKeyName) && | 256 if (GetUserData(kDatabaseTrackerKeyName) && |
| 252 BrowserThread::IsMessageLoopValid(BrowserThread::FILE)) { | 257 BrowserThread::IsMessageLoopValid(BrowserThread::FILE)) { |
| 253 BrowserThread::PostTask( | 258 BrowserThread::PostTask( |
| 254 BrowserThread::FILE, FROM_HERE, | 259 BrowserThread::FILE, FROM_HERE, |
| 255 base::Bind(&webkit_database::DatabaseTracker::Shutdown, | 260 base::Bind(&webkit_database::DatabaseTracker::Shutdown, |
| 256 GetDatabaseTracker(this))); | 261 GetDatabaseTracker(this))); |
| 257 } | 262 } |
| 258 | 263 |
| 259 if (GetUserData(kDOMStorageContextKeyName)) | 264 if (GetUserData(kDOMStorageContextKeyName)) |
| 260 GetDOMStorageContextImpl(this)->Shutdown(); | 265 GetDOMStorageContextImpl(this)->Shutdown(); |
| 261 | 266 |
| 262 if (GetUserData(kDownloadManagerKeyName)) | 267 if (GetUserData(kDownloadManagerKeyName)) |
| 263 GetDownloadManager(this)->Shutdown(); | 268 GetDownloadManager(this)->Shutdown(); |
| 264 } | 269 } |
| 265 | 270 |
| 271 void BrowserContext::SetSaveSessionStorageOnDisk( | |
| 272 bool save_session_storage_on_disk) { | |
| 273 DCHECK(!GetUserData(kQuotaManagerKeyName)); | |
| 274 save_session_storage_on_disk_ = save_session_storage_on_disk; | |
| 275 } | |
| 276 | |
| 266 } // namespace content | 277 } // namespace content |
| OLD | NEW |