Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,42 @@
'use strict';
var clickHandlers = {
'button1': function() {
window.parent.alert('Hello world!');
},
'button2': function() {
window.parent.alert(window.parent.confirm('Hello world?'));
},
'button3': function() {
window.parent.alert(window.parent.prompt('Hello world:', 'initial value'));
},
'button21': function() {
alert('Hello world!');
},
'button22': function() {
alert(confirm('Hello world?'));
},
'button23': function() {
alert(prompt('Hello world:', 'initial value'));
},
'button31': function() {
var msg = 'Hello world!1\n2\n3\n4\n5\n6\n7\n8\n9';
msg += '\n10\n11\n12\n13\n14\n15\n16\n17\n18\n';
alert(msg);
},
'button32': function() {
var msg = 'Hello world!1\n2\n3\n4\n5\n6\n7\n8\n9';
msg += '\n10\n11\n12\n13\n14\n15\n16\n17\n18\n';
alert(confirm(msg));
},
'button33': function() {
var msg = 'Hello world!1\n2\n3\n4\n5\n6\n7\n8\n9';
msg += '\n10\n11\n12\n13\n14\n15\n16\n17\n18\n';
alert(prompt(msg));
}
};
document.body.addEventListener('click', function(evt) {
if (clickHandlers[evt.target.id])
clickHandlers[evt.target.id].call(this, evt);
});

View file

@ -0,0 +1,59 @@
'use strict';
var CanvasTests = {
get drawButton() {
delete this.drawButton;
return this.drawButton = document.getElementById('button-draw');
},
get toggleHiddenButton() {
delete this.toggleHiddenButton;
return this.toggleHiddenButton =
document.getElementById('button-toggle-hidden');
},
get canvas() {
delete this.canvas;
return this.canvas = document.getElementById('canvas');
},
get hiddenStatus() {
delete this.hiddenStatus;
return this.hiddenStatus = document.getElementById('hidden-status');
},
init: function ct_init() {
this.hiddenStatus.innerHTML =
'hidden = ' +
this.canvas.classList.contains('hidden');
this.drawButton.addEventListener('click', this.draw.bind(this));
this.toggleHiddenButton.addEventListener('click',
this.toggleShowHide.bind(this));
},
draw: function ct_draw() {
// var element = document.getElementById('canvas');
var context = this.canvas.getContext('2d');
var image = new Image();
var path = '../../style/images/canardpc.jpg';
image.src = path;
var self = this;
image.onload = function() {
var w = image.width;
var h = image.height;
context.drawImage(image, 0, 0, w, h, 0, 0, w, h);
};
},
toggleShowHide: function ct_toggleShowHide() {
this.canvas.classList.toggle('hidden');
var status = this.canvas.classList.contains('hidden');
this.hiddenStatus.innerHTML = 'hidden = ' + status;
}
};
window.addEventListener('DOMContentLoaded', function() {
CanvasTests.init();
});

View file

@ -0,0 +1,24 @@
'use strict';
var clickHandlers = {
'reload': function() {
window.location.reload();
},
'comments': function() {
window.location = '#comments';
alert(window.location.href);
},
'twitter': function() {
window.open('http://twitter.com/intent/tweet?text=' +
document.title + ': ' + window.location.href, 'shareWindow');
},
'facebook': function() {
window.open('http://facebook.com/sharer/sharer.php?u=' +
window.location.href, 'shareWindow');
}
};
document.body.addEventListener('click', function(evt) {
if (clickHandlers[evt.target.id || evt.target.dataset.fn])
clickHandlers[evt.target.id || evt.target.dataset.fn].call(this, evt);
});

View file

@ -0,0 +1,19 @@
'use strict';
function css_dimension_test() {
var bar_inch = document.getElementById('bar_inch');
var bar_mm = document.getElementById('bar_mm');
var bar_px = document.getElementById('bar_px');
var bar_mozmm = document.getElementById('bar_mozmm');
bar_inch.style.width = '1in';
bar_inch.style.backgroundColor = '#00FF00';
bar_mm.style.width = '25.4mm';
bar_mm.style.backgroundColor = '#00DD44';
bar_px.style.width = '96px';
bar_px.style.backgroundColor = '#00BB88';
bar_mozmm.style.width = '25.4mozmm';
bar_mozmm.style.backgroundColor = '#0099CC';
}
window.addEventListener('load', css_dimension_test);

View file

@ -0,0 +1,13 @@
'use strict';
var clickHandlers = {
/*
'id': function () {
alert('event triggered!');
}, */
};
document.body.addEventListener('click', function(evt) {
if (clickHandlers[evt.target.id || evt.target.dataset.fn])
clickHandlers[evt.target.id || evt.target.dataset.fn].call(this, evt);
});

View file

@ -0,0 +1,45 @@
'use strict';
function fullscreenTest() {
var fullscreenDiv = document.getElementById('fullscreen-div');
var testBtnDiv = document.getElementById('testBtn-div');
var testBtn = document.getElementById('testBtn');
var isFullscreenDiv = false;
var isFullscreen = false;
var displayMode;
function clickHandlers(evt) {
switch (evt.target.id) {
case 'testBtn':
if (!isFullscreen) {
window.parent.document.getElementById('test-iframe')
.mozRequestFullScreen();
testBtn.textContent = 'Cancel fullscreen';
} else {
window.parent.document.mozCancelFullScreen();
testBtn.textContent = 'Test';
}
isFullscreen = !isFullscreen;
break;
case 'testBtn-div':
if (!isFullscreenDiv) {
fullscreenDiv.mozRequestFullScreen();
testBtnDiv.textContent = 'Cancel fullscreen';
} else {
document.mozCancelFullScreen();
testBtnDiv.textContent = 'Test';
// Also cancels fullscreen of caused by another button (if any)
isFullscreen = false;
testBtn.textContent = 'Test';
}
isFullscreenDiv = !isFullscreenDiv;
break;
}
};
document.body.addEventListener('click', clickHandlers.bind(this));
}
window.addEventListener('load', fullscreenTest);

View file

@ -0,0 +1,29 @@
function keyboardTest() {
(function designmode(id) {
var iframe = document.querySelector('#' + id);
iframe.contentDocument.designMode = 'on';
iframe.contentDocument.body.textContent = 'Hola supermercado';
})('iframe-designmode');
(function contentEditable(id) {
var iframe = document.querySelector('#' + id);
iframe.contentDocument.body.setAttribute('contenteditable', true);
iframe.contentDocument.body.textContent = 'Telebancos por aqui';
})('iframe-contenteditable');
var readme = document.getElementById('readme');
var readmeBtn = document.getElementById('readme_button');
readme.hidden = true;
readmeBtn.addEventListener('click',
function toggle_readme() {
readme.hidden = !readme.hidden;
if (readme.hidden) {
readmeBtn.textContent = 'Show README';
} else {
readmeBtn.textContent = 'Hide README';
}
}
);
}
window.addEventListener('load', keyboardTest);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,19 @@
document.getElementById('close').onclick = function() {
window.close();
};
document.getElementById('open').onclick = function() {
window.open('/tests_html/UI/popup.html', '', 'dialog');
};
window.addEventListener('resize', function() {
if (window.innerHeight > 60) {
document.body.style.backgroundColor = 'white';
document.body.style.fontSize = '20px';
document.body.style.color = 'black';
} else {
document.body.style.backgroundColor = 'green';
document.body.style.fontSize = '10px';
document.body.style.color = 'white';
}
});

View file

@ -0,0 +1,6 @@
window.addEventListener('load', function() {
var p = document.getElementById('probe');
document.getElementById('report').textContent =
'Scroll bar width calculated from Javascript: ' +
(p.offsetWidth - p.scrollWidth - 2) + 'px'; // 2 = border width * 2
});

View file

@ -0,0 +1,16 @@
function changeTest(evt) {
console.log('++select++ onchange: ' + this.selectedIndex);
}
function blurTest(evt) {
console.log('++select++ onblur: ' + this.id);
}
window.addEventListener('load', function() {
var elementList = ['singleSel', 'multiSel', 'sizeSel'];
elementList.forEach(function(elementId) {
console.log('elementId: ' + elementId);
document.getElementById(elementId).onchange = changeTest;
document.getElementById(elementId).addEventListener('blur', blurTest);
});
});

View file

@ -0,0 +1,35 @@
'use strict';
window.addEventListener('load', function() {
var popup = null;
var buttons = document.querySelectorAll('button');
for (var i = 0; i < buttons.length; i++) {
var button = buttons[i];
button.addEventListener('click', function(e) {
var target = e.target;
var actualWindow = window;
if (target.classList.contains('mozbrowser')) {
actualWindow = window.parent;
}
switch (target.dataset.action) {
case 'open':
var param1 = null,
param2 = null;
var hash = target.dataset.url.split('#');
if (hash.length > 1) {
param1 = hash[1];
param2 = hash[1];
}
popup = actualWindow.open(target.dataset.url, param1, param2);
break;
case 'close':
popup.close();
break;
default:
break;
}
});
}
});