| Index: components/safe_json/safe_json_parser_impl.h
|
| diff --git a/components/safe_json/safe_json_parser.h b/components/safe_json/safe_json_parser_impl.h
|
| similarity index 58%
|
| copy from components/safe_json/safe_json_parser.h
|
| copy to components/safe_json/safe_json_parser_impl.h
|
| index 8fb703b3e9a619f630906418841a8c87bd6d395f..99af9320e2402be0ce39745c8884f403fd97e680 100644
|
| --- a/components/safe_json/safe_json_parser.h
|
| +++ b/components/safe_json/safe_json_parser_impl.h
|
| @@ -7,14 +7,14 @@
|
|
|
| #include <string>
|
|
|
| -#include "base/basictypes.h"
|
| -#include "base/callback.h"
|
| +#include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "components/safe_json/safe_json_parser.h"
|
| #include "content/public/browser/utility_process_host_client.h"
|
|
|
| namespace base {
|
| class ListValue;
|
| -class SingleThreadTaskRunner;
|
| +class SequencedTaskRunner;
|
| class Value;
|
| }
|
|
|
| @@ -24,22 +24,15 @@ class Message;
|
|
|
| namespace safe_json {
|
|
|
| -// SafeJsonParser parses a given JSON safely via a utility process. The object
|
| -// is ref-counted and kept alive after Start() is called until one of the two
|
| -// callbacks is called.
|
| -class SafeJsonParser : public content::UtilityProcessHostClient {
|
| +class SafeJsonParserImpl : public content::UtilityProcessHostClient,
|
| + public SafeJsonParser {
|
| public:
|
| - typedef base::Callback<void(scoped_ptr<base::Value>)> SuccessCallback;
|
| - typedef base::Callback<void(const std::string&)> ErrorCallback;
|
| -
|
| - SafeJsonParser(const std::string& unsafe_json,
|
| - const SuccessCallback& success_callback,
|
| - const ErrorCallback& error_callback);
|
| -
|
| - void Start();
|
| + SafeJsonParserImpl(const std::string& unsafe_json,
|
| + const SuccessCallback& success_callback,
|
| + const ErrorCallback& error_callback);
|
|
|
| private:
|
| - ~SafeJsonParser() override;
|
| + ~SafeJsonParserImpl() override;
|
|
|
| void StartWorkOnIOThread();
|
|
|
| @@ -52,15 +45,18 @@ class SafeJsonParser : public content::UtilityProcessHostClient {
|
| // Implementing pieces of the UtilityProcessHostClient interface.
|
| bool OnMessageReceived(const IPC::Message& message) override;
|
|
|
| + // SafeJsonParser implementation.
|
| + void Start() override;
|
| +
|
| const std::string unsafe_json_;
|
| SuccessCallback success_callback_;
|
| ErrorCallback error_callback_;
|
| - scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner_;
|
| + scoped_refptr<base::SequencedTaskRunner> caller_task_runner_;
|
|
|
| scoped_ptr<base::Value> parsed_json_;
|
| std::string error_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(SafeJsonParser);
|
| + DISALLOW_COPY_AND_ASSIGN(SafeJsonParserImpl);
|
| };
|
|
|
| } // namespace safe_json
|
|
|