diff options
-rw-r--r-- | chrome/browser/rlz/rlz.cc | 1 | ||||
-rw-r--r-- | chrome/browser/rlz/rlz.h | 3 | ||||
-rw-r--r-- | rlz/lib/financial_ping.cc | 5 |
3 files changed, 5 insertions, 4 deletions
diff --git a/chrome/browser/rlz/rlz.cc b/chrome/browser/rlz/rlz.cc index 12a820b..a249379 100644 --- a/chrome/browser/rlz/rlz.cc +++ b/chrome/browser/rlz/rlz.cc @@ -581,6 +581,7 @@ bool RLZTracker::ScheduleClearRlzState() { void RLZTracker::CleanupRlz() { GetInstance()->rlz_cache_.clear(); GetInstance()->registrar_.RemoveAll(); + rlz_lib::SetURLRequestContext(NULL); } // static diff --git a/chrome/browser/rlz/rlz.h b/chrome/browser/rlz/rlz.h index 23075e1..53484e1 100644 --- a/chrome/browser/rlz/rlz.h +++ b/chrome/browser/rlz/rlz.h @@ -201,9 +201,6 @@ class RLZTracker : public content::NotificationObserver { // sequentially in the blocking pool. base::SequencedWorkerPool::SequenceToken worker_pool_token_; - // URLRequestContextGetter used by RLZ library. - net::URLRequestContextGetter* url_request_context_; - // Keeps track if the RLZ tracker has already performed its delayed // initialization. bool already_ran_; diff --git a/rlz/lib/financial_ping.cc b/rlz/lib/financial_ping.cc index 5a70641..e6cbef3 100644 --- a/rlz/lib/financial_ping.cc +++ b/rlz/lib/financial_ping.cc @@ -265,6 +265,10 @@ bool FinancialPing::PingServer(const char* request, std::string* response) { return true; #else + // Browser shutdown will cause the context to be reset to NULL. + if (!g_context) + return false; + // Run a blocking event loop to match the win inet implementation. scoped_ptr<base::MessageLoop> message_loop; // Ensure that we have a MessageLoop. @@ -288,7 +292,6 @@ bool FinancialPing::PingServer(const char* request, std::string* response) { // Ensure rlz_lib::SetURLRequestContext() has been called before sending // pings. - CHECK(g_context); fetcher->SetRequestContext(g_context); const base::TimeDelta kTimeout = base::TimeDelta::FromMinutes(5); |