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

Unified Diff: chrome/utility/extensions/extensions_handler.cc

Issue 2663603002: Convert utility process ImageWriter IPC to mojo (Closed)
Patch Set: Use https: in bug references, minor comment fixes. Created 3 years, 10 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: chrome/utility/extensions/extensions_handler.cc
diff --git a/chrome/utility/extensions/extensions_handler.cc b/chrome/utility/extensions/extensions_handler.cc
index c6e2a74baf0e5277a2483a9873c9bbd27ddf7aa9..cef009a686baf36881e5f54eedbb5d66c08d12b7 100644
--- a/chrome/utility/extensions/extensions_handler.cc
+++ b/chrome/utility/extensions/extensions_handler.cc
@@ -7,14 +7,17 @@
#include <utility>
#include "base/command_line.h"
+#include "base/files/file_path.h"
#include "base/path_service.h"
#include "build/build_config.h"
#include "chrome/common/chrome_utility_messages.h"
#include "chrome/common/extensions/chrome_extensions_client.h"
#include "chrome/common/extensions/chrome_utility_extensions_messages.h"
#include "chrome/common/extensions/media_parser.mojom.h"
+#include "chrome/common/extensions/removable_storage_writer.mojom.h"
#include "chrome/common/media_galleries/metadata_types.h"
#include "chrome/utility/chrome_content_utility_client.h"
+#include "chrome/utility/image_writer/image_writer_handler.h"
#include "chrome/utility/media_galleries/ipc_data_source.h"
#include "chrome/utility/media_galleries/media_metadata_parser.h"
#include "content/public/common/content_paths.h"
@@ -103,6 +106,37 @@ class MediaParserImpl : public extensions::mojom::MediaParser {
DISALLOW_COPY_AND_ASSIGN(MediaParserImpl);
};
+class RemovableStorageWriterImpl
+ : public extensions::mojom::RemovableStorageWriter {
+ public:
+ RemovableStorageWriterImpl() = default;
+ ~RemovableStorageWriterImpl() override = default;
+
+ static void Create(extensions::mojom::RemovableStorageWriterRequest request) {
+ mojo::MakeStrongBinding(base::MakeUnique<RemovableStorageWriterImpl>(),
+ std::move(request));
+ }
+
+ private:
+ void Write(
+ const base::FilePath& source,
+ const base::FilePath& target,
+ extensions::mojom::RemovableStorageWriterClientPtr client) override {
+ writer_.Write(source, target, std::move(client));
+ }
+
+ void Verify(
+ const base::FilePath& source,
+ const base::FilePath& target,
+ extensions::mojom::RemovableStorageWriterClientPtr client) override {
+ writer_.Verify(source, target, std::move(client));
+ }
+
+ image_writer::ImageWriterHandler writer_;
+
+ DISALLOW_COPY_AND_ASSIGN(RemovableStorageWriterImpl);
+};
+
#if defined(OS_WIN)
class WiFiCredentialsGetterImpl
: public extensions::mojom::WiFiCredentialsGetter {
@@ -169,12 +203,16 @@ void ExtensionsHandler::ExposeInterfacesToBrowser(
// services to the interface registry.
if (running_elevated) {
#if defined(OS_WIN)
+ registry->AddInterface(base::Bind(&RemovableStorageWriterImpl::Create));
registry->AddInterface(base::Bind(&WiFiCredentialsGetterImpl::Create));
#endif
return;
}
registry->AddInterface(base::Bind(&MediaParserImpl::Create, utility_client));
+#if !defined(OS_WIN)
+ registry->AddInterface(base::Bind(&RemovableStorageWriterImpl::Create));
+#endif
}
bool ExtensionsHandler::OnMessageReceived(const IPC::Message& message) {
« no previous file with comments | « chrome/utility/chrome_content_utility_ipc_whitelist.cc ('k') | chrome/utility/image_writer/image_writer_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698