mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-20 15:18:08 +02:00
Make pdf.js the default pdf viewer for moz central.
Update the tests to reflect this.
This commit is contained in:
parent
3d7f01d9ca
commit
121040a5dc
3 changed files with 64 additions and 64 deletions
|
@ -6,16 +6,18 @@ const RELATIVE_DIR = "browser/extensions/pdfjs/test/";
|
|||
const TESTROOT = "http://example.com/browser/" + RELATIVE_DIR;
|
||||
|
||||
function test() {
|
||||
var tab, oldAction;
|
||||
var tab;
|
||||
|
||||
oldAction = changeMimeHandler();
|
||||
|
||||
const Cc = Components.classes;
|
||||
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');
|
||||
|
||||
// Make sure pdf.js is the default handler.
|
||||
is(handlerInfo.alwaysAskBeforeHandling, false, 'pdf handler defaults to always-ask is false');
|
||||
is(handlerInfo.preferredAction, Ci.nsIHandlerInfo.handleInternally, 'pdf handler defaults to internal');
|
||||
|
||||
info('Pref action: ' + handlerInfo.preferredAction);
|
||||
|
||||
waitForExplicitFinish();
|
||||
|
@ -34,7 +36,6 @@ function test() {
|
|||
// Runs tests after all 'load' event handlers have fired off
|
||||
setTimeout(function() {
|
||||
runTests(document, window, function() {
|
||||
revertMimeHandler(oldAction);
|
||||
finish();
|
||||
});
|
||||
}, 0);
|
||||
|
@ -42,51 +43,6 @@ function test() {
|
|||
}
|
||||
|
||||
|
||||
function changeMimeHandler() {
|
||||
let oldAction;
|
||||
|
||||
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');
|
||||
|
||||
oldAction = handlerInfo.preferredAction;
|
||||
|
||||
// Change and save mime handler settings
|
||||
handlerInfo.alwaysAskBeforeHandling = false;
|
||||
handlerInfo.preferredAction = Ci.nsIHandlerInfo.handleInternally;
|
||||
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, false, 'always-ask prompt change successful');
|
||||
is(handlerInfo.preferredAction, Ci.nsIHandlerInfo.handleInternally, 'mime handler change successful');
|
||||
|
||||
return oldAction;
|
||||
}
|
||||
|
||||
function revertMimeHandler(oldAction) {
|
||||
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');
|
||||
|
||||
// Change and save mime handler settings
|
||||
handlerInfo.alwaysAskBeforeHandling = true;
|
||||
handlerInfo.preferredAction = oldAction;
|
||||
handlerService.store(handlerInfo);
|
||||
}
|
||||
|
||||
|
||||
function runTests(document, window, callback) {
|
||||
|
||||
//
|
||||
|
|
|
@ -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");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue