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

Side by Side Diff: extensions/utility/utility_handler.cc

Issue 2851173004: Eliminate bind callback that doesn't take a BindSourceInfo parameter. (Closed)
Patch Set: . Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/utility/utility_handler.h" 5 #include "extensions/utility/utility_handler.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "content/public/utility/utility_thread.h" 9 #include "content/public/utility/utility_thread.h"
10 #include "extensions/common/constants.h" 10 #include "extensions/common/constants.h"
11 #include "extensions/common/extension_l10n_util.h" 11 #include "extensions/common/extension_l10n_util.h"
12 #include "extensions/common/extension_unpacker.mojom.h" 12 #include "extensions/common/extension_unpacker.mojom.h"
13 #include "extensions/common/extensions_client.h" 13 #include "extensions/common/extensions_client.h"
14 #include "extensions/common/manifest.h" 14 #include "extensions/common/manifest.h"
15 #include "extensions/common/manifest_parser.mojom.h" 15 #include "extensions/common/manifest_parser.mojom.h"
16 #include "extensions/common/update_manifest.h" 16 #include "extensions/common/update_manifest.h"
17 #include "extensions/strings/grit/extensions_strings.h" 17 #include "extensions/strings/grit/extensions_strings.h"
18 #include "extensions/utility/unpacker.h" 18 #include "extensions/utility/unpacker.h"
19 #include "mojo/public/cpp/bindings/strong_binding.h" 19 #include "mojo/public/cpp/bindings/strong_binding.h"
20 #include "services/service_manager/public/cpp/bind_source_info.h"
20 #include "services/service_manager/public/cpp/binder_registry.h" 21 #include "services/service_manager/public/cpp/binder_registry.h"
21 #include "third_party/zlib/google/zip.h" 22 #include "third_party/zlib/google/zip.h"
22 #include "ui/base/l10n/l10n_util.h" 23 #include "ui/base/l10n/l10n_util.h"
23 #include "ui/base/ui_base_switches.h" 24 #include "ui/base/ui_base_switches.h"
24 25
25 namespace extensions { 26 namespace extensions {
26 27
27 namespace { 28 namespace {
28 29
29 class ExtensionUnpackerImpl : public extensions::mojom::ExtensionUnpacker { 30 class ExtensionUnpackerImpl : public extensions::mojom::ExtensionUnpacker {
30 public: 31 public:
31 ExtensionUnpackerImpl() = default; 32 ExtensionUnpackerImpl() = default;
32 ~ExtensionUnpackerImpl() override = default; 33 ~ExtensionUnpackerImpl() override = default;
33 34
34 static void Create(extensions::mojom::ExtensionUnpackerRequest request) { 35 static void Create(const service_manager::BindSourceInfo& source_info,
36 extensions::mojom::ExtensionUnpackerRequest request) {
35 mojo::MakeStrongBinding(base::MakeUnique<ExtensionUnpackerImpl>(), 37 mojo::MakeStrongBinding(base::MakeUnique<ExtensionUnpackerImpl>(),
36 std::move(request)); 38 std::move(request));
37 } 39 }
38 40
39 private: 41 private:
40 // extensions::mojom::ExtensionUnpacker: 42 // extensions::mojom::ExtensionUnpacker:
41 void Unzip(const base::FilePath& file, 43 void Unzip(const base::FilePath& file,
42 const base::FilePath& path, 44 const base::FilePath& path,
43 const UnzipCallback& callback) override { 45 const UnzipCallback& callback) override {
44 std::unique_ptr<base::DictionaryValue> manifest; 46 std::unique_ptr<base::DictionaryValue> manifest;
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 } 99 }
98 100
99 DISALLOW_COPY_AND_ASSIGN(ExtensionUnpackerImpl); 101 DISALLOW_COPY_AND_ASSIGN(ExtensionUnpackerImpl);
100 }; 102 };
101 103
102 class ManifestParserImpl : public extensions::mojom::ManifestParser { 104 class ManifestParserImpl : public extensions::mojom::ManifestParser {
103 public: 105 public:
104 ManifestParserImpl() = default; 106 ManifestParserImpl() = default;
105 ~ManifestParserImpl() override = default; 107 ~ManifestParserImpl() override = default;
106 108
107 static void Create(extensions::mojom::ManifestParserRequest request) { 109 static void Create(const service_manager::BindSourceInfo& source_info,
110 extensions::mojom::ManifestParserRequest request) {
108 mojo::MakeStrongBinding(base::MakeUnique<ManifestParserImpl>(), 111 mojo::MakeStrongBinding(base::MakeUnique<ManifestParserImpl>(),
109 std::move(request)); 112 std::move(request));
110 } 113 }
111 114
112 private: 115 private:
113 void Parse(const std::string& xml, const ParseCallback& callback) override { 116 void Parse(const std::string& xml, const ParseCallback& callback) override {
114 UpdateManifest manifest; 117 UpdateManifest manifest;
115 if (manifest.Parse(xml)) { 118 if (manifest.Parse(xml)) {
116 callback.Run(manifest.results()); 119 callback.Run(manifest.results());
117 } else { 120 } else {
(...skipping 25 matching lines...) Expand all
143 146
144 registry->AddInterface(base::Bind(&ExtensionUnpackerImpl::Create), 147 registry->AddInterface(base::Bind(&ExtensionUnpackerImpl::Create),
145 base::ThreadTaskRunnerHandle::Get()); 148 base::ThreadTaskRunnerHandle::Get());
146 registry->AddInterface(base::Bind(&ManifestParserImpl::Create), 149 registry->AddInterface(base::Bind(&ManifestParserImpl::Create),
147 base::ThreadTaskRunnerHandle::Get()); 150 base::ThreadTaskRunnerHandle::Get());
148 } 151 }
149 152
150 } // namespace utility_handler 153 } // namespace utility_handler
151 154
152 } // namespace extensions 155 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/renderer/extensions_render_frame_observer.cc ('k') | services/data_decoder/data_decoder_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698