|  | // 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 "webkit/appcache/appcache_frontend_impl.h" | 
|  |  | 
|  | #include "base/logging.h" | 
|  | #include "webkit/appcache/web_application_cache_host_impl.h" | 
|  |  | 
|  | namespace appcache { | 
|  |  | 
|  | // Inline helper to keep the lines shorter and unwrapped. | 
|  | inline WebApplicationCacheHostImpl* GetHost(int id) { | 
|  | return WebApplicationCacheHostImpl::FromId(id); | 
|  | } | 
|  |  | 
|  | void AppCacheFrontendImpl::OnCacheSelected( | 
|  | int host_id, const AppCacheInfo& info) { | 
|  | WebApplicationCacheHostImpl* host = GetHost(host_id); | 
|  | if (host) | 
|  | host->OnCacheSelected(info); | 
|  | } | 
|  |  | 
|  | void AppCacheFrontendImpl::OnStatusChanged(const std::vector<int>& host_ids, | 
|  | Status status) { | 
|  | for (std::vector<int>::const_iterator i = host_ids.begin(); | 
|  | i != host_ids.end(); ++i) { | 
|  | WebApplicationCacheHostImpl* host = GetHost(*i); | 
|  | if (host) | 
|  | host->OnStatusChanged(status); | 
|  | } | 
|  | } | 
|  |  | 
|  | void AppCacheFrontendImpl::OnEventRaised(const std::vector<int>& host_ids, | 
|  | EventID event_id) { | 
|  | DCHECK(event_id != PROGRESS_EVENT);  // See OnProgressEventRaised. | 
|  | DCHECK(event_id != ERROR_EVENT);  // See OnErrorEventRaised. | 
|  | for (std::vector<int>::const_iterator i = host_ids.begin(); | 
|  | i != host_ids.end(); ++i) { | 
|  | WebApplicationCacheHostImpl* host = GetHost(*i); | 
|  | if (host) | 
|  | host->OnEventRaised(event_id); | 
|  | } | 
|  | } | 
|  |  | 
|  | void AppCacheFrontendImpl::OnProgressEventRaised( | 
|  | const std::vector<int>& host_ids, | 
|  | const GURL& url, int num_total, int num_complete) { | 
|  | for (std::vector<int>::const_iterator i = host_ids.begin(); | 
|  | i != host_ids.end(); ++i) { | 
|  | WebApplicationCacheHostImpl* host = GetHost(*i); | 
|  | if (host) | 
|  | host->OnProgressEventRaised(url, num_total, num_complete); | 
|  | } | 
|  | } | 
|  |  | 
|  | void AppCacheFrontendImpl::OnErrorEventRaised( | 
|  | const std::vector<int>& host_ids, | 
|  | const std::string& message) { | 
|  | for (std::vector<int>::const_iterator i = host_ids.begin(); | 
|  | i != host_ids.end(); ++i) { | 
|  | WebApplicationCacheHostImpl* host = GetHost(*i); | 
|  | if (host) | 
|  | host->OnErrorEventRaised(message); | 
|  | } | 
|  | } | 
|  |  | 
|  | void AppCacheFrontendImpl::OnLogMessage(int host_id, LogLevel log_level, | 
|  | const std::string& message) { | 
|  | WebApplicationCacheHostImpl* host = GetHost(host_id); | 
|  | if (host) | 
|  | host->OnLogMessage(log_level, message); | 
|  | } | 
|  |  | 
|  | void AppCacheFrontendImpl::OnContentBlocked(int host_id, | 
|  | const GURL& manifest_url) { | 
|  | WebApplicationCacheHostImpl* host = GetHost(host_id); | 
|  | if (host) | 
|  | host->OnContentBlocked(manifest_url); | 
|  | } | 
|  |  | 
|  | }  // namespace appcache |