Scaffold: Remember cookies set in browser by default
Making this configurable - it's worth testing translators to make sure that they *aren't* dependent on some specific cookie configuration, apart from obvious cases like login-gated sites.
This commit is contained in:
parent
37ac6f9058
commit
a7044db15e
3 changed files with 21 additions and 8 deletions
|
@ -58,7 +58,8 @@ function fix2028(str) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var Scaffold = new function () {
|
var Scaffold = new function () {
|
||||||
var _browser, _frames = [], _document;
|
var _browser;
|
||||||
|
var _cookieSandbox;
|
||||||
var _translatorsLoadedPromise;
|
var _translatorsLoadedPromise;
|
||||||
var _translatorProvider = null;
|
var _translatorProvider = null;
|
||||||
var _lastModifiedTime = 0;
|
var _lastModifiedTime = 0;
|
||||||
|
@ -83,8 +84,8 @@ var Scaffold = new function () {
|
||||||
|
|
||||||
this.onLoad = async function (e) {
|
this.onLoad = async function (e) {
|
||||||
if (e.target !== document) return;
|
if (e.target !== document) return;
|
||||||
_document = document;
|
|
||||||
_browser = document.getElementById('browser');
|
_browser = document.getElementById('browser');
|
||||||
|
_cookieSandbox = new Zotero.CookieSandbox(_browser);
|
||||||
|
|
||||||
window.messageManager.addMessageListener('Scaffold:Load', ({ data }) => {
|
window.messageManager.addMessageListener('Scaffold:Load', ({ data }) => {
|
||||||
document.getElementById("browser-url").value = data.url;
|
document.getElementById("browser-url").value = data.url;
|
||||||
|
@ -1914,6 +1915,8 @@ var Scaffold = new function () {
|
||||||
testsByType[test.type].push(test);
|
testsByType[test.type].push(test);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let rememberCookies = document.getElementById('checkbox-remember-cookies').checked;
|
||||||
|
|
||||||
for (let [type, testsOfType] of Object.entries(testsByType)) {
|
for (let [type, testsOfType] of Object.entries(testsByType)) {
|
||||||
if (testsOfType.length) {
|
if (testsOfType.length) {
|
||||||
let tester = new Zotero_TranslatorTester(
|
let tester = new Zotero_TranslatorTester(
|
||||||
|
@ -1922,6 +1925,12 @@ var Scaffold = new function () {
|
||||||
_debug,
|
_debug,
|
||||||
_translatorProvider
|
_translatorProvider
|
||||||
);
|
);
|
||||||
|
if (rememberCookies) {
|
||||||
|
tester.setCookieSandbox(_cookieSandbox);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
tester.setCookieSandbox(new Zotero.CookieSandbox());
|
||||||
|
}
|
||||||
tester.setTests(testsOfType);
|
tester.setTests(testsOfType);
|
||||||
tester.runTests(callback);
|
tester.runTests(callback);
|
||||||
}
|
}
|
||||||
|
@ -2024,12 +2033,6 @@ var Scaffold = new function () {
|
||||||
this.testsToUpdate = tests.slice();
|
this.testsToUpdate = tests.slice();
|
||||||
this.numTestsTotal = this.testsToUpdate.length;
|
this.numTestsTotal = this.testsToUpdate.length;
|
||||||
this.newTests = [];
|
this.newTests = [];
|
||||||
this.tester = new Zotero_TranslatorTester(
|
|
||||||
_getTranslatorFromPane(),
|
|
||||||
"web",
|
|
||||||
_debug,
|
|
||||||
_translatorProvider
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TestUpdater.prototype.updateTests = function (testDoneCallback, doneCallback) {
|
TestUpdater.prototype.updateTests = function (testDoneCallback, doneCallback) {
|
||||||
|
|
|
@ -505,6 +505,15 @@
|
||||||
<button observes="validate-tests" label="&scaffold.testing.delete;" tooltiptext="Delete the selected tests" oncommand="Scaffold.deleteSelectedTests()"/>
|
<button observes="validate-tests" label="&scaffold.testing.delete;" tooltiptext="Delete the selected tests" oncommand="Scaffold.deleteSelectedTests()"/>
|
||||||
<button observes="validate-tests" label="&scaffold.testing.run;" tooltiptext="Run the selected tests" oncommand="Scaffold.runSelectedTests()"/>
|
<button observes="validate-tests" label="&scaffold.testing.run;" tooltiptext="Run the selected tests" oncommand="Scaffold.runSelectedTests()"/>
|
||||||
<button observes="validate-tests" label="&scaffold.testing.update;" tooltiptext="Run the selected tests and update the test definitions with the latest data" oncommand="Scaffold.updateSelectedTests()"/>
|
<button observes="validate-tests" label="&scaffold.testing.update;" tooltiptext="Run the selected tests and update the test definitions with the latest data" oncommand="Scaffold.updateSelectedTests()"/>
|
||||||
|
|
||||||
|
<hbox flex="1" pack="end">
|
||||||
|
<checkbox
|
||||||
|
id="checkbox-remember-cookies"
|
||||||
|
label="&scaffold.testing.rememberCookies;"
|
||||||
|
native="true"
|
||||||
|
checked="true"
|
||||||
|
/>
|
||||||
|
</hbox>
|
||||||
</hbox>
|
</hbox>
|
||||||
</vbox>
|
</vbox>
|
||||||
<splitter/>
|
<splitter/>
|
||||||
|
|
|
@ -74,6 +74,7 @@
|
||||||
<!ENTITY scaffold.testing.delete "Delete">
|
<!ENTITY scaffold.testing.delete "Delete">
|
||||||
<!ENTITY scaffold.testing.run "Run">
|
<!ENTITY scaffold.testing.run "Run">
|
||||||
<!ENTITY scaffold.testing.update "Run and Update">
|
<!ENTITY scaffold.testing.update "Run and Update">
|
||||||
|
<!ENTITY scaffold.testing.rememberCookies "Remember cookies">
|
||||||
<!ENTITY scaffold.testing.create.web "Create Web Test">
|
<!ENTITY scaffold.testing.create.web "Create Web Test">
|
||||||
<!ENTITY scaffold.testing.create.import "Create Import Test">
|
<!ENTITY scaffold.testing.create.import "Create Import Test">
|
||||||
<!ENTITY scaffold.testing.create.search "Create Search Test">
|
<!ENTITY scaffold.testing.create.search "Create Search Test">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue