|
|
@ -53,12 +53,22 @@ XPCOMUtils.defineLazyServiceGetter(Svc, 'mime', |
|
|
|
'@mozilla.org/mime;1', |
|
|
|
'@mozilla.org/mime;1', |
|
|
|
'nsIMIMEService'); |
|
|
|
'nsIMIMEService'); |
|
|
|
|
|
|
|
|
|
|
|
function getChromeWindow(domWindow) { |
|
|
|
function getContainingBrowser(domWindow) { |
|
|
|
var containingBrowser = domWindow.QueryInterface(Ci.nsIInterfaceRequestor) |
|
|
|
return domWindow.QueryInterface(Ci.nsIInterfaceRequestor) |
|
|
|
.getInterface(Ci.nsIWebNavigation) |
|
|
|
.getInterface(Ci.nsIWebNavigation) |
|
|
|
.QueryInterface(Ci.nsIDocShell) |
|
|
|
.QueryInterface(Ci.nsIDocShell) |
|
|
|
.chromeEventHandler; |
|
|
|
.chromeEventHandler; |
|
|
|
return containingBrowser.ownerDocument.defaultView; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getChromeWindow(domWindow) { |
|
|
|
|
|
|
|
return getContainingBrowser(domWindow).ownerDocument.defaultView; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getFindBar(domWindow) { |
|
|
|
|
|
|
|
var browser = getContainingBrowser(domWindow); |
|
|
|
|
|
|
|
var tabbrowser = browser.getTabBrowser(); |
|
|
|
|
|
|
|
var tab = tabbrowser._getTabForBrowser(browser); |
|
|
|
|
|
|
|
return tabbrowser.getFindBar(tab); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function setBoolPref(pref, value) { |
|
|
|
function setBoolPref(pref, value) { |
|
|
@ -320,8 +330,8 @@ ChromeActions.prototype = { |
|
|
|
// 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 and when the
|
|
|
|
// new find events code exists.
|
|
|
|
// new find events code exists.
|
|
|
|
return this.domWindow.frameElement === null && |
|
|
|
return this.domWindow.frameElement === null && |
|
|
|
getChromeWindow(this.domWindow).gFindBar && |
|
|
|
getFindBar(this.domWindow) && |
|
|
|
'updateControlState' in getChromeWindow(this.domWindow).gFindBar; |
|
|
|
'updateControlState' in getFindBar(this.domWindow); |
|
|
|
}, |
|
|
|
}, |
|
|
|
supportsDocumentFonts: function() { |
|
|
|
supportsDocumentFonts: function() { |
|
|
|
var prefBrowser = getIntPref('browser.display.use_document_fonts', 1); |
|
|
|
var prefBrowser = getIntPref('browser.display.use_document_fonts', 1); |
|
|
@ -438,8 +448,7 @@ ChromeActions.prototype = { |
|
|
|
(findPreviousType !== 'undefined' && findPreviousType !== 'boolean')) { |
|
|
|
(findPreviousType !== 'undefined' && findPreviousType !== 'boolean')) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
getChromeWindow(this.domWindow).gFindBar |
|
|
|
getFindBar(this.domWindow).updateControlState(result, findPrevious); |
|
|
|
.updateControlState(result, findPrevious); |
|
|
|
|
|
|
|
}, |
|
|
|
}, |
|
|
|
setPreferences: function(prefs, sendResponse) { |
|
|
|
setPreferences: function(prefs, sendResponse) { |
|
|
|
var defaultBranch = Services.prefs.getDefaultBranch(PREF_PREFIX + '.'); |
|
|
|
var defaultBranch = Services.prefs.getDefaultBranch(PREF_PREFIX + '.'); |
|
|
@ -917,7 +926,8 @@ PdfStreamConverter.prototype = { |
|
|
|
}, false, true); |
|
|
|
}, false, true); |
|
|
|
if (actions.supportsIntegratedFind()) { |
|
|
|
if (actions.supportsIntegratedFind()) { |
|
|
|
var chromeWindow = getChromeWindow(domWindow); |
|
|
|
var chromeWindow = getChromeWindow(domWindow); |
|
|
|
var findEventManager = new FindEventManager(chromeWindow.gFindBar, |
|
|
|
var findBar = getFindBar(domWindow); |
|
|
|
|
|
|
|
var findEventManager = new FindEventManager(findBar, |
|
|
|
domWindow, |
|
|
|
domWindow, |
|
|
|
chromeWindow); |
|
|
|
chromeWindow); |
|
|
|
findEventManager.bind(); |
|
|
|
findEventManager.bind(); |
|
|
|