Refactors new extension find bar code to support old FF versions
This commit is contained in:
parent
bc66c8119e
commit
9f9454d2ae
@ -66,9 +66,15 @@ function getChromeWindow(domWindow) {
|
|||||||
|
|
||||||
function getFindBar(domWindow) {
|
function getFindBar(domWindow) {
|
||||||
var browser = getContainingBrowser(domWindow);
|
var browser = getContainingBrowser(domWindow);
|
||||||
var tabbrowser = browser.getTabBrowser();
|
try {
|
||||||
var tab = tabbrowser._getTabForBrowser(browser);
|
var tabbrowser = browser.getTabBrowser();
|
||||||
return tabbrowser.getFindBar(tab);
|
var tab = tabbrowser._getTabForBrowser(browser);
|
||||||
|
return tabbrowser.getFindBar(tab);
|
||||||
|
} catch (e) {
|
||||||
|
// FF22 has no _getTabForBrowser, and FF24 has no getFindBar
|
||||||
|
var chromeWindow = browser.ownerDocument.defaultView;
|
||||||
|
return chromeWindow.gFindBar;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setBoolPref(pref, value) {
|
function setBoolPref(pref, value) {
|
||||||
@ -327,11 +333,13 @@ ChromeActions.prototype = {
|
|||||||
return getBoolPref(PREF_PREFIX + '.pdfBugEnabled', false);
|
return getBoolPref(PREF_PREFIX + '.pdfBugEnabled', false);
|
||||||
},
|
},
|
||||||
supportsIntegratedFind: function() {
|
supportsIntegratedFind: function() {
|
||||||
// Integrated find is only supported when we're not in a frame and when the
|
// Integrated find is only supported when we're not in a frame
|
||||||
// new find events code exists.
|
if (this.domWindow.frameElement !== null) {
|
||||||
return this.domWindow.frameElement === null &&
|
return false;
|
||||||
getFindBar(this.domWindow) &&
|
}
|
||||||
'updateControlState' in getFindBar(this.domWindow);
|
// ... and when the new find events code exists.
|
||||||
|
var findBar = getFindBar(this.domWindow);
|
||||||
|
return findBar && ('updateControlState' in findBar);
|
||||||
},
|
},
|
||||||
supportsDocumentFonts: function() {
|
supportsDocumentFonts: function() {
|
||||||
var prefBrowser = getIntPref('browser.display.use_document_fonts', 1);
|
var prefBrowser = getIntPref('browser.display.use_document_fonts', 1);
|
||||||
|
@ -32,13 +32,13 @@ function test() {
|
|||||||
|
|
||||||
// Runs tests after all 'load' event handlers have fired off
|
// Runs tests after all 'load' event handlers have fired off
|
||||||
window.addEventListener("documentload", function() {
|
window.addEventListener("documentload", function() {
|
||||||
runTests(document, window, finish);
|
runTests(document, window, tab, finish);
|
||||||
}, false, true);
|
}, false, true);
|
||||||
}, true);
|
}, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function runTests(document, window, callback) {
|
function runTests(document, window, tab, callback) {
|
||||||
|
|
||||||
//
|
//
|
||||||
// Overall sanity tests
|
// Overall sanity tests
|
||||||
|
Loading…
x
Reference in New Issue
Block a user