| OLD | NEW |
| 1 /* | 1 /* |
| 2 * This file is part of Adblock Plus <http://adblockplus.org/>, | 2 * This file is part of Adblock Plus <http://adblockplus.org/>, |
| 3 * Copyright (C) 2006-2013 Eyeo GmbH | 3 * Copyright (C) 2006-2013 Eyeo GmbH |
| 4 * | 4 * |
| 5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
| 6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
| 7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
| 8 * | 8 * |
| 9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 else | 481 else |
| 482 return [label, ""]; | 482 return [label, ""]; |
| 483 } | 483 } |
| 484 }, | 484 }, |
| 485 | 485 |
| 486 /** | 486 /** |
| 487 * Split all labels starting from a particular DOM node. | 487 * Split all labels starting from a particular DOM node. |
| 488 */ | 488 */ |
| 489 splitAllLabels: function(/**DOMNode*/ root) | 489 splitAllLabels: function(/**DOMNode*/ root) |
| 490 { | 490 { |
| 491 let elements = root.querySelectorAll("*[label], label[value]"); | 491 let attrMap = { |
| 492 __proto__: null, |
| 493 "label": "value", |
| 494 "setting": "title" |
| 495 }; |
| 496 |
| 497 let elements = root.querySelectorAll("*[label], label[value], setting[title]
"); |
| 492 for (let i = 0; i < elements.length; i++) | 498 for (let i = 0; i < elements.length; i++) |
| 493 { | 499 { |
| 494 let element = elements[i]; | 500 let element = elements[i]; |
| 495 let attr = (element.localName == "label" ? "value" : "label"); | 501 let attr = (element.localName in attrMap ? attrMap[element.localName] : "l
abel"); |
| 496 let [label, accesskey] = this.splitLabel(element.getAttribute(attr)); | 502 let origLabel = element.getAttribute(attr); |
| 497 element.setAttribute(attr, label); | 503 |
| 498 element.setAttribute("accesskey", accesskey); | 504 let [label, accesskey] = this.splitLabel(origLabel); |
| 505 if (label != origLabel) |
| 506 element.setAttribute(attr, label); |
| 507 if (accesskey != "") |
| 508 element.setAttribute("accesskey", accesskey); |
| 499 | 509 |
| 500 // Labels forward changes of the accessKey property to their control, only | 510 // Labels forward changes of the accessKey property to their control, only |
| 501 // set it for actual controls. | 511 // set it for actual controls. |
| 502 if (element.localName != "label") | 512 if (element.localName != "label") |
| 503 element.accessKey = accesskey; | 513 element.accessKey = accesskey; |
| 504 } | 514 } |
| 505 } | 515 } |
| 506 }; | 516 }; |
| 507 | 517 |
| 508 /** | 518 /** |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 753 Cu.reportError(e); | 763 Cu.reportError(e); |
| 754 // Expected, ctypes isn't supported in Gecko 1.9.2 | 764 // Expected, ctypes isn't supported in Gecko 1.9.2 |
| 755 return null; | 765 return null; |
| 756 } | 766 } |
| 757 }); | 767 }); |
| 758 | 768 |
| 759 if ("@mozilla.org/messenger/headerparser;1" in Cc) | 769 if ("@mozilla.org/messenger/headerparser;1" in Cc) |
| 760 XPCOMUtils.defineLazyServiceGetter(Utils, "headerParser", "@mozilla.org/messen
ger/headerparser;1", "nsIMsgHeaderParser"); | 770 XPCOMUtils.defineLazyServiceGetter(Utils, "headerParser", "@mozilla.org/messen
ger/headerparser;1", "nsIMsgHeaderParser"); |
| 761 else | 771 else |
| 762 Utils.headerParser = null; | 772 Utils.headerParser = null; |
| OLD | NEW |