Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
242 lines (226 sloc) 12.3 KB
<meta charset="utf-8">
<title>Bugs Ahoy - find relevant Mozilla bugs</title>
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" type="text/css" href="uitooltip.min.css">
<script type="text/javascript" src=""></script>
<script type="text/javascript" src="uitooltip.min.js"></script>
<script type="text/javascript" src="bz-0.2.3.js"></script>
<script type="text/javascript" src="magic.js"></script>
<div id="ba-total-header" role="banner">
Bugs Ahoy! <div><i>these bugs are relevant to my interests</i></div>
<div id="ba-content">
<div id="ba-choices" role="navigation">
<p class="choice-title">Are you interested in:</p>
function addCategories(cats) {
var choices = document.getElementById('ba-choices');
choices.setAttribute('class', 'choice-group');
for (var i = 0; i < cats.length; i++) {
var elem = document.createElement('div');
var inp = document.createElement('input');
inp.type = "checkbox";
inp.onchange = toggleCategory;
inp.setAttribute('id', cats[i][0]);
var lab = document.createElement('label');
lab.setAttribute('for', cats[i][0]);
var text = document.createTextNode(cats[i][1]);
function addGroupedCategories(cats) {
var choices = document.getElementById('ba-choices');
for (var i = 0; i < cats.length; i++) {
var elem = document.createElement('div');
elem.setAttribute('class', 'choice-group');
var title = document.createElement('div');
title.textContent = cats[i].name;
title.setAttribute('class', 'choice-group-title');
for (var j = 0; j < cats[i].entries.length; j++) {
var div = document.createElement('div');
var inp = document.createElement('input');
inp.type = "checkbox";
inp.onchange = toggleCategory;
var details = cats[i].entries[j];
inp.setAttribute('id', details[0]);
var lab = document.createElement('label');
lab.setAttribute('for', details[0]);
var text = document.createTextNode(details[1]);
var categories = [
'name': 'Web Platform',
'entries': [["a11y", "Accessibility"],
["gfx", "Graphics"],
["net", "Networking"],
["jseng", "JavaScript Engine"],
["layout", "Layout"],
["dom", "DOM and CSS technology"],
["editor", "Input handling"],
["media", "Media"]]
'name': 'Firefox',
'entries': [["ff", "User interface"],
["devtools", "Developer Tools"],
["internals", "Internals"],
["internals-android", "Internals (Android)"],
["internals-gtk", "Internals (GTK)"],
["internals-osx", "Internals (OSX)"],
["internals-win32", "Internals (Windows)"],
["mobileandroid", "Mobile (Android)"],
["mobileios", "Mobile (iOS)"],
["sync", "Sync"],
["webextensions", "Web Extensions"]]
'name': 'Other',
'entries': [["b2g", "Boot2Gecko / Firefox OS"],
["thunderbird", "Thunderbird"],
["instantbird", "Instantbird"],
["seamonkey", "SeaMonkey"],
["calendar", "Calendar"],
["servo", "Servo"],
["mdn", "MDN / Developer Documentation"]]
'name': 'Support',
'entries': [["build", "Build System"],
["releng", "Release Engineering"],
["taskcluster", "TaskCluster"],
["reporting", "Dashboards and Reporting"],
["automation", "Test Automation"],
["appsengineering", "Apps Engineering"]]
'name': 'Web Development',
'entries': [["bugzilla", "Bugzilla"],
["contentservices","Firefox Interest Dashboard"],
["addons", ""],
["marketplace", "Firefox Marketplace"],
<p class="choice-title">Do you know:</p>
["cpp", "C/C++"],
["html", "HTML/CSS"],
["java", "Java"],
["js", "JavaScript"],
["perl", "Perl"],
["py", "Python"],
["rust", "Rust"],
["sh", "Shell/Makefile/Autoconf"],
["xml", "XML/XUL"],
<p class="choice-title">Display only:</p>
addCategories([["unowned", "Unassigned bugs"],
["simple", "Simple bugs"],
["diamond", "Diamond Bugs"]]);
<div id="bugs" role="main">
<div id="ba-header" role="log">Results <span id="total"></span> <img id="throbber" alt="Fetching results" src="loading.gif" style="visibility: hidden; float: right"></div>
<div id="simple-hint" class="simple-hint">
<div class="simple-hint-text">Do you want to display only simple bugs?</div>
<div class="simple-hint-buttons">
<input class="simple-hint-button" type="button" value="Yes" onclick="document.getElementById('simple').checked = true; toggleCategoryById('simple');">
<input class="simple-hint-button" type="button" value="No" onclick="$(this.parentNode).fadeOut()">
<div id="bugs_content">
<div class="bug"><span>No categories specified.</span></div>
<aside class="aside">
<ul id="ba-extra" role="complementary"></ul>
<div class="ba-twitter">
<a class="twitter-timeline" swidth="500"
height="300" href="" data-widget-id="514951453161422848">Tweets by @StartMozilla</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);;js.src=p+"://";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
function addExtra(cat, header, content) {
var extra = document.getElementById('ba-extra');
var elem = document.createElement('li');
elem.setAttribute('id', cat + '-extra');
var h = document.createElement('div');
h.setAttribute('class', 'ba-extra_header');
var tn = document.createTextNode(header);
var c = document.createElement('div');
c.setAttribute('class', 'ba-extra_body');
c.innerHTML = content;
addExtra('mobileandroid', 'Extra information for Mobile on Android', 'Get involved with the <a href="" target="_blank">Mobile team</a>');
addExtra('mobileios', 'Extra information for Mobile on iOS', 'Find out more at the <a href="" target="_blank">GitHub page</a>');
addExtra('java', 'Extra information for Java', 'Get involved with the <a href="" target="_blank">Mobile team</a>');
addExtra('py', 'Do you like Python?', 'Get involved with the <a href="" target="_blank">Auto-Tools</a> team<br>Get involved with the <a href="">Release Engineering</a> team<br>Get involved with the <a href="">WebDev</a> team');
addExtra('gfx', 'Extra information for Graphics', 'Get involved with the <a href="" target="_blank">Graphics</a> team');
addExtra('jseng', 'Extra information for the JS engine', 'Get involved with the <a href="" target="_blank">JS engine</a> team');
addExtra('a11y', 'Extra information for Accessibility', 'Get involved with the <a href="" target="_blank">Accessibility</a> team');
addExtra('releng', 'Extra information for Release Engineering', 'Get involved with the <a href="" target="_blank">Release Engineering</a> team');
addExtra('reporting', 'Extra information for Dashboards', 'Find out more about the <a href="" target="_blank">Treeherder</a> dashboard and its components');
addExtra('sync', 'Extra information for Firefox Sync' , 'Get involved with the <a href="" target="_blank">Sync</a> team');
addExtra('seamonkey', 'Extra information for SeaMonkey', 'Get involved with the <a href="" target="_blank">SeaMonkey Project</a>');
addExtra('js', 'Extra information for JS', 'Get involved with the <a href="" target="_blank">PDF.js project</a><br>Get involved with the <a href="">emscripten project</a><br>Get involved with the <a href="">WebDev</a> team');
addExtra('b2g', 'Extra information for Boot2Gecko', 'Get involved with the <a href="" target="_blank">Boot2Gecko project</a> and/or the <a href="">Gaia project</a>');
addExtra('devtools', 'Extra information for Developer Tools', 'Get involved with the <a href="" target="_blank">devtools team</a>');
addExtra('webmaker', 'Extra information for Webmaker', 'Get involved with the <a href="" target="_blank">Webmaker team</a>');
addExtra('appsengineering', 'Extra information for Apps Engineering', 'Get involved with the <a href="" target="_blank">Apps Engineering team</a>');
addExtra('bugzilla', 'Extra information for Bugzilla', 'Get involved with the <a href="">Bugzilla</a> project or <a href="">BMO</a>, Mozilla\'s custom version');
addExtra('instantbird', 'Extra information for Instantbird', 'Get involved with the <a href="" target="_blank">Instantbird project</a>');
addExtra('servo', 'Extra information for Servo', 'Get involved with the <a href="">Servo</a> project');
addExtra('mdn', 'Extra information for MDN', 'Get involved with the <a href="" target="_blank">MDN Community</a>');
function initial_state() {
var query =;
if (query.length == 0) return;
function check_state (sVar) {
return unescape(query.replace(new RegExp("^(?:.*[&\\?]" + escape(sVar).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1"));
var checks = document.getElementsByTagName("input");
for (var i = 0; i < checks.length; i++) {
if (checks[i].type != "checkbox")
if (check_state(checks[i].id)) {
checks[i].checked = true;
checks[i].onchange({target: checks[i]});
window.onload = initial_state;
<div id="ba-footer" role="contentinfo">
<i><a href="">Bugs Ahoy!</a></i> <span>is written by <a href="">Josh Matthews</a>
(get the <a href="">source</a>!)</span>