Index: chrome/browser/ui/webui/nacl_ui.cc |
diff --git a/chrome/browser/ui/webui/nacl_ui.cc b/chrome/browser/ui/webui/nacl_ui.cc |
index 62be1041f18d2f12a961f765ee144eee4eef4908..856557bca87c32769e2f1216b8edd65099e26800 100644 |
--- a/chrome/browser/ui/webui/nacl_ui.cc |
+++ b/chrome/browser/ui/webui/nacl_ui.cc |
@@ -88,7 +88,7 @@ class NaClDomHandler : public WebUIMessageHandler { |
// A helper callback that receives the result of checking if PNaCl path |
// exists and checking the PNaCl |version|. |is_valid| is true if the PNaCl |
// path that was returned by PathService is valid, and false otherwise. |
- void DidCheckPathAndVersion(bool* is_valid, std::string* version); |
+ void DidCheckPathAndVersion(const std::string* version, bool is_valid); |
// Called when enough information is gathered to return data back to the page. |
void MaybeRespondToPage(); |
@@ -318,17 +318,17 @@ void NaClDomHandler::PopulatePageInformation(DictionaryValue* naclInfo) { |
naclInfo->Set("naclInfo", list.release()); |
} |
-void NaClDomHandler::DidCheckPathAndVersion(bool* is_valid, |
- std::string* version) { |
+void NaClDomHandler::DidCheckPathAndVersion(const std::string* version, |
+ bool is_valid) { |
pnacl_path_validated_ = true; |
- pnacl_path_exists_ = *is_valid; |
+ pnacl_path_exists_ = is_valid; |
pnacl_version_string_ = *version; |
MaybeRespondToPage(); |
} |
void CheckVersion(const base::FilePath& pnacl_path, std::string* version) { |
base::FilePath pnacl_json_path = |
- pnacl_path.Append(FILE_PATH_LITERAL("pnacl_public_pnacl_json")); |
+ pnacl_path.AppendASCII("pnacl_public_pnacl_json"); |
JSONFileValueSerializer serializer(pnacl_json_path); |
std::string error; |
scoped_ptr<base::Value> root(serializer.Deserialize(NULL, &error)); |
@@ -337,16 +337,18 @@ void CheckVersion(const base::FilePath& pnacl_path, std::string* version) { |
// Now try to get the field. This may leave version empty if the |
// the "get" fails (no key, or wrong type). |
- static_cast<base::DictionaryValue*>(root.get())-> |
- GetStringASCII("pnacl-version", version); |
+ static_cast<base::DictionaryValue*>(root.get())->GetStringASCII( |
+ "pnacl-version", version); |
} |
-void CheckPathAndVersion(bool* is_valid, std::string* version) { |
+bool CheckPathAndVersion(std::string* version) { |
base::FilePath pnacl_path; |
bool got_path = PathService::Get(chrome::DIR_PNACL_COMPONENT, &pnacl_path); |
- *is_valid = got_path && !pnacl_path.empty() && base::PathExists(pnacl_path); |
- if (*is_valid) |
+ if (got_path && !pnacl_path.empty() && base::PathExists(pnacl_path)) { |
CheckVersion(pnacl_path, version); |
+ return true; |
+ } |
+ return false; |
} |
void NaClDomHandler::MaybeRespondToPage() { |
@@ -356,14 +358,13 @@ void NaClDomHandler::MaybeRespondToPage() { |
return; |
if (!pnacl_path_validated_) { |
- bool* is_valid = new bool; |
std::string* version_string = new std::string; |
- BrowserThread::PostBlockingPoolTaskAndReply( |
+ base::PostTaskAndReplyWithResult( |
+ BrowserThread::GetBlockingPool(), |
FROM_HERE, |
- base::Bind(&CheckPathAndVersion, is_valid, version_string), |
+ base::Bind(&CheckPathAndVersion, version_string), |
base::Bind(&NaClDomHandler::DidCheckPathAndVersion, |
weak_ptr_factory_.GetWeakPtr(), |
- base::Owned(is_valid), |
base::Owned(version_string))); |
return; |
} |