From 38d8bc158c0346800a21c090aab9fe85ae7b2681 Mon Sep 17 00:00:00 2001 From: yan Date: Fri, 16 Jun 2017 21:40:36 -0700 Subject: [PATCH] Make task_tracker an instance var on atom_api_session Fix brave/browser-laptop#9351 --- atom/browser/api/atom_api_session.cc | 3 +-- atom/browser/api/atom_api_session.h | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/atom/browser/api/atom_api_session.cc b/atom/browser/api/atom_api_session.cc index 6f8db6a75c..f02266ceeb 100644 --- a/atom/browser/api/atom_api_session.cc +++ b/atom/browser/api/atom_api_session.cc @@ -426,12 +426,11 @@ void Session::ClearHistory(mate::Arguments* args) { Profile::FromBrowserContext(browser_context()), ServiceAccessType::EXPLICIT_ACCESS); - base::CancelableTaskTracker task_tracker; history_service->ExpireHistoryBetween(std::set(), base::Time(), base::Time::Max(), callback, - &task_tracker); + &task_tracker_); } void Session::FlushStorageData() { diff --git a/atom/browser/api/atom_api_session.h b/atom/browser/api/atom_api_session.h index d130bce40c..8bb260b12c 100644 --- a/atom/browser/api/atom_api_session.h +++ b/atom/browser/api/atom_api_session.h @@ -8,6 +8,7 @@ #include #include "atom/browser/api/trackable_object.h" +#include "base/task/cancelable_task_tracker.h" #include "base/values.h" #include "content/public/browser/download_manager.h" #include "native_mate/handle.h" @@ -107,6 +108,9 @@ class Session: public mate::TrackableObject, // The X-DevTools-Emulate-Network-Conditions-Client-Id. std::string devtools_network_emulation_client_id_; + // The task tracker for the HistoryService callbacks. + base::CancelableTaskTracker task_tracker_; + AtomBrowserContext* browser_context_; DISALLOW_COPY_AND_ASSIGN(Session);