michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: %findBarDTD; michael@0: ]> michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: ({}) michael@0: michael@0: michael@0: michael@0: null michael@0: false michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: Components.classes['@mozilla.org/preferences-service;1'] michael@0: .getService(Components.interfaces.nsIPrefBranch); michael@0: michael@0: michael@0: michael@0: Components.classes['@mozilla.org/atom-service;1'] michael@0: .getService(Components.interfaces.nsIAtomService); michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: // see bug 63370 for details michael@0: this._mStrBundle = Components.classes["@mozilla.org/intl/stringbundle;1"] michael@0: .getService(Components.interfaces.nsIStringBundleService) michael@0: .createBundle("chrome://global/locale/browser.properties"); michael@0: } michael@0: return this._mStrBundle; michael@0: ]]> michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: 1 michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: false michael@0: michael@0: michael@0: michael@0: false michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: null michael@0: michael@0: false michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: 0) michael@0: this.sessionHistory.PurgeHistory(purge); michael@0: ]]> michael@0: michael@0: michael@0: michael@0: 10 michael@0: false michael@0: null michael@0: null michael@0: null michael@0: false michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: 8) { // need high color for transparency michael@0: // Exclude second-rate platforms michael@0: this._autoScrollPopup.setAttribute("transparent", !/BeOS|OS\/2/.test(navigator.appVersion)); michael@0: // Enable translucency on Windows and Mac michael@0: this._autoScrollPopup.setAttribute("translucent", /Win|Mac/.test(navigator.platform)); michael@0: } michael@0: michael@0: this._autoScrollPopup.setAttribute("scrolldir", scrolldir); michael@0: this._autoScrollPopup.addEventListener("popuphidden", this, true); michael@0: this._autoScrollPopup.showPopup(document.documentElement, michael@0: screenX, michael@0: screenY, michael@0: "popup", null, null); michael@0: this._ignoreMouseEvents = true; michael@0: this._scrolling = true; michael@0: this._startX = screenX; michael@0: this._startY = screenY; michael@0: michael@0: window.addEventListener("mousemove", this, true); michael@0: window.addEventListener("mousedown", this, true); michael@0: window.addEventListener("mouseup", this, true); michael@0: window.addEventListener("contextmenu", this, true); michael@0: window.addEventListener("keydown", this, true); michael@0: window.addEventListener("keypress", this, true); michael@0: window.addEventListener("keyup", this, true); michael@0: ]]> michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: this._AUTOSCROLL_SNAP || x < -this._AUTOSCROLL_SNAP) || michael@0: (y > this._AUTOSCROLL_SNAP || y < -this._AUTOSCROLL_SNAP)) michael@0: this._ignoreMouseEvents = false; michael@0: break; michael@0: } michael@0: case "mouseup": michael@0: case "mousedown": michael@0: case "contextmenu": { michael@0: if (!this._ignoreMouseEvents) michael@0: this._autoScrollPopup.hidePopup(); michael@0: this._ignoreMouseEvents = false; michael@0: break; michael@0: } michael@0: case "popuphidden": { michael@0: this._autoScrollPopup.removeEventListener("popuphidden", this, true); michael@0: this.stopScroll(); michael@0: break; michael@0: } michael@0: case "keydown": { michael@0: if (aEvent.keyCode == aEvent.DOM_VK_ESCAPE) { michael@0: // the escape key will be processed by michael@0: // nsXULPopupManager::KeyDown and the panel will be closed. michael@0: // So, don't consume the key event here. michael@0: break; michael@0: } michael@0: // don't break here. we need to eat keydown events. michael@0: } michael@0: case "keypress": michael@0: case "keyup": { michael@0: // All keyevents should be eaten here during autoscrolling. michael@0: aEvent.stopPropagation(); michael@0: aEvent.preventDefault(); michael@0: break; michael@0: } michael@0: } michael@0: } michael@0: ]]> michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: