OLD | NEW |
1 /* | 1 /* |
2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
3 * Copyright (C) 2006-2016 Eyeo GmbH | 3 * Copyright (C) 2006-2016 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 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
506 if (label != origLabel) | 506 if (label != origLabel) |
507 element.setAttribute(attr, label); | 507 element.setAttribute(attr, label); |
508 if (accesskey != "") | 508 if (accesskey != "") |
509 element.setAttribute("accesskey", accesskey); | 509 element.setAttribute("accesskey", accesskey); |
510 | 510 |
511 // Labels forward changes of the accessKey property to their control, only | 511 // Labels forward changes of the accessKey property to their control, only |
512 // set it for actual controls. | 512 // set it for actual controls. |
513 if (element.localName != "label") | 513 if (element.localName != "label") |
514 element.accessKey = accesskey; | 514 element.accessKey = accesskey; |
515 } | 515 } |
516 }, | |
517 | |
518 /** | |
519 * Adds a message handler that will respond to both synchronous and | |
520 * asynchonous messages. | |
521 * @param {string} messageName name of the message to listen to | |
522 * @param {Function} handler handler to be called with the message data. The | |
523 * return value will be sent back to the child. | |
524 */ | |
525 addChildMessageListener: function(messageName, handler) | |
526 { | |
527 let messageManager = Cc["@mozilla.org/parentprocessmessagemanager;1"] | |
528 .getService(Ci.nsIMessageListenerManager); | |
529 let wrapper = (message) => { | |
530 let {callbackID, data} = message.data; | |
531 let response = undefined; | |
532 try | |
533 { | |
534 response = handler(data); | |
535 } | |
536 catch (e) | |
537 { | |
538 Cu.reportError(e); | |
539 } | |
540 | |
541 if (callbackID) | |
542 { | |
543 let target = message.target.QueryInterface(Ci.nsIMessageSender); | |
544 target.sendAsyncMessage("AdblockPlus:Response", { | |
545 callbackID, | |
546 response | |
547 }); | |
548 } | |
549 else | |
550 return response; | |
551 }; | |
552 messageManager.addMessageListener(messageName, wrapper); | |
553 onShutdown.add(() => messageManager.removeMessageListener(messageName, wrapp
er)); | |
554 } | 516 } |
555 }; | 517 }; |
556 | 518 |
557 /** | 519 /** |
558 * A cache with a fixed capacity, newer entries replace entries that have been | 520 * A cache with a fixed capacity, newer entries replace entries that have been |
559 * stored first. | 521 * stored first. |
560 * @constructor | 522 * @constructor |
561 */ | 523 */ |
562 function Cache(/**Integer*/ size) | 524 function Cache(/**Integer*/ size) |
563 { | 525 { |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
804 Cu.reportError(e); | 766 Cu.reportError(e); |
805 // Expected, ctypes isn't supported in Gecko 1.9.2 | 767 // Expected, ctypes isn't supported in Gecko 1.9.2 |
806 return null; | 768 return null; |
807 } | 769 } |
808 }); | 770 }); |
809 | 771 |
810 if ("@mozilla.org/messenger/headerparser;1" in Cc) | 772 if ("@mozilla.org/messenger/headerparser;1" in Cc) |
811 XPCOMUtils.defineLazyServiceGetter(Utils, "headerParser", "@mozilla.org/messen
ger/headerparser;1", "nsIMsgHeaderParser"); | 773 XPCOMUtils.defineLazyServiceGetter(Utils, "headerParser", "@mozilla.org/messen
ger/headerparser;1", "nsIMsgHeaderParser"); |
812 else | 774 else |
813 Utils.headerParser = null; | 775 Utils.headerParser = null; |
OLD | NEW |