Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(226)

Unified Diff: components/resource_provider/public/cpp/resource_loader.cc

Issue 1942473002: Eliminate mojo:resource_provider (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/resource_provider/public/cpp/resource_loader.cc
diff --git a/components/resource_provider/public/cpp/resource_loader.cc b/components/resource_provider/public/cpp/resource_loader.cc
deleted file mode 100644
index 65685a4a9f8e5444c027db0713d73d43c16052d5..0000000000000000000000000000000000000000
--- a/components/resource_provider/public/cpp/resource_loader.cc
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2015 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 "components/resource_provider/public/cpp/resource_loader.h"
-
-#include <stddef.h>
-#include <utility>
-
-#include "base/bind.h"
-#include "base/files/file.h"
-#include "mojo/common/common_type_converters.h"
-#include "mojo/platform_handle/platform_handle_functions.h"
-#include "services/shell/public/cpp/connector.h"
-#include "services/shell/public/interfaces/connector.mojom.h"
-#include "services/shell/public/interfaces/interface_provider.mojom.h"
-
-namespace resource_provider {
-namespace {
-base::File GetFileFromHandle(mojo::ScopedHandle handle) {
- CHECK(handle.is_valid());
- MojoPlatformHandle platform_handle;
- CHECK(MojoExtractPlatformHandle(handle.release().value(),
- &platform_handle) == MOJO_RESULT_OK);
- return base::File(platform_handle);
-}
-}
-
-ResourceLoader::ResourceLoader(shell::Connector* connector,
- const std::set<std::string>& paths)
- : loaded_(false), did_block_(false) {
- connector->ConnectToInterface("mojo:resource_provider", &resource_provider_);
- std::vector<std::string> paths_vector(paths.begin(), paths.end());
- resource_provider_->GetResources(
- mojo::Array<mojo::String>::From(paths_vector),
- base::Bind(&ResourceLoader::OnGotResources, base::Unretained(this),
- paths_vector));
-}
-
-ResourceLoader::~ResourceLoader() {
-}
-
-bool ResourceLoader::BlockUntilLoaded() {
- if (did_block_ || loaded_)
- return loaded_;
-
- did_block_ = true;
- resource_provider_.WaitForIncomingResponse();
- return loaded_;
-}
-
-base::File ResourceLoader::ReleaseFile(const std::string& path) {
- CHECK(resource_map_.count(path));
- std::unique_ptr<base::File> file_wrapper(std::move(resource_map_[path]));
- resource_map_.erase(path);
- return std::move(*file_wrapper);
-}
-
-void ResourceLoader::OnGotResources(const std::vector<std::string>& paths,
- mojo::Array<mojo::ScopedHandle> resources) {
-
- CHECK(!resources.is_null());
- CHECK_EQ(resources.size(), paths.size());
- for (size_t i = 0; i < resources.size(); ++i) {
- resource_map_[paths[i]].reset(
- new base::File(GetFileFromHandle(std::move(resources[i]))));
- }
- loaded_ = true;
-}
-
-} // namespace resource_provider
« no previous file with comments | « components/resource_provider/public/cpp/resource_loader.h ('k') | components/resource_provider/public/interfaces/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698