OLD | NEW |
1 /* This Source Code Form is subject to the terms of the Mozilla Public | 1 /* This Source Code Form is subject to the terms of the Mozilla Public |
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, | 2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ | 3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ |
4 | 4 |
5 let {hook} = require("hooks"); | 5 let {hook} = require("hooks"); |
6 let functionHooks = new WeakMap(); | 6 let functionHooks = new WeakMap(); |
7 | 7 |
8 exports.removeFromWindow = function(window) | 8 exports.removeFromWindow = function(window) |
9 { | 9 { |
10 if (functionHooks.has(window)) | 10 if (functionHooks.has(window)) |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 } | 264 } |
265 }, cleanup); | 265 }, cleanup); |
266 functionHooks.set(window, unhook); | 266 functionHooks.set(window, unhook); |
267 } | 267 } |
268 }; | 268 }; |
269 | 269 |
270 exports.openInfobar = function(window, id, message, buttons, persistence) | 270 exports.openInfobar = function(window, id, message, buttons, persistence) |
271 { | 271 { |
272 if ("BrowserApp" in window && "selectedTab" in window.BrowserApp) | 272 if ("BrowserApp" in window && "selectedTab" in window.BrowserApp) |
273 { | 273 { |
274 window.NativeWindow.doorhanger.show(message, id, buttons, window.Browser
App.selectedTab.id, | 274 let tabId = window.BrowserApp.selectedTab.id; |
| 275 window.NativeWindow.doorhanger.show(message, id, buttons, tabId, |
275 { | 276 { |
276 persistence: persistence | 277 // No navigation is happening after doorhanger is shown |
| 278 // so persistence needs to be reduced by one |
| 279 persistence: persistence-1 |
277 } | 280 } |
278 ); | 281 ); |
| 282 let surveyTimer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer)
; |
| 283 surveyTimer.initWithCallback(function() |
| 284 { |
| 285 window.NativeWindow.doorhanger.hide(id, tabId); |
| 286 }, 5000, Ci.nsITimer.TYPE_ONE_SHOT); |
279 } | 287 } |
280 }; | 288 }; |
281 | 289 |
282 exports.loadURI = function(window, uri) | 290 exports.loadURI = function(window, uri) |
283 { | 291 { |
284 if ("BrowserApp" in window && "loadURI" in window.BrowserApp) | 292 if ("BrowserApp" in window && "loadURI" in window.BrowserApp) |
285 window.BrowserApp.loadURI(uri); | 293 window.BrowserApp.loadURI(uri); |
286 }; | 294 }; |
287 | 295 |
288 break; | 296 break; |
289 } | 297 } |
290 default: | 298 default: |
291 { | 299 { |
292 exports.isKnownWindow = function(window) false; | 300 exports.isKnownWindow = function(window) false; |
293 break; | 301 break; |
294 } | 302 } |
295 } | 303 } |
OLD | NEW |