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 9namespace content { 10 11AppCacheDispatcher::AppCacheDispatcher( 12 IPC::Sender* sender, 13 appcache::AppCacheFrontend* frontend) 14 : backend_proxy_(sender), 15 frontend_(frontend) {} 16 17AppCacheDispatcher::~AppCacheDispatcher() {} 18 19bool 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 34void AppCacheDispatcher::OnCacheSelected( 35 int host_id, const appcache::AppCacheInfo& info) { 36 frontend_->OnCacheSelected(host_id, info); 37} 38 39void AppCacheDispatcher::OnStatusChanged(const std::vector<int>& host_ids, 40 appcache::AppCacheStatus status) { 41 frontend_->OnStatusChanged(host_ids, status); 42} 43 44void AppCacheDispatcher::OnEventRaised(const std::vector<int>& host_ids, 45 appcache::AppCacheEventID event_id) { 46 frontend_->OnEventRaised(host_ids, event_id); 47} 48 49void 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 55void AppCacheDispatcher::OnErrorEventRaised( 56 const std::vector<int>& host_ids, 57 const appcache::AppCacheErrorDetails& details) { 58 frontend_->OnErrorEventRaised(host_ids, details); 59} 60 61void AppCacheDispatcher::OnLogMessage( 62 int host_id, int log_level, const std::string& message) { 63 frontend_->OnLogMessage( 64 host_id, static_cast<appcache::AppCacheLogLevel>(log_level), message); 65} 66 67void AppCacheDispatcher::OnContentBlocked(int host_id, 68 const GURL& manifest_url) { 69 frontend_->OnContentBlocked(host_id, manifest_url); 70} 71 72} // namespace content 73