Skip to content

Instantly share code, notes, and snippets.

/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set sts=2 sw=2 et tw=80: */
"use strict";
var {AppConstants} = Cu.import("resource://gre/modules/AppConstants.jsm");
add_task(function* () {
function background(AppConstants) {
browser.commands.getAll((commands) => {
let command;
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set sts=2 sw=2 et tw=80: */
"use strict";
add_task(function* testTabEvents() {
function background() {
// Wrap API methods in promise-based variants.
function wrapAPI(api, result = {}) {
Object.keys(api).forEach(method => {
result[method] = (...args) => {
{
+ "column": 3,
+ "compatibility_type": null,
+ "context": [
+ "var src = (window.location.protocol == 'https:') ? '://0' : 'javascript:void(0)';",
+ "document.write(",
+ " '<script type=\"text/javascript\" defer=\"defer\" src=\"' + src + '\"' +"
+ ],
+ "description": "`document.write()` should not be used to add scripts to pages via script tags or JavaScript URLs. Instead, use event listeners and external JavaScript.",
+ "editors_only": false,
{
- "column": 9358,
+ "column": 14423,
"compatibility_type": null,
"context": [
"... ;return e}),lt:u(function(e,t,n){for(var i=0>n?n+t:n;--i>=0;)e.push(i);return e}),gt:u(function(e,t,n){for(var i=0>n?n+t:n;++i<t;)e.push(i);",
- "... ise=function(t){if(!kt)if(kt=rt.Deferred(),\"complete\"===ht.readyState)setTimeout(rt.ready);else if(ht.addEventListener)ht.addEventListener(\" ...",
+ "... n{submit:!0,change:!0,focusin:!0})n=\"on\"+t,(nt[t+\"Bubbles\"]=n in e)||(i.setAttribute(n,\"t\"),nt[t+\"Bubbles\"]=i.attributes[n].expando===!1);i= ...",
"}}();var en,tn,nn=/^margin/,rn=new RegExp(\"^(\"+At+\")(?!px)[a-z%]+$\",\"i\"),on=/^(top|right|bottom|left)$/;e.getComputedStyle?(en=function(e){r ..."
],
from functools import partial
import math
import actions
from actions import _get_as_str
import call_definitions
from call_definitions import xpcom_constructor as xpcom_const, python_wrap
from entity_values import entity
import instanceactions
from jstypes import JSWrapper
def all_distinct_files(context, version):
hashes_to_file = defaultdict(list)
for file_ in version.all_files:
hashes_to_file[file_.hash].append(amo.PLATFORMS[file_.platform].name)
return new_context(context,
distinct_files=[' / '.join(platforms) for platforms in hashes_to_file.itervalues()],
version=version)
import simplejson as json
import subprocess
from validator.contextgenerator import ContextGenerator
import validator.unicodehelper as unicodehelper
def get_tree(code, err=None, filename=None, shell=None):
"""Retrieve the parse tree for a JS snippet."""
Exception in JS traversal; resource/csl-validator.js (56;237114)
Summary:
------------------------------
Detected type: Extension/Multi-Extension
------------------------------
Test failed! Errors:
Error: Validation timed out
The validation process took too long to complete. Contact an addons.mozilla.org editor for more information.
aguse-gateway
aguse-ポップアップツール
aguse
amazon-otonagaiswitch
any-key
arunasend
atletico-nacional-nacho-verde
autopaste
background-tabs
book-text-mark
From: Lord-of-Darkness <notifications@github.com>
To: mozilla/olympia <olympia@noreply.github.com>
Subject: Re: [olympia] Bug 1041873: Add mass deletion tool. (#283)
Desarrolladores y líderes de Mozilla, que son travestis culo!
Alguien debe colgar ustedes para arriba en sus propias bolas y dejar que su
perro muerda su caricatura de una polla!
Posteriormente deben ponerlo tiempo que sea necesario por la garganta hasta