Add getFindBar for Fx extension
This commit is contained in:
parent
6ea118b8d7
commit
bc66c8119e
@ -53,12 +53,22 @@ XPCOMUtils.defineLazyServiceGetter(Svc, 'mime',
|
|||||||
'@mozilla.org/mime;1',
|
'@mozilla.org/mime;1',
|
||||||
'nsIMIMEService');
|
'nsIMIMEService');
|
||||||
|
|
||||||
|
function getContainingBrowser(domWindow) {
|
||||||
|
return domWindow.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||||
|
.getInterface(Ci.nsIWebNavigation)
|
||||||
|
.QueryInterface(Ci.nsIDocShell)
|
||||||
|
.chromeEventHandler;
|
||||||
|
}
|
||||||
|
|
||||||
function getChromeWindow(domWindow) {
|
function getChromeWindow(domWindow) {
|
||||||
var containingBrowser = domWindow.QueryInterface(Ci.nsIInterfaceRequestor)
|
return getContainingBrowser(domWindow).ownerDocument.defaultView;
|
||||||
.getInterface(Ci.nsIWebNavigation)
|
}
|
||||||
.QueryInterface(Ci.nsIDocShell)
|
|
||||||
.chromeEventHandler;
|
function getFindBar(domWindow) {
|
||||||
return containingBrowser.ownerDocument.defaultView;
|
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();
|
||||||
|
@ -46,6 +46,11 @@ function runTests(document, window, callback) {
|
|||||||
ok(document.querySelector('div#viewer'), "document content has viewer UI");
|
ok(document.querySelector('div#viewer'), "document content has viewer UI");
|
||||||
ok('PDFJS' in window.wrappedJSObject, "window content has PDFJS object");
|
ok('PDFJS' in window.wrappedJSObject, "window content has PDFJS object");
|
||||||
|
|
||||||
|
//
|
||||||
|
// Browser Find
|
||||||
|
//
|
||||||
|
ok(gBrowser.isFindBarInitialized(tab), "Browser FindBar initialized!");
|
||||||
|
|
||||||
//
|
//
|
||||||
// Sidebar: open
|
// Sidebar: open
|
||||||
//
|
//
|
||||||
|
Loading…
x
Reference in New Issue
Block a user