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

Unified Diff: components/safe_json/safe_json_parser_impl.cc

Issue 2803023005: Switch base::Value typemapping to be by value instead of by unique_ptr.
Patch Set: Created 3 years, 8 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: 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,
« no previous file with comments | « components/safe_json/safe_json_parser_impl.h ('k') | components/safe_json/utility/safe_json_parser_mojo_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698