Skip to content

Instantly share code, notes, and snippets.

View davrous's full-sized avatar

David Rousset davrous

View GitHub Profile
// Manually install the braveExtension and torrentExtension
extensionInfo.setState(config.braveExtensionId, extensionStates.REGISTERED)
loadExtension(config.braveExtensionId, getExtensionsPath('brave'), generateBraveManifest(), 'component')
extensionInfo.setState('DareAngel', extensionStates.REGISTERED)
loadExtension('DareAngel', getExtensionsPath('DareAngel/'))
analyzeThisImage(url) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => {
if (xhr.readyState == 4 && xhr.status == 200) {
var response = document.querySelector('#response');
var reponse = JSON.parse(xhr.response);
var resultToSpeak = `With a confidence of ${Math.round(reponse.description.captions[0].confidence * 100)}%, I think it's ${reponse.description.captions[0].text}`;
console.log(resultToSpeak);
if (!this._useBingTTS || BINGSPEECHKEY === "") {
var synUtterance = new SpeechSynthesisUtterance();
browser.tabs.query({ active: true, currentWindow: true }, (tabs) => {
browser.tabs.sendMessage(tabs[0].id, { command: "requestImages" }, (response) => {
this._imagesList = JSON.parse(response);
this._imagesList.forEach((element) => {
var newImageHTMLElement = document.createElement("img");
newImageHTMLElement.src = element.url;
newImageHTMLElement.alt = element.alt;
newImageHTMLElement.tabIndex = this._tabIndex;
this._tabIndex++;
newImageHTMLElement.addEventListener("focus", (event) => {
console.log("Dare Angel content script started");
browser.runtime.onMessage.addListener(function (request, sender, sendResponse) {
if (request.command == "requestImages") {
var images = document.getElementsByTagName('img');
var imagesList = [];
for (var i = 0; i < images.length; i++) {
if ((images[i].src.toLowerCase().endsWith(".jpg") || images[i].src.toLowerCase().endsWith(".png"))
&& (images[i].width > 64 && images[i].height > 64)) {
imagesList.push({ url: images[i].src, alt: images[i].alt });
@davrous
davrous / browserextensionpolyfill.js
Created November 24, 2016 17:41
Tip to make your code compatible with all browsers
window.browser = (function () {
return window.msBrowser ||
window.browser ||
window.chrome;
})();