Chromium Code Reviews| Index: chrome/browser/media/router/discovery/dial/safe_dial_device_description_parser.cc |
| diff --git a/chrome/browser/media/router/discovery/dial/safe_dial_device_description_parser.cc b/chrome/browser/media/router/discovery/dial/safe_dial_device_description_parser.cc |
| index bb2cccce1de02a5df207238e1a23702a2b3c0a02..3953b183484a789b652f7b1d90198216a4e94b62 100644 |
| --- a/chrome/browser/media/router/discovery/dial/safe_dial_device_description_parser.cc |
| +++ b/chrome/browser/media/router/discovery/dial/safe_dial_device_description_parser.cc |
| @@ -6,6 +6,8 @@ |
| #include <utility> |
| +#include "base/bind.h" |
| +#include "base/callback_helpers.h" |
| #include "chrome/grit/generated_resources.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "ui/base/l10n/l10n_util.h" |
| @@ -18,11 +20,12 @@ SafeDialDeviceDescriptionParser::~SafeDialDeviceDescriptionParser() {} |
| void SafeDialDeviceDescriptionParser::Start( |
| const std::string& xml_text, |
| - const DeviceDescriptionCallback& callback) { |
| + DeviceDescriptionCallback callback) { |
|
mark a. foltz
2017/05/09 22:28:44
Can this just be a base::RepeatingCallback instead
tzik
2017/05/11 09:00:30
So, the callback is not from Mojo-generated code?
zhaobin
2017/05/11 17:38:57
The callback is from mojo-generated code.
using
tzik
2017/05/15 06:28:15
Right, the callback type was from Mojo. But, as th
|
| DVLOG(2) << "Start parsing device description..."; |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| DCHECK(callback); |
| + auto copyable_callback = base::AdaptCallbackForRepeating(std::move(callback)); |
| if (!utility_process_mojo_client_) { |
| DVLOG(2) << "Start utility process in background..."; |
| @@ -33,7 +36,7 @@ void SafeDialDeviceDescriptionParser::Start( |
| IDS_UTILITY_PROCESS_DIAL_DEVICE_DESCRIPTION_PARSER_NAME)); |
| utility_process_mojo_client_->set_error_callback( |
| - base::Bind(callback, nullptr)); |
| + base::Bind(copyable_callback, nullptr)); |
| // This starts utility process in the background. |
| utility_process_mojo_client_->Start(); |
| @@ -41,8 +44,8 @@ void SafeDialDeviceDescriptionParser::Start( |
| // This call is queued up until the Mojo message pipe has been established to |
| // the service running in the utility process. |
| - utility_process_mojo_client_->service()->ParseDialDeviceDescription(xml_text, |
| - callback); |
| + utility_process_mojo_client_->service()->ParseDialDeviceDescription( |
| + xml_text, copyable_callback); |
| } |
| } // namespace media_router |