| Index: chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc
|
| diff --git a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc
|
| index 71fb1ef7dfe2ae838d5faef92671ee498e46b423..09c86479c6f859cc264f0eef6e7d22e409c7384b 100644
|
| --- a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc
|
| +++ b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc
|
| @@ -159,7 +159,6 @@ const char kTagConnecting[] = "connecting";
|
| const char kTagConnectionState[] = "connectionState";
|
| const char kTagControlledBy[] = "controlledBy";
|
| const char kTagDataRemaining[] = "dataRemaining";
|
| -const char kTagDefault[] = "default";
|
| const char kTagDeviceConnected[] = "deviceConnected";
|
| const char kTagDisconnect[] = "disconnect";
|
| const char kTagEncryption[] = "encryption";
|
| @@ -203,6 +202,7 @@ const char kTagPrlVersion[] = "prlVersion";
|
| const char kTagProvider_type[] = "provider_type";
|
| const char kTagProviderApnList[] = "providerApnList";
|
| const char kTagRecommended[] = "recommended";
|
| +const char kTagRecommendedValue[] = "recommendedValue";
|
| const char kTagRemembered[] = "remembered";
|
| const char kTagRememberedList[] = "rememberedList";
|
| const char kTagRestrictedPool[] = "restrictedPool";
|
| @@ -493,26 +493,25 @@ static bool CanAddNetworkType(int type) {
|
| type == chromeos::TYPE_CELLULAR;
|
| }
|
|
|
| -// Stores a dictionary under |key| in |settings| that is suitable to be sent
|
| -// to the webui that contains the actual value of a setting and whether it's
|
| -// controlled by policy. Takes ownership of |value|.
|
| +// Decorate pref value as CoreOptionsHandler::CreateValueForPref() does and
|
| +// store it under |key| in |settings|. Takes ownership of |value|.
|
| void SetValueDictionary(
|
| DictionaryValue* settings,
|
| const char* key,
|
| base::Value* value,
|
| const chromeos::NetworkPropertyUIData& ui_data) {
|
| - DictionaryValue* value_dict = new DictionaryValue();
|
| + DictionaryValue* dict = new DictionaryValue();
|
| // DictionaryValue::Set() takes ownership of |value|.
|
| - if (value)
|
| - value_dict->Set(kTagValue, value);
|
| - const base::Value* default_value = ui_data.default_value();
|
| - if (default_value)
|
| - value_dict->Set(kTagDefault, default_value->DeepCopy());
|
| + dict->Set(kTagValue, value);
|
| + const base::Value* recommended_value = ui_data.default_value();
|
| if (ui_data.managed())
|
| - value_dict->SetString(kTagControlledBy, kTagPolicy);
|
| - else if (ui_data.recommended())
|
| - value_dict->SetString(kTagControlledBy, kTagRecommended);
|
| - settings->Set(key, value_dict);
|
| + dict->SetString(kTagControlledBy, kTagPolicy);
|
| + else if (recommended_value && recommended_value->Equals(value))
|
| + dict->SetString(kTagControlledBy, kTagRecommended);
|
| +
|
| + if (recommended_value)
|
| + dict->Set(kTagRecommendedValue, recommended_value->DeepCopy());
|
| + settings->Set(key, dict);
|
| }
|
|
|
| // Fills |dictionary| with the configuration details of |vpn|. |onc| is required
|
|
|