| Index: net/dns/host_resolver_impl.h
|
| diff --git a/net/dns/host_resolver_impl.h b/net/dns/host_resolver_impl.h
|
| index 68afccc6bf59f00f5964022ae41d93f8b4099ff8..54de1c8e4fa947fb67bdd4b6f695145a9d7b85de 100644
|
| --- a/net/dns/host_resolver_impl.h
|
| +++ b/net/dns/host_resolver_impl.h
|
| @@ -16,6 +16,7 @@
|
| #include "base/strings/string_piece.h"
|
| #include "base/threading/non_thread_safe.h"
|
| #include "base/time/time.h"
|
| +#include "base/timer/timer.h"
|
| #include "net/base/net_export.h"
|
| #include "net/base/network_change_notifier.h"
|
| #include "net/dns/host_cache.h"
|
| @@ -153,6 +154,10 @@ class NET_EXPORT HostResolverImpl
|
| HostCache::EntryStaleness* stale_info,
|
| const BoundNetLog& source_net_log);
|
|
|
| + void InitializePersistence(
|
| + const PersistCallback& persist_callback,
|
| + std::unique_ptr<const base::Value> old_data) override;
|
| +
|
| void set_proc_params_for_test(const ProcTaskParams& proc_params) {
|
| proc_params_ = proc_params;
|
| }
|
| @@ -294,6 +299,12 @@ class NET_EXPORT HostResolverImpl
|
| // and resulted in |net_error|.
|
| void OnDnsTaskResolve(int net_error);
|
|
|
| + void SchedulePersist();
|
| + void DoPersist();
|
| +
|
| + void ApplyPersistentData(std::unique_ptr<const base::Value>);
|
| + std::unique_ptr<const base::Value> GetPersistentData();
|
| +
|
| // Allows the tests to catch slots leaking out of the dispatcher. One
|
| // HostResolverImpl::Job could occupy multiple PrioritizedDispatcher job
|
| // slots.
|
| @@ -350,6 +361,10 @@ class NET_EXPORT HostResolverImpl
|
| // tasks, but can be overridden for tests.
|
| scoped_refptr<base::TaskRunner> worker_task_runner_;
|
|
|
| + bool persist_initialized_;
|
| + PersistCallback persist_callback_;
|
| + base::OneShotTimer persist_timer_;
|
| +
|
| base::WeakPtrFactory<HostResolverImpl> weak_ptr_factory_;
|
|
|
| base::WeakPtrFactory<HostResolverImpl> probe_weak_ptr_factory_;
|
|
|