Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(627)

Unified Diff: chrome/browser/appcache/chrome_appcache_service.cc

Issue 6586001: Move appcache/file_sytem/device_orientation subdirectories of chrome\browser ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/appcache/chrome_appcache_service.cc
===================================================================
--- chrome/browser/appcache/chrome_appcache_service.cc (revision 75978)
+++ chrome/browser/appcache/chrome_appcache_service.cc (working copy)
@@ -1,147 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/appcache/chrome_appcache_service.h"
-
-#include "base/file_path.h"
-#include "base/file_util.h"
-#include "chrome/browser/browser_list.h"
-#include "chrome/browser/net/chrome_url_request_context.h"
-#include "chrome/common/chrome_constants.h"
-#include "chrome/common/notification_service.h"
-#include "net/base/net_errors.h"
-#include "webkit/appcache/appcache_thread.h"
-
-static bool has_initialized_thread_ids;
-
-namespace {
-
-// Used to defer deleting of local storage until the destructor has finished.
-void DeleteLocalStateOnIOThread(FilePath cache_path) {
- // Post the actual deletion to the DB thread to ensure it happens after the
- // database file has been closed.
- BrowserThread::PostTask(
- BrowserThread::DB, FROM_HERE,
- NewRunnableFunction<bool(*)(const FilePath&, bool), FilePath, bool>(
- &file_util::Delete, cache_path, true));
-}
-
-} // namespace
-
-// ----------------------------------------------------------------------------
-
-ChromeAppCacheService::ChromeAppCacheService()
- : clear_local_state_on_exit_(false) {
-}
-
-void ChromeAppCacheService::InitializeOnIOThread(
- const FilePath& profile_path, bool is_incognito,
- scoped_refptr<HostContentSettingsMap> content_settings_map,
- bool clear_local_state_on_exit) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
-
- if (!has_initialized_thread_ids) {
- has_initialized_thread_ids = true;
- appcache::AppCacheThread::Init(BrowserThread::DB, BrowserThread::IO);
- }
-
- host_contents_settings_map_ = content_settings_map;
- registrar_.Add(
- this, NotificationType::PURGE_MEMORY, NotificationService::AllSources());
- SetClearLocalStateOnExit(clear_local_state_on_exit);
- if (!is_incognito)
- cache_path_ = profile_path.Append(chrome::kAppCacheDirname);
-
- // Init our base class.
- Initialize(cache_path_,
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::CACHE));
- set_appcache_policy(this);
-}
-
-ChromeAppCacheService::~ChromeAppCacheService() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
-
- if (clear_local_state_on_exit_ && !cache_path_.empty()) {
- BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- NewRunnableFunction(DeleteLocalStateOnIOThread, cache_path_));
- }
-}
-
-void ChromeAppCacheService::SetOriginQuotaInMemory(
- const GURL& origin, int64 quota) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- if (storage())
- storage()->SetOriginQuotaInMemory(origin, quota);
-}
-
-void ChromeAppCacheService::ResetOriginQuotaInMemory(const GURL& origin) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- if (storage())
- storage()->ResetOriginQuotaInMemory(origin);
-}
-
-void ChromeAppCacheService::SetClearLocalStateOnExit(bool clear_local_state) {
- if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) {
- BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(this,
- &ChromeAppCacheService::SetClearLocalStateOnExit,
- clear_local_state));
- return;
- }
- clear_local_state_on_exit_ = clear_local_state;
-}
-
-bool ChromeAppCacheService::CanLoadAppCache(const GURL& manifest_url) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- ContentSetting setting = host_contents_settings_map_->GetContentSetting(
- manifest_url, CONTENT_SETTINGS_TYPE_COOKIES, "");
- DCHECK(setting != CONTENT_SETTING_DEFAULT);
- // We don't prompt for read access.
- return setting != CONTENT_SETTING_BLOCK;
-}
-
-int ChromeAppCacheService::CanCreateAppCache(
- const GURL& manifest_url, net::CompletionCallback* callback) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- ContentSetting setting = host_contents_settings_map_->GetContentSetting(
- manifest_url, CONTENT_SETTINGS_TYPE_COOKIES, "");
- DCHECK(setting != CONTENT_SETTING_DEFAULT);
- return (setting != CONTENT_SETTING_BLOCK) ? net::OK :
- net::ERR_ACCESS_DENIED;
-}
-
-void ChromeAppCacheService::Observe(NotificationType type,
- const NotificationSource& source,
- const NotificationDetails& details) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- DCHECK(type == NotificationType::PURGE_MEMORY);
- PurgeMemory();
-}
-
-// ----------------------------------------------------------------------------
-
-static BrowserThread::ID ToBrowserThreadID(int id) {
- DCHECK(has_initialized_thread_ids);
- DCHECK(id == BrowserThread::DB || id == BrowserThread::IO);
- return static_cast<BrowserThread::ID>(id);
-}
-
-namespace appcache {
-
-// An impl of AppCacheThread we need to provide to the appcache lib.
-
-bool AppCacheThread::PostTask(
- int id,
- const tracked_objects::Location& from_here,
- Task* task) {
- return BrowserThread::PostTask(ToBrowserThreadID(id), from_here, task);
-}
-
-bool AppCacheThread::CurrentlyOn(int id) {
- return BrowserThread::CurrentlyOn(ToBrowserThreadID(id));
-}
-
-} // namespace appcache
« no previous file with comments | « chrome/browser/appcache/chrome_appcache_service.h ('k') | chrome/browser/appcache/chrome_appcache_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698