| OLD | NEW |
| 1 /* | 1 /* |
| 2 * This Source Code is subject to the terms of the Mozilla Public License | 2 * This Source Code is subject to the terms of the Mozilla Public License |
| 3 * version 2.0 (the "License"). You can obtain a copy of the License at | 3 * version 2.0 (the "License"). You can obtain a copy of the License at |
| 4 * http://mozilla.org/MPL/2.0/. | 4 * http://mozilla.org/MPL/2.0/. |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 let {Prefs} = require("prefs"); | 7 let {Prefs} = require("prefs"); |
| 8 | 8 |
| 9 // Make sure to stop selection when we are uninstalled | 9 // Make sure to stop selection when we are uninstalled |
| 10 onShutdown.add(() => Aardvark.quit()); | 10 onShutdown.add(() => Aardvark.quit()); |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 { | 246 { |
| 247 this.doCommand("quit", null); | 247 this.doCommand("quit", null); |
| 248 }, | 248 }, |
| 249 | 249 |
| 250 onMouseMove: function(event) | 250 onMouseMove: function(event) |
| 251 { | 251 { |
| 252 this.mouseX = event.screenX; | 252 this.mouseX = event.screenX; |
| 253 this.mouseY = event.screenY; | 253 this.mouseY = event.screenY; |
| 254 | 254 |
| 255 this.hideSelection(); | 255 this.hideSelection(); |
| 256 if (!this.browser) |
| 257 { |
| 258 // hideSelection() called quit() |
| 259 return; |
| 260 } |
| 256 | 261 |
| 257 let x = event.clientX; | 262 let x = event.clientX; |
| 258 let y = event.clientY; | 263 let y = event.clientY; |
| 259 | 264 |
| 260 // We might have coordinates relative to a frame, recalculate relative to to
p window | 265 // We might have coordinates relative to a frame, recalculate relative to to
p window |
| 261 let node = event.target; | 266 let node = event.target; |
| 262 while (node && node.ownerDocument && node.ownerDocument.defaultView && node.
ownerDocument.defaultView.frameElement) | 267 while (node && node.ownerDocument && node.ownerDocument.defaultView && node.
ownerDocument.defaultView.frameElement) |
| 263 { | 268 { |
| 264 node = node.ownerDocument.defaultView.frameElement; | 269 node = node.ownerDocument.defaultView.frameElement; |
| 265 let rect = node.getBoundingClientRect(); | 270 let rect = node.getBoundingClientRect(); |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 386 this.paintNode = doc.defaultView; | 391 this.paintNode = doc.defaultView; |
| 387 if (this.paintNode) | 392 if (this.paintNode) |
| 388 { | 393 { |
| 389 this.prevPos = pos; | 394 this.prevPos = pos; |
| 390 this.paintNode.addEventListener("MozAfterPaint", this.onAfterPaint, false)
; | 395 this.paintNode.addEventListener("MozAfterPaint", this.onAfterPaint, false)
; |
| 391 } | 396 } |
| 392 }, | 397 }, |
| 393 | 398 |
| 394 hideSelection: function() | 399 hideSelection: function() |
| 395 { | 400 { |
| 396 if (this.boxElem.parentNode) | 401 try |
| 397 this.boxElem.parentNode.removeChild(this.boxElem); | 402 { |
| 403 if (this.boxElem.parentNode) |
| 404 this.boxElem.parentNode.removeChild(this.boxElem); |
| 405 } |
| 406 catch (e) |
| 407 { |
| 408 // Are we using CPOW whose process is gone? Quit! |
| 409 // Clear some variables to prevent recursion (quit will call us again). |
| 410 this.boxElem = {}; |
| 411 this.paintNode = null; |
| 412 this.quit(); |
| 413 return; |
| 414 } |
| 398 | 415 |
| 399 if (this.paintNode) | 416 if (this.paintNode) |
| 400 this.paintNode.removeEventListener("MozAfterPaint", this.onAfterPaint, fal
se); | 417 this.paintNode.removeEventListener("MozAfterPaint", this.onAfterPaint, fal
se); |
| 418 |
| 401 this.paintNode = null; | 419 this.paintNode = null; |
| 402 this.prevPos = null; | 420 this.prevPos = null; |
| 403 }, | 421 }, |
| 404 | 422 |
| 405 getWindowSize: function(wnd) | 423 getWindowSize: function(wnd) |
| 406 { | 424 { |
| 407 return [wnd.innerWidth, wnd.document.documentElement.clientHeight]; | 425 return [wnd.innerWidth, wnd.document.documentElement.clientHeight]; |
| 408 }, | 426 }, |
| 409 | 427 |
| 410 getElementPosition: function(element) | 428 getElementPosition: function(element) |
| (...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 761 // Show help box | 779 // Show help box |
| 762 helpBox.showPopup(this.browser, -1, -1, "tooltip", "topleft", "topleft"); | 780 helpBox.showPopup(this.browser, -1, -1, "tooltip", "topleft", "topleft"); |
| 763 return true; | 781 return true; |
| 764 } | 782 } |
| 765 } | 783 } |
| 766 | 784 |
| 767 // Makes sure event handlers like Aardvark.onKeyPress always have the correct | 785 // Makes sure event handlers like Aardvark.onKeyPress always have the correct |
| 768 // this pointer set. | 786 // this pointer set. |
| 769 for (let method of ["onMouseClick", "onMouseScroll", "onKeyPress", "onPageHide",
"onMouseMove", "onAfterPaint", "quit"]) | 787 for (let method of ["onMouseClick", "onMouseScroll", "onKeyPress", "onPageHide",
"onMouseMove", "onAfterPaint", "quit"]) |
| 770 Aardvark[method] = Aardvark[method].bind(Aardvark); | 788 Aardvark[method] = Aardvark[method].bind(Aardvark); |
| OLD | NEW |