1 // Copyright 2013 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/child/appcache/appcache_dispatcher.h"
6
7 #include "content/common/appcache_messages.h"
8
9 namespace content {
10
AppCacheDispatcher(IPC::Sender * sender,appcache::AppCacheFrontend * frontend)11 AppCacheDispatcher::AppCacheDispatcher(
12 IPC::Sender* sender,
13 appcache::AppCacheFrontend* frontend)
14 : backend_proxy_(sender),
15 frontend_(frontend) {}
16
~AppCacheDispatcher()17 AppCacheDispatcher::~AppCacheDispatcher() {}
18
OnMessageReceived(const IPC::Message & msg)19 bool AppCacheDispatcher::OnMessageReceived(const IPC::Message& msg) {
20 bool handled = true;
21 IPC_BEGIN_MESSAGE_MAP(AppCacheDispatcher, msg)
22 IPC_MESSAGE_HANDLER(AppCacheMsg_CacheSelected, OnCacheSelected)
23 IPC_MESSAGE_HANDLER(AppCacheMsg_StatusChanged, OnStatusChanged)
24 IPC_MESSAGE_HANDLER(AppCacheMsg_EventRaised, OnEventRaised)
25 IPC_MESSAGE_HANDLER(AppCacheMsg_ProgressEventRaised, OnProgressEventRaised)
26 IPC_MESSAGE_HANDLER(AppCacheMsg_ErrorEventRaised, OnErrorEventRaised)
27 IPC_MESSAGE_HANDLER(AppCacheMsg_LogMessage, OnLogMessage)
28 IPC_MESSAGE_HANDLER(AppCacheMsg_ContentBlocked, OnContentBlocked)
29 IPC_MESSAGE_UNHANDLED(handled = false)
30 IPC_END_MESSAGE_MAP()
31 return handled;
32 }
33
OnCacheSelected(int host_id,const appcache::AppCacheInfo & info)34 void AppCacheDispatcher::OnCacheSelected(
35 int host_id, const appcache::AppCacheInfo& info) {
36 frontend_->OnCacheSelected(host_id, info);
37 }
38
OnStatusChanged(const std::vector<int> & host_ids,appcache::Status status)39 void AppCacheDispatcher::OnStatusChanged(const std::vector<int>& host_ids,
40 appcache::Status status) {
41 frontend_->OnStatusChanged(host_ids, status);
42 }
43
OnEventRaised(const std::vector<int> & host_ids,appcache::EventID event_id)44 void AppCacheDispatcher::OnEventRaised(const std::vector<int>& host_ids,
45 appcache::EventID event_id) {
46 frontend_->OnEventRaised(host_ids, event_id);
47 }
48
OnProgressEventRaised(const std::vector<int> & host_ids,const GURL & url,int num_total,int num_complete)49 void AppCacheDispatcher::OnProgressEventRaised(
50 const std::vector<int>& host_ids,
51 const GURL& url, int num_total, int num_complete) {
52 frontend_->OnProgressEventRaised(host_ids, url, num_total, num_complete);
53 }
54
OnErrorEventRaised(const std::vector<int> & host_ids,const std::string & message)55 void AppCacheDispatcher::OnErrorEventRaised(
56 const std::vector<int>& host_ids,
57 const std::string& message) {
58 frontend_->OnErrorEventRaised(host_ids, message);
59 }
60
OnLogMessage(int host_id,int log_level,const std::string & message)61 void AppCacheDispatcher::OnLogMessage(
62 int host_id, int log_level, const std::string& message) {
63 frontend_->OnLogMessage(
64 host_id, static_cast<appcache::LogLevel>(log_level), message);
65 }
66
OnContentBlocked(int host_id,const GURL & manifest_url)67 void AppCacheDispatcher::OnContentBlocked(int host_id,
68 const GURL& manifest_url) {
69 frontend_->OnContentBlocked(host_id, manifest_url);
70 }
71
72 } // namespace content
73