Index: chrome/browser/resources/options/language_list.js |
=================================================================== |
--- chrome/browser/resources/options/language_list.js (revision 71884) |
+++ chrome/browser/resources/options/language_list.js (working copy) |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
@@ -92,8 +92,13 @@ |
window.addEventListener('resize', this.redraw.bind(this)); |
// Listen to pref change. |
- Preferences.getInstance().addEventListener(this.preferredLanguagesPref, |
- this.handlePreferredLanguagesPrefChange_.bind(this)); |
+ if (cr.isChromeOS) { |
+ Preferences.getInstance().addEventListener(this.preferredLanguagesPref, |
+ this.handlePreferredLanguagesPrefChange_.bind(this)); |
+ } else { |
+ Preferences.getInstance().addEventListener(this.acceptLanguagesPref, |
+ this.handleAcceptLanguagesPrefChange_.bind(this)); |
+ } |
// Listen to drag and drop events. |
this.addEventListener('dragstart', this.handleDragStart_.bind(this)); |
@@ -184,6 +189,10 @@ |
if (target instanceof ListItem) { |
this.draggedItem = target; |
e.dataTransfer.effectAllowed = 'move'; |
+ // We need to put some kind of data in the drag or it will be |
+ // ignored. Use the display name in case the user drags to a text |
+ // field or the desktop. |
+ e.dataTransfer.setData('text/plain', target.title); |
} |
}, |
@@ -256,6 +265,18 @@ |
}, |
/** |
+ * Handles accept languages pref change. |
+ * @param {Event} e The change event object. |
+ * @private |
+ */ |
+ handleAcceptLanguagesPrefChange_: function(e) { |
+ var languageCodesInCsv = e.value.value; |
+ var languageCodes = this.filterBadLanguageCodes_( |
+ languageCodesInCsv.split(',')); |
+ this.load_(languageCodes); |
+ }, |
+ |
+ /** |
* Loads given language list. |
* @param {Array} languageCodes List of language codes. |
* @private |
@@ -286,8 +307,9 @@ |
*/ |
savePreference_: function() { |
// Encode the language codes into a CSV string. |
- Preferences.setStringPref(this.preferredLanguagesPref, |
- this.dataModel.slice().join(',')); |
+ if (cr.isChromeOS) |
+ Preferences.setStringPref(this.preferredLanguagesPref, |
+ this.dataModel.slice().join(',')); |
// Save the same language list as accept languages preference as |
// well, but we need to expand the language list, to make it more |
// acceptable. For instance, some web sites don't understand 'en-US' |