| Index: chrome/browser/content_settings/tab_specific_content_settings.cc
|
| ===================================================================
|
| --- chrome/browser/content_settings/tab_specific_content_settings.cc (revision 96178)
|
| +++ chrome/browser/content_settings/tab_specific_content_settings.cc (working copy)
|
| @@ -9,6 +9,7 @@
|
| #include "base/lazy_instance.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "chrome/browser/browsing_data_appcache_helper.h"
|
| +#include "chrome/browser/browsing_data_cookie_helper.h"
|
| #include "chrome/browser/browsing_data_database_helper.h"
|
| #include "chrome/browser/browsing_data_file_system_helper.h"
|
| #include "chrome/browser/browsing_data_indexed_db_helper.h"
|
| @@ -26,7 +27,6 @@
|
| #include "content/browser/tab_contents/tab_contents_delegate.h"
|
| #include "content/common/notification_service.h"
|
| #include "content/common/view_messages.h"
|
| -#include "net/base/cookie_monster.h"
|
| #include "webkit/fileapi/file_system_types.h"
|
|
|
| namespace {
|
| @@ -36,8 +36,8 @@
|
| }
|
|
|
| bool TabSpecificContentSettings::LocalSharedObjectsContainer::empty() const {
|
| - return cookies_->GetAllCookies().empty() &&
|
| - appcaches_->empty() &&
|
| + return appcaches_->empty() &&
|
| + cookies_->empty() &&
|
| databases_->empty() &&
|
| file_systems_->empty() &&
|
| indexed_dbs_->empty() &&
|
| @@ -239,24 +239,15 @@
|
| bool blocked_by_policy) {
|
| if (cookie_list.empty())
|
| return;
|
| - LocalSharedObjectsContainer& container = blocked_by_policy ?
|
| - blocked_local_shared_objects_ : allowed_local_shared_objects_;
|
| - typedef net::CookieList::const_iterator cookie_iterator;
|
| - for (cookie_iterator cookie = cookie_list.begin();
|
| - cookie != cookie_list.end(); ++cookie) {
|
| - container.cookies()->SetCookieWithDetails(url,
|
| - cookie->Name(),
|
| - cookie->Value(),
|
| - cookie->Domain(),
|
| - cookie->Path(),
|
| - cookie->ExpiryDate(),
|
| - cookie->IsSecure(),
|
| - cookie->IsHttpOnly());
|
| - }
|
| - if (blocked_by_policy)
|
| + if (blocked_by_policy) {
|
| + blocked_local_shared_objects_.cookies()->AddReadCookies(
|
| + url, cookie_list);
|
| OnContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES, std::string());
|
| - else
|
| + } else {
|
| + allowed_local_shared_objects_.cookies()->AddReadCookies(
|
| + url, cookie_list);
|
| OnContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES);
|
| + }
|
| }
|
|
|
| void TabSpecificContentSettings::OnCookieChanged(
|
| @@ -265,11 +256,11 @@
|
| const net::CookieOptions& options,
|
| bool blocked_by_policy) {
|
| if (blocked_by_policy) {
|
| - blocked_local_shared_objects_.cookies()->SetCookieWithOptions(
|
| + blocked_local_shared_objects_.cookies()->AddChangedCookie(
|
| url, cookie_line, options);
|
| OnContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES, std::string());
|
| } else {
|
| - allowed_local_shared_objects_.cookies()->SetCookieWithOptions(
|
| + allowed_local_shared_objects_.cookies()->AddChangedCookie(
|
| url, cookie_line, options);
|
| OnContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES);
|
| }
|
| @@ -486,17 +477,13 @@
|
|
|
| TabSpecificContentSettings::LocalSharedObjectsContainer::
|
| LocalSharedObjectsContainer(Profile* profile)
|
| - : cookies_(new net::CookieMonster(NULL, NULL)),
|
| - appcaches_(new CannedBrowsingDataAppCacheHelper(profile)),
|
| + : appcaches_(new CannedBrowsingDataAppCacheHelper(profile)),
|
| + cookies_(new CannedBrowsingDataCookieHelper(profile)),
|
| databases_(new CannedBrowsingDataDatabaseHelper(profile)),
|
| file_systems_(new CannedBrowsingDataFileSystemHelper(profile)),
|
| indexed_dbs_(new CannedBrowsingDataIndexedDBHelper(profile)),
|
| local_storages_(new CannedBrowsingDataLocalStorageHelper(profile)),
|
| session_storages_(new CannedBrowsingDataLocalStorageHelper(profile)) {
|
| - cookies_->SetCookieableSchemes(
|
| - net::CookieMonster::kDefaultCookieableSchemes,
|
| - net::CookieMonster::kDefaultCookieableSchemesCount);
|
| - cookies_->SetKeepExpiredCookies();
|
| }
|
|
|
| TabSpecificContentSettings::LocalSharedObjectsContainer::
|
| @@ -504,12 +491,8 @@
|
| }
|
|
|
| void TabSpecificContentSettings::LocalSharedObjectsContainer::Reset() {
|
| - cookies_ = new net::CookieMonster(NULL, NULL);
|
| - cookies_->SetCookieableSchemes(
|
| - net::CookieMonster::kDefaultCookieableSchemes,
|
| - net::CookieMonster::kDefaultCookieableSchemesCount);
|
| - cookies_->SetKeepExpiredCookies();
|
| appcaches_->Reset();
|
| + cookies_->Reset();
|
| databases_->Reset();
|
| file_systems_->Reset();
|
| indexed_dbs_->Reset();
|
| @@ -519,7 +502,7 @@
|
|
|
| CookiesTreeModel*
|
| TabSpecificContentSettings::LocalSharedObjectsContainer::GetCookiesTreeModel() {
|
| - return new CookiesTreeModel(cookies_,
|
| + return new CookiesTreeModel(cookies_->Clone(),
|
| databases_->Clone(),
|
| local_storages_->Clone(),
|
| session_storages_->Clone(),
|
|
|