Make pdf.js the default pdf viewer for moz central.

Update the tests to reflect this.
This commit is contained in:
Brendan Dahl 2012-06-01 13:21:45 -07:00
parent 3d7f01d9ca
commit 121040a5dc
3 changed files with 64 additions and 64 deletions

View file

@ -6,26 +6,21 @@ const RELATIVE_DIR = "browser/extensions/pdfjs/test/";
const TESTROOT = "http://example.com/browser/" + RELATIVE_DIR;
function test() {
var tab;
const Cc = Components.classes;
const Ci = Components.interfaces;
let handlerService = Cc["@mozilla.org/uriloader/handler-service;1"].getService(Ci.nsIHandlerService);
let mimeService = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService);
let handlerInfo = mimeService.getFromTypeAndExtension('application/pdf', 'pdf');
var tab;
var oldAction = changeMimeHandler(Ci.nsIHandlerInfo.useSystemDefault, true);
//
// Test: Default mime handler
//
is(handlerInfo.alwaysAskBeforeHandling, true, 'mime handler: default is always-ask prompt');
//
// Test: "Open with" dialog comes up
// Test: "Open with" dialog comes up when pdf.js is not selected as the default
// handler.
//
addWindowListener('chrome://mozapps/content/downloads/unknownContentType.xul', finish);
waitForExplicitFinish();
registerCleanupFunction(function() {
changeMimeHandler(oldAction[0], oldAction[1]);
gBrowser.removeTab(tab);
});
@ -33,8 +28,37 @@ function test() {
var newTabBrowser = gBrowser.getBrowserForTab(tab);
}
function changeMimeHandler(preferredAction, alwaysAskBeforeHandling) {
const Cc = Components.classes;
const Ci = Components.interfaces;
let handlerService = Cc["@mozilla.org/uriloader/handler-service;1"].getService(Ci.nsIHandlerService);
let mimeService = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService);
let handlerInfo = mimeService.getFromTypeAndExtension('application/pdf', 'pdf');
var oldAction = [handlerInfo.preferredAction, handlerInfo.alwaysAskBeforeHandling];
// Change and save mime handler settings
handlerInfo.alwaysAskBeforeHandling = alwaysAskBeforeHandling;
handlerInfo.preferredAction = preferredAction;
handlerService.store(handlerInfo);
Services.obs.notifyObservers(null, 'pdfjs:handlerChanged', null);
// Refresh data
mimeService = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService);
handlerInfo = mimeService.getFromTypeAndExtension('application/pdf', 'pdf');
//
// Test: Mime handler was updated
//
is(handlerInfo.alwaysAskBeforeHandling, alwaysAskBeforeHandling, 'always-ask prompt change successful');
is(handlerInfo.preferredAction, preferredAction, 'mime handler change successful');
return oldAction;
}
function addWindowListener(aURL, aCallback) {
const Cc = Components.classes;
const Ci = Components.interfaces;
Services.wm.addListener({
onOpenWindow: function(aXULWindow) {
info("window opened, waiting for focus");