Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6412)

Unified Diff: chrome/browser/extensions/api/networking_private/networking_private_process_client.cc

Issue 34013002: Address codereview comments for http://crrev.com/22295002 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/networking_private/networking_private_process_client.cc
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_process_client.cc b/chrome/browser/extensions/api/networking_private/networking_private_process_client.cc
index 6f2c552c607c419286c40f3b7236c84522ccce6a..d807030c9e190fd0f844c8909aa36640e592e7f5 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_process_client.cc
+++ b/chrome/browser/extensions/api/networking_private/networking_private_process_client.cc
@@ -125,8 +125,10 @@ void NetworkingPrivateProcessClient::RemoveObserver(Observer* observer) {
}
void NetworkingPrivateProcessClient::ShutdownIfDone() {
- if (!network_events_observers_.might_have_observers()
- && callbacks_map_.IsEmpty()) {
+ if (!network_events_observers_.might_have_observers() &&
+ callbacks_map_.IsEmpty()) {
+ // Keep reference to |this| before posting task.
+ scoped_refptr<NetworkingPrivateProcessClient> ref_this_client(this);
// Remove current process client from profile, so new API calls would launch
// new process.
profile_->RemoveUserData(kNetworkingPrivateProcessClient);
@@ -175,6 +177,7 @@ void NetworkingPrivateProcessClient::OnProcessCrashed(int exit_code) {
}
}
callbacks_map_.Clear();
+ utility_process_host_.reset();
// restart the utility process.
Start();
@@ -320,20 +323,20 @@ void NetworkingPrivateProcessClient::VerifyAndEncryptDataOnWorkerThread(
std::string encoded_data;
bool verified = crypto_verify_->VerifyAndEncryptData(
params->properties, params->data, &encoded_data);
- if (verified)
+ if (verified) {
BrowserThread::PostTask(BrowserThread::UI,
FROM_HERE,
base::Bind(callback, encoded_data));
- else
+ } else {
BrowserThread::PostTask(BrowserThread::UI,
FROM_HERE,
base::Bind(error_callback, "VerifyError", "Error"));
+ }
}
NetworkingPrivateProcessClient::MessageCallbacks*
NetworkingPrivateProcessClient::AddMessageCallbacks() {
MessageCallbacks* message_callbacks = new MessageCallbacks();
- message_callbacks->process_client = this;
message_callbacks->id = callbacks_map_.Add(message_callbacks);
return message_callbacks;
}
@@ -344,7 +347,7 @@ void NetworkingPrivateProcessClient::RemoveMessageCallbacks(
ShutdownIfDone();
}
-void NetworkingPrivateProcessClient::SetupForTest(
+void NetworkingPrivateProcessClient::SetUpForTest(
const base::DictionaryValue& parameters,
CryptoVerify* crypto_verify_mock) {
crypto_verify_.reset(crypto_verify_mock);
@@ -360,6 +363,10 @@ void NetworkingPrivateProcessClient::SetupForTest(
}
}
+void NetworkingPrivateProcessClient::TearDownForTest() {
+ callbacks_map_.Clear();
+ ShutdownIfDone();
+}
cbentzel 2013/10/22 00:56:26 Nit: needs extra newline
mef 2013/10/22 15:03:31 Done.
// Message handlers
void NetworkingPrivateProcessClient::OnApiError(
MessageCallbacksID message_id,

Powered by Google App Engine
This is Rietveld 408576698