Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: ext/common.js

Issue 29715759: Issue 6440 - Use long-lived connections to listen to extension events (Closed)
Left Patch Set: Created March 6, 2018, 6:35 p.m.
Right Patch Set: Added message passing mock for ports Created March 7, 2018, 7:10 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Right: Side by side diff | Download
« no previous file with change/comment | « ext/background.js ('k') | ext/content.js » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
(no file at all)
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-present eyeo GmbH 3 * Copyright (C) 2006-present 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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 }; 67 };
68 window.addEventListener("message", listener._extWrapper, false); 68 window.addEventListener("message", listener._extWrapper, false);
69 }, 69 },
70 70
71 removeListener(listener) 71 removeListener(listener)
72 { 72 {
73 if ("_extWrapper" in listener) 73 if ("_extWrapper" in listener)
74 window.removeEventListener("message", listener._extWrapper, false); 74 window.removeEventListener("message", listener._extWrapper, false);
75 } 75 }
76 }; 76 };
77
78 class Port
saroyanm 2018/03/12 13:08:28 I like that we have started to use javascript clas
a.giammarchi 2018/03/12 13:17:31 FWIW, when needed, I prefer classes too and I thin
Thomas Greiner 2018/03/13 18:24:45 Yes, this is just a mock. We're still supporting O
a.giammarchi 2018/03/14 07:51:03 AFAIK Opera 36 already supports Classes, but it's
79 {
80 constructor(name)
81 {
82 this._name = name;
83 }
84
85 get name()
86 {
87 return this._name;
88 }
89
90 get onDisconnect()
91 {
92 return {
93 addListener() {}
94 };
95 }
96
97 get onMessage()
98 {
99 let name = this._name;
100 return {
101 addListener(listener)
102 {
103 window.addEventListener("message", (event) =>
104 {
105 if (event.data.type != "port" || event.data.name != name)
106 return;
107
108 listener(event.data.payload);
109 });
110 }
111 };
112 }
113 }
114 window.ext._Port = Port;
77 }()); 115 }());
LEFTRIGHT

Powered by Google App Engine
This is Rietveld