| Index: chrome/common/app_cache/app_cache_context_impl.cc
|
| ===================================================================
|
| --- chrome/common/app_cache/app_cache_context_impl.cc (revision 0)
|
| +++ chrome/common/app_cache/app_cache_context_impl.cc (revision 0)
|
| @@ -0,0 +1,84 @@
|
| +// Copyright (c) 2009 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/app_cache/app_cache_context_impl.h"
|
| +
|
| +#include "base/logging.h"
|
| +#include "chrome/common/render_messages.h"
|
| +#include "chrome/common/child_thread.h"
|
| +#include "googleurl/src/gurl.h"
|
| +
|
| +IDMap<AppCacheContextImpl> AppCacheContextImpl::all_contexts;
|
| +
|
| +// static
|
| +AppCacheContextImpl* AppCacheContextImpl::FromContextId(int id) {
|
| + return all_contexts.Lookup(id);
|
| +}
|
| +
|
| +AppCacheContextImpl::AppCacheContextImpl(IPC::Message::Sender *sender)
|
| + : context_id_(kNoAppCacheContextId),
|
| + app_cache_id_(kUnknownAppCacheId),
|
| + pending_select_request_id_(0),
|
| + sender_(sender) {
|
| + DCHECK(sender_);
|
| +}
|
| +
|
| +AppCacheContextImpl::~AppCacheContextImpl() {
|
| + UnInitializeContext();
|
| +}
|
| +
|
| +void AppCacheContextImpl::Initialize(ContextType context_type,
|
| + WebAppCacheContext *parent) {
|
| + DCHECK(context_id_ == kNoAppCacheContextId);
|
| + DCHECK(((context_type == MAIN_FRAME) && !parent) ||
|
| + ((context_type != MAIN_FRAME) && parent));
|
| +
|
| + context_id_ = all_contexts.Add(this);
|
| + CHECK(context_id_ != kNoAppCacheContextId);
|
| +
|
| + sender_->Send(new AppCacheMsg_ContextCreated(context_type,
|
| + context_id_,
|
| + parent ? parent->context_id()
|
| + : kNoAppCacheContextId));
|
| +}
|
| +
|
| +void AppCacheContextImpl::UnInitializeContext() {
|
| + if (context_id_ != kNoAppCacheContextId) {
|
| + sender_->Send(new AppCacheMsg_ContextDestroyed(context_id_));
|
| + all_contexts.Remove(context_id_);
|
| + context_id_ = kNoAppCacheContextId;
|
| + }
|
| +}
|
| +
|
| +void AppCacheContextImpl::SelectAppCacheWithoutManifest(
|
| + const GURL &document_url,
|
| + int64 cache_document_was_loaded_from) {
|
| + DCHECK(context_id_ != kNoAppCacheContextId);
|
| + app_cache_id_ = kUnknownAppCacheId; // unknown until we get a response
|
| + sender_->Send(new AppCacheMsg_SelectAppCache(
|
| + context_id_, ++pending_select_request_id_,
|
| + document_url, cache_document_was_loaded_from,
|
| + GURL::EmptyGURL()));
|
| +}
|
| +
|
| +void AppCacheContextImpl::SelectAppCacheWithManifest(
|
| + const GURL &document_url,
|
| + int64 cache_document_was_loaded_from,
|
| + const GURL &manifest_url) {
|
| + DCHECK(context_id_ != kNoAppCacheContextId);
|
| + app_cache_id_ = kUnknownAppCacheId; // unknown until we get a response
|
| + sender_->Send(new AppCacheMsg_SelectAppCache(
|
| + context_id_, ++pending_select_request_id_,
|
| + document_url, cache_document_was_loaded_from,
|
| + manifest_url));
|
| +}
|
| +
|
| +void AppCacheContextImpl::OnAppCacheSelected(int select_request_id,
|
| + int64 app_cache_id) {
|
| + if (select_request_id == pending_select_request_id_) {
|
| + DCHECK(app_cache_id_ == kUnknownAppCacheId);
|
| + DCHECK(app_cache_id != kUnknownAppCacheId);
|
| + app_cache_id_ = app_cache_id;
|
| + }
|
| +}
|
|
|
| Property changes on: chrome\common\app_cache\app_cache_context_impl.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|