Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "chrome/utility/extensions/extensions_handler.h" | 5 #include "chrome/utility/extensions/extensions_handler.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| 11 #include "base/path_service.h" | 11 #include "base/path_service.h" |
| 12 #include "build/build_config.h" | 12 #include "build/build_config.h" |
| 13 #include "chrome/common/chrome_utility_messages.h" | 13 #include "chrome/common/chrome_utility_messages.h" |
| 14 #include "chrome/common/extensions/chrome_extensions_client.h" | 14 #include "chrome/common/extensions/chrome_extensions_client.h" |
| 15 #include "chrome/common/extensions/chrome_utility_extensions_messages.h" | 15 #include "chrome/common/extensions/chrome_utility_extensions_messages.h" |
| 16 #include "chrome/common/extensions/dial_device_description_parser.mojom.h" | |
| 16 #include "chrome/common/extensions/media_parser.mojom.h" | 17 #include "chrome/common/extensions/media_parser.mojom.h" |
| 17 #include "chrome/common/extensions/removable_storage_writer.mojom.h" | 18 #include "chrome/common/extensions/removable_storage_writer.mojom.h" |
| 18 #include "chrome/common/media_galleries/metadata_types.h" | 19 #include "chrome/common/media_galleries/metadata_types.h" |
| 19 #include "chrome/utility/chrome_content_utility_client.h" | 20 #include "chrome/utility/chrome_content_utility_client.h" |
| 20 #include "chrome/utility/image_writer/image_writer_handler.h" | 21 #include "chrome/utility/image_writer/image_writer_handler.h" |
| 21 #include "chrome/utility/media_galleries/ipc_data_source.h" | 22 #include "chrome/utility/media_galleries/ipc_data_source.h" |
| 22 #include "chrome/utility/media_galleries/media_metadata_parser.h" | 23 #include "chrome/utility/media_galleries/media_metadata_parser.h" |
| 24 #include "chrome/utility/media_router/dial_device_description_parser.h" | |
| 23 #include "content/public/common/content_paths.h" | 25 #include "content/public/common/content_paths.h" |
| 24 #include "content/public/utility/utility_thread.h" | 26 #include "content/public/utility/utility_thread.h" |
| 25 #include "extensions/common/extension.h" | 27 #include "extensions/common/extension.h" |
| 26 #include "extensions/common/extension_utility_messages.h" | 28 #include "extensions/common/extension_utility_messages.h" |
| 27 #include "extensions/utility/unpacker.h" | 29 #include "extensions/utility/unpacker.h" |
| 28 #include "media/base/media.h" | 30 #include "media/base/media.h" |
| 29 #include "mojo/public/cpp/bindings/strong_binding.h" | 31 #include "mojo/public/cpp/bindings/strong_binding.h" |
| 30 #include "services/service_manager/public/cpp/interface_registry.h" | 32 #include "services/service_manager/public/cpp/interface_registry.h" |
| 31 #include "ui/base/ui_base_switches.h" | 33 #include "ui/base/ui_base_switches.h" |
| 32 | 34 |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 161 if (!success) | 163 if (!success) |
| 162 key_data.clear(); | 164 key_data.clear(); |
| 163 | 165 |
| 164 callback.Run(success, key_data); | 166 callback.Run(success, key_data); |
| 165 } | 167 } |
| 166 | 168 |
| 167 DISALLOW_COPY_AND_ASSIGN(WiFiCredentialsGetterImpl); | 169 DISALLOW_COPY_AND_ASSIGN(WiFiCredentialsGetterImpl); |
| 168 }; | 170 }; |
| 169 #endif // defined(OS_WIN) | 171 #endif // defined(OS_WIN) |
| 170 | 172 |
| 173 #if defined(ENABLE_MEDIA_ROUTER) | |
| 174 class DialDeviceDescriptionParserImpl | |
| 175 : public extensions::mojom::DialDeviceDescriptionParser { | |
| 176 public: | |
| 177 DialDeviceDescriptionParserImpl() = default; | |
| 178 ~DialDeviceDescriptionParserImpl() override = default; | |
| 179 | |
| 180 static void Create( | |
| 181 extensions::mojom::DialDeviceDescriptionParserRequest request) { | |
| 182 mojo::MakeStrongBinding(base::MakeUnique<DialDeviceDescriptionParserImpl>(), | |
| 183 std::move(request)); | |
| 184 } | |
| 185 | |
| 186 private: | |
| 187 // extensions::mojom::DialDeviceDescriptionParser: | |
| 188 void ParseDialDeviceDescription( | |
| 189 const std::string& device_description_xml_data, | |
| 190 const ParseDialDeviceDescriptionCallback& callback) override { | |
| 191 DCHECK(!callback.is_null()); | |
| 192 | |
| 193 media_router::DialDeviceDescriptionParser parser; | |
| 194 bool result = parser.Parse(device_description_xml_data); | |
| 195 std::string logging_xml = | |
| 196 parser.ScrubXmlForLogging(device_description_xml_data); | |
| 197 | |
| 198 callback.Run(result, parser.device_description(), logging_xml); | |
| 199 } | |
| 200 | |
| 201 DISALLOW_COPY_AND_ASSIGN(DialDeviceDescriptionParserImpl); | |
| 202 }; | |
| 203 #endif // defined(ENABLE_MEDIA_ROUTER) | |
| 171 } // namespace | 204 } // namespace |
| 172 | 205 |
| 173 namespace extensions { | 206 namespace extensions { |
| 174 | 207 |
| 175 ExtensionsHandler::ExtensionsHandler() { | 208 ExtensionsHandler::ExtensionsHandler() { |
| 176 ExtensionsClient::Set(ChromeExtensionsClient::GetInstance()); | 209 ExtensionsClient::Set(ChromeExtensionsClient::GetInstance()); |
| 177 } | 210 } |
| 178 | 211 |
| 179 ExtensionsHandler::~ExtensionsHandler() { | 212 ExtensionsHandler::~ExtensionsHandler() { |
| 180 } | 213 } |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 196 registry->AddInterface(base::Bind(&RemovableStorageWriterImpl::Create)); | 229 registry->AddInterface(base::Bind(&RemovableStorageWriterImpl::Create)); |
| 197 registry->AddInterface(base::Bind(&WiFiCredentialsGetterImpl::Create)); | 230 registry->AddInterface(base::Bind(&WiFiCredentialsGetterImpl::Create)); |
| 198 #endif | 231 #endif |
| 199 return; | 232 return; |
| 200 } | 233 } |
| 201 | 234 |
| 202 registry->AddInterface(base::Bind(&MediaParserImpl::Create)); | 235 registry->AddInterface(base::Bind(&MediaParserImpl::Create)); |
| 203 #if !defined(OS_WIN) | 236 #if !defined(OS_WIN) |
| 204 registry->AddInterface(base::Bind(&RemovableStorageWriterImpl::Create)); | 237 registry->AddInterface(base::Bind(&RemovableStorageWriterImpl::Create)); |
| 205 #endif | 238 #endif |
| 239 #if defined(ENABLE_MEDIA_ROUTER) | |
| 240 registry->AddInterface(base::Bind(&DialDeviceDescriptionParserImpl::Create)); | |
|
mark a. foltz
2017/03/17 19:05:47
It isn't clear that this needs to be created from
zhaobin
2017/03/18 00:17:39
Done.
| |
| 241 #endif // defined(ENABLE_MEDIA_ROUTER) | |
| 206 } | 242 } |
| 207 | 243 |
| 208 bool ExtensionsHandler::OnMessageReceived(const IPC::Message& message) { | 244 bool ExtensionsHandler::OnMessageReceived(const IPC::Message& message) { |
| 209 bool handled = true; | 245 bool handled = true; |
| 210 IPC_BEGIN_MESSAGE_MAP(ExtensionsHandler, message) | 246 IPC_BEGIN_MESSAGE_MAP(ExtensionsHandler, message) |
| 211 #if defined(OS_WIN) | 247 #if defined(OS_WIN) |
| 212 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_ParseITunesPrefXml, | 248 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_ParseITunesPrefXml, |
| 213 OnParseITunesPrefXml) | 249 OnParseITunesPrefXml) |
| 214 #endif // defined(OS_WIN) | 250 #endif // defined(OS_WIN) |
| 215 | 251 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 282 picasa::PicasaAlbumsIndexer indexer(album_uids); | 318 picasa::PicasaAlbumsIndexer indexer(album_uids); |
| 283 indexer.ParseFolderINI(folders_inis); | 319 indexer.ParseFolderINI(folders_inis); |
| 284 content::UtilityThread::Get()->Send( | 320 content::UtilityThread::Get()->Send( |
| 285 new ChromeUtilityHostMsg_IndexPicasaAlbumsContents_Finished( | 321 new ChromeUtilityHostMsg_IndexPicasaAlbumsContents_Finished( |
| 286 indexer.albums_images())); | 322 indexer.albums_images())); |
| 287 content::UtilityThread::Get()->ReleaseProcessIfNeeded(); | 323 content::UtilityThread::Get()->ReleaseProcessIfNeeded(); |
| 288 } | 324 } |
| 289 #endif // defined(OS_WIN) || defined(OS_MACOSX) | 325 #endif // defined(OS_WIN) || defined(OS_MACOSX) |
| 290 | 326 |
| 291 } // namespace extensions | 327 } // namespace extensions |
| OLD | NEW |