summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/rlz/rlz.cc1
-rw-r--r--chrome/browser/rlz/rlz.h3
-rw-r--r--rlz/lib/financial_ping.cc5
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);