| Index: chrome/common/appcache/chrome_appcache_service.cc
|
| ===================================================================
|
| --- chrome/common/appcache/chrome_appcache_service.cc (revision 40221)
|
| +++ chrome/common/appcache/chrome_appcache_service.cc (working copy)
|
| @@ -1,97 +0,0 @@
|
| -// Copyright (c) 2010 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/common/appcache/chrome_appcache_service.h"
|
| -
|
| -#include "base/file_path.h"
|
| -#include "base/file_util.h"
|
| -#include "chrome/browser/chrome_thread.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;
|
| -
|
| -ChromeAppCacheService::ChromeAppCacheService(
|
| - const FilePath& profile_path,
|
| - ChromeURLRequestContext* request_context) {
|
| - DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
|
| - DCHECK(request_context);
|
| -
|
| - if (!has_initialized_thread_ids) {
|
| - has_initialized_thread_ids = true;
|
| - appcache::AppCacheThread::InitIDs(ChromeThread::DB, ChromeThread::IO);
|
| - }
|
| -
|
| - host_contents_settings_map_ = request_context->host_content_settings_map();
|
| - registrar_.Add(
|
| - this, NotificationType::PURGE_MEMORY, NotificationService::AllSources());
|
| -
|
| - // Init our base class.
|
| - Initialize(request_context->is_off_the_record() ?
|
| - FilePath() : profile_path.Append(chrome::kAppCacheDirname));
|
| - set_request_context(request_context);
|
| - set_appcache_policy(this);
|
| -}
|
| -
|
| -ChromeAppCacheService::~ChromeAppCacheService() {
|
| - DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
|
| -}
|
| -
|
| -// static
|
| -void ChromeAppCacheService::ClearLocalState(const FilePath& profile_path) {
|
| - file_util::Delete(profile_path.Append(chrome::kAppCacheDirname), true);
|
| -}
|
| -
|
| -bool ChromeAppCacheService::CanLoadAppCache(const GURL& manifest_url) {
|
| - ContentSetting setting = host_contents_settings_map_->GetContentSetting(
|
| - manifest_url, CONTENT_SETTINGS_TYPE_COOKIES);
|
| - DCHECK(setting != CONTENT_SETTING_DEFAULT);
|
| - return setting == CONTENT_SETTING_ALLOW ||
|
| - setting == CONTENT_SETTING_ASK; // we don't prompt for read access
|
| -}
|
| -
|
| -int ChromeAppCacheService::CanCreateAppCache(
|
| - const GURL& manifest_url, net::CompletionCallback* callback) {
|
| - ContentSetting setting = host_contents_settings_map_->GetContentSetting(
|
| - manifest_url, CONTENT_SETTINGS_TYPE_COOKIES);
|
| - DCHECK(setting != CONTENT_SETTING_DEFAULT);
|
| - if (setting == CONTENT_SETTING_ASK) {
|
| - // TODO(michaeln): prompt the user, for now we block
|
| - setting = CONTENT_SETTING_BLOCK;
|
| - }
|
| - return (setting != CONTENT_SETTING_BLOCK) ? net::OK : net::ERR_ACCESS_DENIED;
|
| -}
|
| -
|
| -void ChromeAppCacheService::Observe(NotificationType type,
|
| - const NotificationSource& source,
|
| - const NotificationDetails& details) {
|
| - DCHECK(type == NotificationType::PURGE_MEMORY);
|
| - PurgeMemory();
|
| -}
|
| -
|
| -static ChromeThread::ID ToChromeThreadID(int id) {
|
| - DCHECK(has_initialized_thread_ids);
|
| - DCHECK(id == ChromeThread::DB || id == ChromeThread::IO);
|
| - return static_cast<ChromeThread::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 ChromeThread::PostTask(ToChromeThreadID(id), from_here, task);
|
| -}
|
| -
|
| -bool AppCacheThread::CurrentlyOn(int id) {
|
| - return ChromeThread::CurrentlyOn(ToChromeThreadID(id));
|
| -}
|
| -
|
| -} // namespace appcache
|
|
|