1
0
Fork 0
mirror of https://github.com/kkapsner/CanvasBlocker synced 2025-07-04 04:26:35 +02:00

e10s ready!

Fixes #60 and #42
This commit is contained in:
kkapsner 2016-02-13 12:28:36 +01:00
parent 35c6a82480
commit 951277e922
10 changed files with 411 additions and 178 deletions

View file

@ -4,10 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
(function(){
"use strict";
const _ = require("sdk/l10n").get;
const preferences = require("sdk/simple-prefs");
const prefs = preferences.prefs;
const {parseErrorStack} = require("./callingStack");
// Check canvas appearance
function canvasAppearance(window, context){
@ -59,7 +56,7 @@
}
var modes = new WeakMap();
function getAskMode(window, type){
function getAskMode(window, type, _){
var mode = modes.get(window);
if (mode){
return mode[type];
@ -94,12 +91,12 @@
}
}
exports.ask = function(window, type, canvas, callingStackMsg){
exports.ask = function({window, type, canvas, errorStack}, {_, prefs}){
var answer;
var askMode = getAskMode(window, type);
var askMode = getAskMode(window, type, _);
var askStatus = askMode.askStatus;
var appearance = canvasAppearance(window, canvas);
if (prefs.askOnlyOnce && askStatus.alreadyAsked[appearance.askCategory]){
if (prefs("askOnlyOnce") && askStatus.alreadyAsked[appearance.askCategory]){
// already asked
appearance.reset();
return askStatus.answer[appearance.askCategory];
@ -107,8 +104,8 @@
else {
// asking
var msg = _(askMode.askText[appearance.text]);
if (prefs.showCallingFile){
msg += callingStackMsg;
if (prefs("showCallingFile")){
msg += parseErrorStack(errorStack).toString(_);
}
answer = window.confirm(msg)? "allow": "block";
askStatus.alreadyAsked[appearance.text] = true;