Chromium Code Reviews| 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 ed94181ae17d4b25eb98211aa841d282a041c164..653a210e2130826b9f1f94eca6b2aff7f9641fed 100644 |
| --- a/chrome/browser/ui/webui/nacl_ui.cc |
| +++ b/chrome/browser/ui/webui/nacl_ui.cc |
| @@ -217,15 +217,6 @@ void AddLineBreak(ListValue* list) { |
| AddPair(list, ASCIIToUTF16(""), ASCIIToUTF16("")); |
| } |
| -// Check whether a commandline switch is turned on or off. |
| -void ListFlagStatus(ListValue* list, const std::string& flag_label, |
| - const std::string& flag_name) { |
| - if (CommandLine::ForCurrentProcess()->HasSwitch(flag_name)) |
| - AddPair(list, ASCIIToUTF16(flag_label), ASCIIToUTF16("On")); |
| - else |
| - AddPair(list, ASCIIToUTF16(flag_label), ASCIIToUTF16("Off")); |
| -} |
| - |
| void NaClDomHandler::HandleRequestNaClInfo(const ListValue* args) { |
| page_has_requested_data_ = true; |
| // Force re-validation of pnacl's path in the next call to |
| @@ -287,8 +278,10 @@ void NaClDomHandler::PopulatePageInformation(DictionaryValue* naclInfo) { |
| GURL(), "application/x-nacl", false, &info_array, NULL); |
| string16 nacl_version; |
| string16 nacl_key = ASCIIToUTF16("NaCl plugin"); |
| + bool plugin_enabled = true; |
|
James Hawkins
2013/07/24 18:27:22
This var being set in so many places is not very r
sehr
2013/07/24 22:30:52
The refactoring CL will address this issue.
|
| if (info_array.empty()) { |
| AddPair(list.get(), nacl_key, ASCIIToUTF16("Disabled")); |
| + plugin_enabled = false; |
| } else { |
| PluginPrefs* plugin_prefs = |
| PluginPrefs::GetForProfile(Profile::FromWebUI(web_ui())).get(); |
| @@ -297,8 +290,8 @@ void NaClDomHandler::PopulatePageInformation(DictionaryValue* naclInfo) { |
| nacl_version = info_array[0].version + ASCIIToUTF16(" ") + |
| info_array[0].path.LossyDisplayName(); |
| if (!plugin_prefs->IsPluginEnabled(info_array[0])) { |
| + plugin_enabled = false; |
| nacl_version += ASCIIToUTF16(" (Disabled in profile prefs)"); |
| - AddPair(list.get(), nacl_key, nacl_version); |
| } |
| AddPair(list.get(), nacl_key, nacl_version); |
| @@ -308,17 +301,27 @@ void NaClDomHandler::PopulatePageInformation(DictionaryValue* naclInfo) { |
| nacl_version = info_array[i].version + ASCIIToUTF16(" ") + |
| info_array[i].path.LossyDisplayName(); |
| nacl_version += ASCIIToUTF16(" (not used)"); |
| - if (!plugin_prefs->IsPluginEnabled(info_array[i])) |
| + if (!plugin_prefs->IsPluginEnabled(info_array[i])) { |
| nacl_version += ASCIIToUTF16(" (Disabled in profile prefs)"); |
| + } |
| AddPair(list.get(), nacl_key, nacl_version); |
| } |
| } |
| - // Check that commandline flags are enabled. |
| - ListFlagStatus(list.get(), "Flag '--enable-nacl'", switches::kEnableNaCl); |
| - |
| AddLineBreak(list.get()); |
| + // Display whether PNaCl is enabled. |
| + string16 pnacl_enabled_string = ASCIIToUTF16("Enabled"); |
| + if (!plugin_enabled) { |
| + pnacl_enabled_string = ASCIIToUTF16("Disabled in profile prefs"); |
| + } else if (CommandLine::ForCurrentProcess()->HasSwitch( |
| + switches::kDisablePnacl)) { |
| + pnacl_enabled_string = ASCIIToUTF16("Disabled by flag '--disable-pnacl'"); |
| + } |
| + AddPair(list.get(), |
| + ASCIIToUTF16("Portable Native Client (PNaCl)"), |
| + pnacl_enabled_string); |
| + |
| // Obtain the version of the PNaCl translator. |
| base::FilePath pnacl_path; |
| bool got_path = PathService::Get(chrome::DIR_PNACL_COMPONENT, &pnacl_path); |
| @@ -338,7 +341,19 @@ void NaClDomHandler::PopulatePageInformation(DictionaryValue* naclInfo) { |
| pnacl_path.DirName().DirName().BaseName().LossyDisplayName()); |
| } |
| - ListFlagStatus(list.get(), "Flag '--enable-pnacl'", switches::kEnablePnacl); |
| + AddLineBreak(list.get()); |
| + |
| + // Display whether NaCl is enabled. |
| + |
| + string16 nacl_enabled_string = ASCIIToUTF16("Disabled"); |
| + if (plugin_enabled && |
| + CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableNaCl)) { |
| + nacl_enabled_string = ASCIIToUTF16("Enabled by flag '--enable-nacl'"); |
| + } |
| + AddPair(list.get(), |
| + ASCIIToUTF16("Native Client (non-portable, outside web store)"), |
| + nacl_enabled_string); |
| + |
| // naclInfo will take ownership of list, and clean it up on destruction. |
| naclInfo->Set("naclInfo", list.release()); |
| } |