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

Delta Between Two Patch Sets: lib/appSupport.js

Issue 6325312296058880: issue #290 - [seamonkey] blockable items list persists on tab changes (Closed)
Left Patch Set: Created July 8, 2014, 9:09 a.m.
Right Patch Set: Created July 8, 2014, 11:56 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « no previous file | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
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-2014 Eyeo GmbH 3 * Copyright (C) 2006-2014 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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 /** 138 /**
139 * Maps windows to a list of progress listeners. 139 * Maps windows to a list of progress listeners.
140 */ 140 */
141 let progressListeners = new WeakMap(); 141 let progressListeners = new WeakMap();
142 142
143 /** 143 /**
144 * Makes sure that a function is called whenever the displayed browser location changes. 144 * Makes sure that a function is called whenever the displayed browser location changes.
145 */ 145 */
146 exports.addBrowserLocationListener = function addBrowserLocationListener(/**Wind ow*/ window, /**Function*/ callback, /**Boolean*/ ignoreSameDoc) 146 exports.addBrowserLocationListener = function addBrowserLocationListener(/**Wind ow*/ window, /**Function*/ callback, /**Boolean*/ ignoreSameDoc)
147 { 147 {
148 _addBrowserLocationListener(window, callback, ignoreSameDoc);
149 };
150
151 function _addBrowserLocationListener(/**Window*/ window, /**Function*/ callback, /**Boolean*/ ignoreSameDoc)
152 {
153 let browser = (exports.getBrowser ? exports.getBrowser(window) : null); 148 let browser = (exports.getBrowser ? exports.getBrowser(window) : null);
154 if (browser) 149 if (browser)
155 { 150 {
156 let dummy = function() {}; 151 let dummy = function() {};
157 let progressListener = 152 let progressListener =
158 { 153 {
159 callback: callback, 154 callback: callback,
160 onLocationChange: function(progress, request, uri, flags) 155 onLocationChange: function(progress, request, uri, flags)
161 { 156 {
162 if (!ignoreSameDoc || !flags || !(flags & Ci.nsIWebProgressListener.LOCA TION_CHANGE_SAME_DOCUMENT)) 157 if (!ignoreSameDoc || !flags || !(flags & Ci.nsIWebProgressListener.LOCA TION_CHANGE_SAME_DOCUMENT))
163 this.callback(); 158 this.callback();
164 }, 159 },
165 onProgressChange: dummy, 160 onProgressChange: dummy,
166 onSecurityChange: dummy, 161 onSecurityChange: dummy,
167 onStateChange: dummy, 162 onStateChange: dummy,
168 onStatusChange: dummy, 163 onStatusChange: dummy,
169 QueryInterface: XPCOMUtils.generateQI([Ci.nsIWebProgressListener, Ci.nsISu pportsWeakReference]) 164 QueryInterface: XPCOMUtils.generateQI([Ci.nsIWebProgressListener, Ci.nsISu pportsWeakReference])
170 }; 165 };
171 browser.addProgressListener(progressListener); 166 browser.addProgressListener(progressListener);
172 167
173 if (progressListeners.has(window)) 168 if (progressListeners.has(window))
174 progressListeners.get(window).push(progressListener); 169 progressListeners.get(window).push(progressListener);
175 else 170 else
176 progressListeners.set(window, [progressListener]); 171 progressListeners.set(window, [progressListener]);
177 } 172 }
178 } 173 };
179 174
180 /** 175 /**
181 * Removes a location listener registered for a window. 176 * Removes a location listener registered for a window.
182 */ 177 */
183 exports.removeBrowserLocationListener = function removeBrowserLocationListener(/ **Window*/ window, /**Function*/ callback) 178 exports.removeBrowserLocationListener = function removeBrowserLocationListener(/ **Window*/ window, /**Function*/ callback)
184 { 179 {
185 if (!progressListeners.has(window)) 180 if (!progressListeners.has(window))
186 return; 181 return;
187 182
188 let browser = (exports.getBrowser ? exports.getBrowser(window) : null); 183 let browser = (exports.getBrowser ? exports.getBrowser(window) : null);
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 return null; 353 return null;
359 } 354 }
360 } 355 }
361 else 356 else
362 { 357 {
363 let browser = exports.getBrowser(window); 358 let browser = exports.getBrowser(window);
364 return (browser ? browser.currentURI : null); 359 return (browser ? browser.currentURI : null);
365 } 360 }
366 }; 361 };
367 362
368 exports.addBrowserLocationListener = function addBrowserLocationListener(/** Window*/ window, /**Function*/ callback, /**Boolean*/ ignoreSameDoc) 363 // for Seamonkey we have to ignore same document flag because of
369 { 364 // bug #1035171 (https://bugzilla.mozilla.org/show_bug.cgi?id=1035171)
370 // for Seamonkey we have to ignore same document flag because of bug #1035 171 365 let origAddBrowserLocationListener = exports.addBrowserLocationListener;
Wladimir Palant 2014/07/08 11:29:02 Please use a link, otherwise it won't be obvious w
saroyanm 2014/07/08 11:58:42 Done.
371 _addBrowserLocationListener(window, callback, false); 366 exports.addBrowserLocationListener = function sm_addBrowserLocationListener( window, callback, ignoreSameDoc)
367 {
368 origAddBrowserLocationListener(window, callback, false);
372 }; 369 };
Wladimir Palant 2014/07/08 11:29:02 Forcing the ignoreSameDoc parameter to be always f
saroyanm 2014/07/08 11:58:42 I like this :)
373 370
374 exports.contentContextMenu = ["contentAreaContextMenu", "mailContext"]; 371 exports.contentContextMenu = ["contentAreaContextMenu", "mailContext"];
375 372
376 exports.defaultToolbarPosition = { 373 exports.defaultToolbarPosition = {
377 parent: ["PersonalToolbar", "msgToolbar"], 374 parent: ["PersonalToolbar", "msgToolbar"],
378 before: ["bookmarks-button", "button-junk"] 375 before: ["bookmarks-button", "button-junk"]
379 }; 376 };
380 377
381 exports.statusbarPosition = { 378 exports.statusbarPosition = {
382 parent: "status-bar" 379 parent: "status-bar"
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after
950 event.state = {id: require("info").addonID}; 947 event.state = {id: require("info").addonID};
951 browser._contentWindow.dispatchEvent(event); 948 browser._contentWindow.dispatchEvent(event);
952 }); 949 });
953 }); 950 });
954 }, true); 951 }, true);
955 }; 952 };
956 953
957 break; 954 break;
958 } 955 }
959 } 956 }
LEFTRIGHT
« no previous file | no next file » | Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Toggle Comments ('s')

Powered by Google App Engine
This is Rietveld