1// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "content/browser/appcache/appcache_frontend_proxy.h"
6
7#include "content/common/appcache_messages.h"
8
9namespace content {
10
11AppCacheFrontendProxy::AppCacheFrontendProxy(IPC::Sender* sender)
12    : sender_(sender) {
13}
14
15void AppCacheFrontendProxy::OnCacheSelected(
16    int host_id, const AppCacheInfo& info) {
17  sender_->Send(new AppCacheMsg_CacheSelected(host_id, info));
18}
19
20void AppCacheFrontendProxy::OnStatusChanged(const std::vector<int>& host_ids,
21                                            AppCacheStatus status) {
22  sender_->Send(new AppCacheMsg_StatusChanged(host_ids, status));
23}
24
25void AppCacheFrontendProxy::OnEventRaised(const std::vector<int>& host_ids,
26                                          AppCacheEventID event_id) {
27  DCHECK_NE(APPCACHE_PROGRESS_EVENT,
28      event_id);  // See OnProgressEventRaised.
29  sender_->Send(new AppCacheMsg_EventRaised(host_ids, event_id));
30}
31
32void AppCacheFrontendProxy::OnProgressEventRaised(
33    const std::vector<int>& host_ids,
34    const GURL& url, int num_total, int num_complete) {
35  sender_->Send(new AppCacheMsg_ProgressEventRaised(
36      host_ids, url, num_total, num_complete));
37}
38
39void AppCacheFrontendProxy::OnErrorEventRaised(
40    const std::vector<int>& host_ids,
41    const AppCacheErrorDetails& details) {
42  sender_->Send(new AppCacheMsg_ErrorEventRaised(host_ids, details));
43}
44
45void AppCacheFrontendProxy::OnLogMessage(int host_id,
46                                         AppCacheLogLevel log_level,
47                                         const std::string& message) {
48  sender_->Send(new AppCacheMsg_LogMessage(host_id, log_level, message));
49}
50
51void AppCacheFrontendProxy::OnContentBlocked(int host_id,
52                                             const GURL& manifest_url) {
53  sender_->Send(new AppCacheMsg_ContentBlocked(host_id, manifest_url));
54}
55
56}  // namespace content
57