blob: 19b509b2efa4a421bf873493f0923e2b295bced1 [file] [log] [blame]
// Copyright 2013 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 "content/renderer/appcache/appcache_backend_proxy.h"
#include "content/common/appcache.mojom.h"
#include "content/public/common/service_names.mojom.h"
#include "content/public/renderer/render_thread.h"
#include "services/service_manager/public/cpp/connector.h"
namespace content {
AppCacheBackendProxy::AppCacheBackendProxy() = default;
AppCacheBackendProxy::~AppCacheBackendProxy() = default;
mojom::AppCacheBackend* AppCacheBackendProxy::GetAppCacheBackendPtr() {
if (!app_cache_backend_ptr_) {
RenderThread::Get()->GetConnector()->BindInterface(
mojom::kBrowserServiceName, mojo::MakeRequest(&app_cache_backend_ptr_));
}
return app_cache_backend_ptr_.get();
}
void AppCacheBackendProxy::RegisterHost(int host_id) {
GetAppCacheBackendPtr()->RegisterHost(host_id);
}
void AppCacheBackendProxy::UnregisterHost(int host_id) {
GetAppCacheBackendPtr()->UnregisterHost(host_id);
}
void AppCacheBackendProxy::SetSpawningHostId(int host_id,
int spawning_host_id) {
GetAppCacheBackendPtr()->SetSpawningHostId(host_id, spawning_host_id);
}
void AppCacheBackendProxy::SelectCache(
int host_id,
const GURL& document_url,
const int64_t cache_document_was_loaded_from,
const GURL& manifest_url) {
GetAppCacheBackendPtr()->SelectCache(
host_id, document_url, cache_document_was_loaded_from, manifest_url);
}
void AppCacheBackendProxy::SelectCacheForSharedWorker(int host_id,
int64_t appcache_id) {
GetAppCacheBackendPtr()->SelectCacheForSharedWorker(host_id, appcache_id);
}
void AppCacheBackendProxy::MarkAsForeignEntry(
int host_id,
const GURL& document_url,
int64_t cache_document_was_loaded_from) {
GetAppCacheBackendPtr()->MarkAsForeignEntry(host_id, document_url,
cache_document_was_loaded_from);
}
AppCacheStatus AppCacheBackendProxy::GetStatus(int host_id) {
AppCacheStatus status = AppCacheStatus::APPCACHE_STATUS_UNCACHED;
GetAppCacheBackendPtr()->GetStatus(host_id, &status);
return status;
}
bool AppCacheBackendProxy::StartUpdate(int host_id) {
bool result = false;
GetAppCacheBackendPtr()->StartUpdate(host_id, &result);
return result;
}
bool AppCacheBackendProxy::SwapCache(int host_id) {
bool result = false;
GetAppCacheBackendPtr()->SwapCache(host_id, &result);
return result;
}
void AppCacheBackendProxy::GetResourceList(
int host_id, std::vector<AppCacheResourceInfo>* resource_infos) {
std::vector<mojom::AppCacheResourceInfoPtr> boxed_infos;
GetAppCacheBackendPtr()->GetResourceList(host_id, &boxed_infos);
for (auto& b : boxed_infos) {
resource_infos->emplace_back(std::move(*b));
}
}
} // namespace content