| Index: components/safe_json/safe_json_parser_impl.cc
|
| diff --git a/components/safe_json/safe_json_parser_impl.cc b/components/safe_json/safe_json_parser_impl.cc
|
| index 8f0ea483ed9a37e35c318e9c453ca69d9e932d0c..7a988d3d6e93cb56eb968f37b9482507e7006ad2 100644
|
| --- a/components/safe_json/safe_json_parser_impl.cc
|
| +++ b/components/safe_json/safe_json_parser_impl.cc
|
| @@ -61,7 +61,7 @@ void SafeJsonParserImpl::OnConnectionError() {
|
| nullptr, "Connection error with the json parser process."));
|
| }
|
|
|
| -void SafeJsonParserImpl::OnParseDone(std::unique_ptr<base::Value> result,
|
| +void SafeJsonParserImpl::OnParseDone(const base::Optional<base::Value>& result,
|
| const base::Optional<std::string>& error) {
|
| DCHECK(io_thread_checker_.CalledOnValidThread());
|
|
|
| @@ -72,7 +72,8 @@ void SafeJsonParserImpl::OnParseDone(std::unique_ptr<base::Value> result,
|
| caller_task_runner_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&SafeJsonParserImpl::ReportResults, base::Unretained(this),
|
| - base::Passed(&result), error.value_or("")));
|
| + base::Passed(result ? result->CreateDeepCopy() : nullptr),
|
| + error.value_or("")));
|
| }
|
|
|
| void SafeJsonParserImpl::ReportResults(std::unique_ptr<base::Value> parsed_json,
|
|
|