Index: chrome/browser/resources/print_preview/settings/media_size_settings.js |
diff --git a/chrome/browser/resources/print_preview/settings/media_size_settings.js b/chrome/browser/resources/print_preview/settings/media_size_settings.js |
index 445125305f11e352dda942a032c2a5d6ff96cb44..ba21cee663da0c4119c0c62e86a900ebdbcd6878 100644 |
--- a/chrome/browser/resources/print_preview/settings/media_size_settings.js |
+++ b/chrome/browser/resources/print_preview/settings/media_size_settings.js |
@@ -70,7 +70,26 @@ cr.define('print_preview', function() { |
// TODO: Better heuristics for the display name and options grouping. |
this.ticketItem_.capability.option.forEach(function(option, index) { |
var selectOption = document.createElement('option'); |
- selectOption.text = option.custom_display_name || option.name; |
+ var displayName = option.custom_display_name; |
+ if (!displayName && option.custom_display_name_localized) { |
+ var getLocaleToCompare = function(locale, languageOnly) { |
Vitaly Buka (NO REVIEWS)
2014/08/07 23:05:52
why not to put this function inside the next one?
Aleksey Shlyapnikov
2014/08/08 00:25:49
Less nesting, easier to read.
|
+ var code = languageOnly ? locale.split('-')[0] : locale; |
+ return code.toLowerCase(); |
+ }; |
+ var getItemForLocale = function(items, locale, languageOnly) { |
+ locale = getLocaleToCompare(locale, languageOnly); |
+ for (var i = 0; i < items.length; i++) { |
+ if (getLocaleToCompare(items[i].locale) == locale) |
Vitaly Buka (NO REVIEWS)
2014/08/07 23:05:53
forEach
Aleksey Shlyapnikov
2014/08/08 00:25:49
Nope, it won't work here. I need to stop and retur
|
+ return items[i].value; |
+ } |
+ return ''; |
+ }; |
+ var items = option.custom_display_name_localized; |
+ displayName = |
+ getItemForLocale(items, navigator.language, false) || |
+ getItemForLocale(items, navigator.language, true); |
+ } |
+ selectOption.text = displayName || option.name; |
selectOption.value = JSON.stringify(option); |
select.add(selectOption); |
if (option.is_default) { |