Bug 395466 Checking in patch by Ben_H for QA Extension

This commit is contained in:
ctalbert%mozilla.com 2007-09-10 22:01:08 +00:00
Родитель e96fd4b654
Коммит 838a3f38df
42 изменённых файлов: 3219 добавлений и 2315 удалений

Просмотреть файл

@ -5,7 +5,6 @@ build.xml adapted from Shawn Wilsher's rtse
(http://shawnwilsher.com/extensions/rtse/)
-->
<project name="qa" default="createxpi">
<tstamp>
<format property="build.number" pattern="yyyyMMdd" offset="-1" unit="hour"/>

Просмотреть файл

@ -1,46 +1,48 @@
<!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is Zach Lipton.
# Portions created by the Initial Developer are Copyright (C) 2006
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Ben Hsieh <ben.hsieh@gmail.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2006
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Ben Hsieh <ben.hsieh@gmail.com>
*
* Portions taken from David Hamp-Gonsalves' Buggybar (buggybar@gmail.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var accountCreate = {
oldPassword: null, //TODO: is this secure?
oldUsername: null,
updateFunction : null,
loadSetup : function() {
document.getElementById('qa-setup-createaccount-iframe').src =
document.getElementById('qa-settings-createaccount-frame').src =
litmus.baseURL+'extension.cgi?createAccount=1';
accountCreate.updateFunction = window.arguments[0];
@ -48,53 +50,23 @@ var accountCreate = {
accountCreate.oldUsername = qaPref.litmus.getUsername();
},
validateAccount : function() {
// we're creating a new account, so get the uname and passwd
// from the account created page:
var page = document.getElementById('qa-setup-createaccount-iframe').
contentDocument;
if (!page) {
alert("create account page is missing");
return false;
}
if (page.wrappedJSObject == null)
page.wrappedJSObject = page;
if (page.forms[0] && page.forms[0].wrappedJSObject == null)
page.forms[0].wrappedJSObject = page.forms[0];
if (page.location == litmus.baseURL+'extension.cgi?createAccount=1'
&& qaSetup.didSubmitForm==0) {
page.forms[0].wrappedJSObject.submit();
qaSetup.didSubmitForm = 1;
setTimeout("qaSetup.validateAccount()", 5000);
return false;
}
if (qaSetup.didSubmitForm == 1 && ! page.forms ||
! page.forms[0].wrappedJSObject ||
! page.forms[0].wrappedJSObject.email &&
! page.forms[0].wrappedJSObject.email.value)
{qaSetup.didSubmitForm = 2;
setTimeout("qaSetup.validateAccount()", 4000);
return false;}
var e = '';
var p = '';
if (page.forms && page.forms[0].wrappedJSObject &&
page.forms[0].wrappedJSObject.email &&
page.forms[0].wrappedJSObject.email.value)
{ e=page.forms[0].wrappedJSObject.email.value }
if (page.forms && page.forms[0].wrappedJSObject &&
page.forms[0].wrappedJSObject.password &&
page.forms[0].wrappedJSObject.password.value)
{ p=page.forms[0].wrappedJSObject.password.value }
// e is account, p is password
var uname = e;
var passwd = p;
var account = qaSetup.retrieveAccount("qa-settings-createaccount-frame");
var uname = account.name;
var passwd = account.password;
if (e == '' || p == '') {
if (uname == '' || passwd == '') {
alert("No username or password has been registered.");
return false; //we need better error handling.
}
var location = document.getElementById('qa-settings-createaccount-frame').contentDocument.location + "";
if (location.indexOf("createAccount") != -1) {
alert("Account not created! You most likely need to click the 'Create Account' button");
return false;
}
qaPref.litmus.setPassword(uname, passwd);
accountCreate.updateFunction();

Просмотреть файл

@ -1,39 +1,39 @@
<?xml version="1.0"?><!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is Zach Lipton.
# Portions created by the Initial Developer are Copyright (C) 2006
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Ben Hsieh <ben.hsieh@gmail.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is the Mozilla Community QA Extension
-
- The Initial Developer of the Original Code is the Mozilla Corporation.
- Portions created by the Initial Developer are Copyright (C) 2007
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Ben Hsieh <ben.hsieh@gmail.com>
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE wizard PUBLIC "-//MOZILLA//DTD XUL V1.0//EN" "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
@ -63,7 +63,7 @@
</stringbundleset>
<vbox id="qa-setup-accountno" style="display: none" width="0px" height="0px" />
<html:iframe id="qa-setup-createaccount-iframe"
<html:iframe id="qa-settings-createaccount-frame"
height="280"/>
</dialog>

Просмотреть файл

@ -1,39 +1,40 @@
<?xml version="1.0"?><!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2006
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is the Mozilla Community QA Extension
-
- The Initial Developer of the Original Code is the Mozilla Corporation.
- Portions created by the Initial Developer are Copyright (C) 2007
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Zach Lipton <zach@zachlipton.com>
- Ben Hsieh <ben.hsieh@gmail.com>
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://qa/skin/browserOverlays.css" type="text/css"?>
@ -51,7 +52,6 @@
<statusbar id="status-bar">
<statusbarpanel class="statusbarpanel-iconic" id="qa-statusbar-overlay"
src="chrome://qa/skin/qmo-16px.png"
onclick="qaMain.openQATool();" />
</statusbar>
@ -84,6 +84,4 @@
</vbox>
</vbox>
</window>
</overlay>

Просмотреть файл

@ -21,6 +21,8 @@
* Zach Lipton <zach@zachlipton.com>
* Ben Hsieh <ben.hsieh@gmail.com>
*
* Portions taken from David Hamp-Gonsalves' Buggybar (buggybar@gmail.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
@ -51,7 +53,7 @@ var qaTools = {
if (err instanceof CancelledError) {
return;
}
alert(err);
dump(err);
});
d.addCallback(function(obj) {
if (obj instanceof Array) {
@ -80,7 +82,7 @@ var qaTools = {
var feed = result.doc;
feed.QueryInterface(Ci.nsIFeed);
callback(feed);
},
}
};
function infoReceived() {
@ -123,7 +125,8 @@ var qaTools = {
if (bool == true) { // show
var loading = document.createElementNS("http://www.w3.org/1999/xhtml", "p");
loading.textContent = qaMain.bundle.getString("qa.extension.loading");
loading.setAttributeNS("http://www.w3.org/1999/xhtml", "class", "loading_message");
loading.setAttributeNS("http://www.w3.org/1999/xhtml",
"class", "loading_message");
box.appendChild(loading);
} else { // hide
var elements = box.childNodes;
@ -171,4 +174,25 @@ var qaTools = {
openUILinkIn(url, where);
event.preventDefault(); // prevent it from simply following the href
},
makeUniqueArray : function(array) {
var RV = new Array();
for( var i = 0; i < array.length; i++ ) {
if( RV.indexOf(array[i]) < 0 ) { RV.push( array[i] ); }
}
return RV;
}
};
function getCleanText(inputText)
{
inputText = inputText.replace(/&#64;/g,"@");
inputText = inputText.replace(/&quot;/g,"\"");
inputText = inputText.replace(/&lt;/g, "<");
inputText = inputText.replace(/&gt;/g, ">");
inputText = inputText.replace(/&amp;/g, "&");
inputText = inputText.replace(/<[^>]*>/g, "");
inputText = inputText.replace(/\s+/g, " ");
inputText = inputText.replace(/\n*/g, "");
return inputText;
}

Просмотреть файл

@ -72,7 +72,7 @@
if (err instanceof CancelledError) {
return;
}
alert(err);
dump(err);
});
},
@ -268,6 +268,17 @@
qaTools.assignLinkHandlers($('qa-testcase-steps'));
qaTools.assignLinkHandlers($('qa-testcase-expected'));
if (testcase.regression_bug_id) {
bugzilla.loadBug(testcase.regression_bug_id);
} else {
var bugarray = bugzilla.findBugzillaLinks($("qa-testcase-expected"));
if (bugarray.length) {
bugzilla.loadBug(bugarray[0]);
for (var i = 1; i < bugarray.length; i++) {
bugzilla.loadBug(bugarray[i], true);
}
}
}
litmus.checkRadioButtons();
},
populateFields : function(subgroup) {
@ -338,14 +349,14 @@
};
var errback = function(resp) {
alert(resp.responseText);
dump(resp.responseText);
};
litmus.postResultXML(l.toXML(), callback, errback);
var item = menu.selectedItem;
item.firstChild.setAttribute("checked", "true");
return false; // ?? Got rid of strict warning...
},
}
};
// any missing fields will be autodetected
@ -463,5 +474,5 @@ Sysconfig.prototype = {
// locale
this.locale = navigator.language;
if (!this.locale) { throw "locale" }
},
}
};

Просмотреть файл

@ -1,40 +1,38 @@
// ***** BEGIN LICENSE BLOCK *****
// Version: MPL 1.1/GPL 2.0/LGPL 2.1
//
// The contents of this file are subject to the Mozilla Public License Version
// 1.1 (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
// http://www.mozilla.org/MPL/
//
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
// for the specific language governing rights and limitations under the
// License.
//
// The Original Code is Litmus.
//
// The Initial Developer of the Original Code is
// The Mozilla Corporation.
// Portions created by the Initial Developer are Copyright (C) 2006
// the Initial Developer. All Rights Reserved.
//
// Contributor(s):
// Zach Lipton <zach@zachlipton.com> (Original author)
//
// Alternatively, the contents of this file may be used under the terms of
// either the GNU General Public License Version 2 or later (the "GPL"), or
// the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
// in which case the provisions of the GPL or the LGPL are applicable instead
// of those above. If you wish to allow use of your version of this file only
// under the terms of either the GPL or the LGPL, and not to allow others to
// use your version of this file under the terms of the MPL, indicate your
// decision by deleting the provisions above and replace them with the notice
// and other provisions required by the GPL or the LGPL. If you do not delete
// the provisions above, a recipient may use your version of this file under
// the terms of any one of the MPL, the GPL or the LGPL.
//
// ***** END LICENSE BLOCK *****
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
// Generate XML result data and submit it to Litmus
// Note that this is essentially a direct port of the Test::Litmus perl
@ -137,7 +135,7 @@ LitmusResults.prototype = {
d += ' </testresults>'+"\n";
d += '</litmusresults>'+"\n";
return d;
},
}
};
/**
@ -167,7 +165,7 @@ Log.prototype = {
d += ' <![CDATA['+this.data+']]>'+"\n";
d += '</log>'+"\n";
return d;
},
}
};
/**
@ -232,7 +230,7 @@ Result.prototype = {
}
d += '</result>'+"\n";
return d;
},
}
};
function leadZero(num) {

Просмотреть файл

@ -270,5 +270,5 @@ Notification.prototype = {
// catch all:
return false;
},
}
};

Просмотреть файл

@ -81,7 +81,7 @@ var qaPref = {
}
}
return null;
},
}
};
// public API:
@ -143,7 +143,7 @@ if (CC_passwordManager != null) { // old-fashioned password manager
m.removeUser(p.host, p.user);
}
m.addUser(this.passwordName(), username, password);
},
}
};
} else if (CC_loginManager != null) { // use the new login manager interface
qaPref.litmus = {
@ -187,6 +187,6 @@ if (CC_passwordManager != null) { // old-fashioned password manager
} catch(ex) {
return false;
}
},
}
};
}

Просмотреть файл

@ -39,17 +39,38 @@ var qaMain = {
htmlNS: "http://www.w3.org/1999/xhtml",
openQATool : function() {
window.open("chrome://qa/content/qa.xul", "_blank", "chrome,all,dialog=no,resizable=no");
window.open("chrome://qa/content/qa.xul", "_blank",
"chrome,all,dialog=no,resizable=no");
},
onToolOpen : function() {
if (qaPref.getPref(qaPref.prefBase+'.isFirstTime', 'bool') == true) {
window.open("chrome://qa/content/setup.xul", "_blank", "chrome,all,dialog=yes");
window.open("chrome://qa/content/setup.xul", "_blank",
"chrome,all,dialog=yes");
}
if (qaPref.getPref(qaPref.prefBase + '.currentTestcase.testrunSummary', 'char') != null) {
litmus.readStateFromPref();
}
},
onSwitchTab : function() {
var newSelection = $('qa_tabrow').selectedItem;
// user is switching to the prefs tab:
if ($('qa_tabrow').selectedItem == $('qa-tabbar-prefs')) {
qaPrefsWindow.loadPrefsWindow();
} else if ($('qa_tabrow').selectedItem == $('qa-tabbar-bugzilla')) {
bugzilla.unhighlightTab();
}
// user is switching away from the prefs tab:
if (qaPrefsWindow.lastSelectedTab != null &&
qaPrefsWindow.lastSelectedTab == $('qa-tabbar-prefs')) {
qaPrefsWindow.savePrefsWindow();
}
qaPrefsWindow.lastSelectedTab = newSelection;
}
};
qaMain.__defineGetter__("bundle", function(){return $("bundle_qa");});
qaMain.__defineGetter__("urlbundle", function(){return $("bundle_urls");});
function $() {

Просмотреть файл

@ -1,39 +1,40 @@
<?xml version="1.0"?><!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is the Mozilla Community QA Extension
-
- The Initial Developer of the Original Code is the Mozilla Corporation.
- Portions created by the Initial Developer are Copyright (C) 2007
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Zach Lipton <zach@zachlipton.com>
- Ben Hsieh <ben.hsieh@gmail.com>
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xml-stylesheet href="chrome://global/skin/browser.css" type="text/css"?>
@ -73,12 +74,23 @@
<script type="application/x-javascript" src="chrome://qa/content/litmus.js" />
<script type="application/x-javascript" src="chrome://qa/content/qa.js" />
<script type="application/x-javascript" src="chrome://qa/content/tabs/qmo.js" />
<script type="application/x-javascript" src="chrome://qa/content/tabs/bugzilla.js" />
<script type="application/x-javascript" src="chrome://qa/content/tabs/bugAccess.js" />
<script type="application/x-javascript">
// on load, set an event listener to deal with saving settings when
// changing tabs
window.addEventListener('load', function() {
$('qa_tabrow').addEventListener('select', qaMain.onSwitchTab, false);
}, false);
</script>
<tabbox id="qa_tabbox">
<tabs id="qa_tabrow">
<tab id="qa-tabbar-qmo" class="tabbrowser-tab" />
<tab label="&qa.litmus.title;" class="tabbrowser-tab" />
<tab label="&qa.bugzilla.title;" class="tabbrowser-tab" />
<tab label="&qa.bugzilla.title;" id="qa-tabbar-bugzilla" class="tabbrowser-tab" />
<tab label="&qa.chat.title;" class="tabbrowser-tab" />
<spacer id="qa-tabbar-spacer" />
<tab label="&qa.preferences.title;" id="qa-tabbar-prefs" class="tabbrowser-tab" />
@ -96,6 +108,4 @@
<tabpanel id="qa-tab-help"></tabpanel>
</tabpanels>
</tabbox>
</window>

Просмотреть файл

@ -19,6 +19,7 @@
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
* Ben Hsieh <ben.hsieh@gmail.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
@ -38,23 +39,6 @@
var qaPrefsWindow = {
lastSelectedTab : null,
onSwitchTab : function() {
var newSelection = $('qa_tabrow').selectedItem;
// user is switching to the prefs tab:
if ($('qa_tabrow').selectedItem == $('qa-tabbar-prefs')) {
qaPrefsWindow.loadPrefsWindow();
}
// user is switching away from the prefs tab:
if (qaPrefsWindow.lastSelectedTab != null &&
qaPrefsWindow.lastSelectedTab == $('qa-tabbar-prefs')) {
qaPrefsWindow.savePrefsWindow();
}
qaPrefsWindow.lastSelectedTab = newSelection;
},
loadPrefsWindow : function() {
prefsTabOpen = true;
document.getElementById('qa-preferences-litmus-username').value =
@ -124,11 +108,13 @@ var qaPrefsWindow = {
passwd.value = qaPref.litmus.getPassword();
},
createAccount : function() {
window.openDialog("chrome://qa/content/accountcreate.xul", "_blank", "chrome,all,dialog=yes", qaPrefsWindow.loadUsernameAndPassword);
},
window.openDialog("chrome://qa/content/accountcreate.xul",
"_blank",
"chrome,all,dialog=yes",
qaPrefsWindow.loadUsernameAndPassword);
}
};
var qaSetup = {
didSubmitForm : 0,
@ -161,12 +147,8 @@ var qaSetup = {
accountyes.style.display = '';
}
},
validateAccount : function() {
if (document.getElementById('qa-setup-accountno').style.display == '') {
// we're creating a new account, so get the uname and passwd
// from the account created page:
var page = document.getElementById('qa-setup-createaccount-iframe').
contentDocument;
retrieveAccount : function(frameid, loadingid) {
var page = document.getElementById(frameid).contentDocument;
if (!page) {
alert("create account page is missing");
return false;
@ -176,9 +158,9 @@ var qaSetup = {
if (page.forms[0] && page.forms[0].wrappedJSObject == null)
page.forms[0].wrappedJSObject = page.forms[0];
if (page.location == litmus.baseURL+'extension.cgi?createAccount=1'
if (loadingid && page.location == litmus.baseURL+'extension.cgi?createAccount=1'
&& qaSetup.didSubmitForm==0) {
document.getElementById('qa-setup-accountconfirmloading').value =
document.getElementById('loadingid').value =
document.getElementById("bundle_qa").getString("qa.extension.prefs.loadingMsg");
page.forms[0].wrappedJSObject.submit();
qaSetup.didSubmitForm = 1;
@ -202,8 +184,14 @@ document.getElementById("bundle_qa").getString("qa.extension.prefs.loadingMsg");
page.forms[0].wrappedJSObject.password &&
page.forms[0].wrappedJSObject.password.value)
{ p=page.forms[0].wrappedJSObject.password.value }
document.getElementById('username').value = e;
document.getElementById('password').value = p;
return { name : e, password : p};
},
validateAccount : function() {
if (document.getElementById('qa-setup-accountno').style.display == '') {
var account = qaSetup.retrieveAccount("qa-setup-createaccount-iframe", "qa-setup-accountconfirmloading");
document.getElementById('username').value = account.name;
document.getElementById('password').value = account.password;
}
document.getElementById('qa-setup-accountconfirmloading').value =
@ -278,5 +266,5 @@ document.getElementById("bundle_qa").getString("qa.extension.prefs.loadingMsg");
finish : function() {
qaPref.setPref(qaPref.prefBase+'.isFirstTime', false, 'bool');
},
}
};

Просмотреть файл

@ -1,39 +1,39 @@
<?xml version="1.0"?><!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is Zach Lipton.
# Portions created by the Initial Developer are Copyright (C) 2006
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is the Mozilla Community QA Extension
-
- The Initial Developer of the Original Code is the Mozilla Corporation.
- Portions created by the Initial Developer are Copyright (C) 2007
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Zach Lipton <zach@zachlipton.com>
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://qa/skin/" type="text/css"?>

Просмотреть файл

@ -0,0 +1,325 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the buggybar extension.
*
* The Initial Developer of the Original Code is
* David Hamp-Gonsalves
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* David Hamp-Gonsalves
* Ben Hsieh <ben.hsieh@gmail.com> (modified for the QA Community Extension)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
//bugAccess Class
//used to comunicate with the bugzilla server, this will eventually be
//an interface so the webservices version can be pluged in here if the
//bugzilla instance supports it. Right now the http/xml version is used
function bugAccess()
{
var onloadBugList;
var onloadBugSpecs;
var onloadBugSearch;
var onloadBugSave;
var onloadLogin;
this.getBugSpecs = function(inputId,inUrl,onloadFunc)
{
if(onloadFunc!=undefined)
{
onloadBugSpecs = onloadFunc;
}else
alert("ERROR: getBugList called without function parameter");
var url = inUrl+"show_bug.cgi?ctype=xml&id=";
//get bug id and create URL
url += inputId;
//TODO: need pop alert if connect can't be made(onerror)
var xmlHttp=new XMLHttpRequest();
xmlHttp.open("GET", url, true);
var req=new XMLHttpRequest();
req.open("GET", url, true);
var callback = this.parseBugSpecs;
req.onreadystatechange = function (aEvt) {
if (req.readyState == 4) {
if(req.status == 200) {
// alert(req.responseXML);
callback(req);
}else
alert("Error loading page\n");
}
};
req.send(null);
// leave true for Gecko
xmlHttp.send(null);
//xmlHttp.onload=this.parseBugSpecs;
}
//parse individual bug page
this.parseBugSpecs = function(e)
{
var bugInfo = new Object();
//var xml = e.target.responseXML;
var xml = e.responseXML;
// alert(xml);
if(xml.getElementsByTagName("bug")[0].getAttribute("error")!=null)
{
alert("The requested bug was: "+ xml.getElementsByTagName("bug")[0].getAttribute("error"));
bugInfo["id"] = "";
bugInfo["title"] = "";
bugInfo["status"] = "";
bugInfo["info"] = "";
}else
{
bugInfo["id"] = xml.getElementsByTagName("bug_id")[0].firstChild.data;
bugInfo["title"] = xml.getElementsByTagName("short_desc")[0].firstChild.data;
bugInfo["status"] = xml.getElementsByTagName("bug_status")[0].firstChild.data
if (xml.getElementsByTagName("resolution").length)
bugInfo["status"] += "--" + xml.getElementsByTagName("resolution")[0].firstChild.data;
bugInfo["info"] = xml.getElementsByTagName("short_desc")[0].firstChild.data + "\n\n"
+ xml.getElementsByTagName("thetext")[0].firstChild.data;
}
onloadBugSpecs(bugInfo);
}
this.setBugListOnloadFunc = function(onloadFunc){onloadBugList = onloadFunc;}
this.setBugSearchOnloadFunc = function(onloadFunc){onloadBugSearch = onloadFunc;}
// get list of bugs html page
this.getBugList = function(inURL, params, mode)
{
var xmlHttp=new XMLHttpRequest();
xmlHttp.open("GET", inURL+"/buglist.cgi?"+params, true);
dump("searching: " + inURL+"/buglist.cgi?"+params);
// leave true for Gecko
xmlHttp.send(null);
if(mode == 1)//list mode
xmlHttp.onload=this.parseBugList;
else if(mode == 0)//search mode
xmlHttp.onload=this.parseBugSearch;
}
this.parseBugList = function(e)
{
var bugData = parseList(e.target.responseText);
onloadBugList(bugData);
}
this.parseBugSearch = function(e)
{
var bugData = parseList(e.target.responseText);
onloadBugSearch(bugData);
}
this.writeBugToBugzilla = function(inUrl,bugSpec,fn)
{
onloadBugSave=fn;
var names = new Array(bugSpecs.getFieldTotal());
names[0]="id";
names[1]="product";
names[2]="component";
names[3]="status";
names[4]="resolution";
names[5]="assigned_to";
names[6]="rep_platform";
names[7]="op_sys";
names[8]="version";
names[9]="priority";
names[10]="bug_severity";
names[11]="target_milestone";
names[12]="reporter";
names[13]="qa_contact";
names[14]="bug_file_loc";
names[15]="short_desc";
var fieldCount = bugSpecs.getFieldTotal();
var varString="";
for(i=0;i<fieldCount-1;i++)
{
if(names[i]!="reporter")
varString+=names[i]+"="+bugSpec.getSpec(i)+"&";
}
varString+="longdesclength=&knob="+bugSpec.getKnob();
var xmlHttp=new XMLHttpRequest();
xmlHttp.open("POST", inUrl+"/process_bug.cgi",true);
xmlHttp.setRequestHeader("Method", "POST "+inUrl+"/process_bug.cgi"+" HTTP/1.1");
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(varString);
//xmlHttp.onreadystatechange = this.writeBugToBugzillaStatus;
xmlHttp.onload = this.writeBugToBugzillaReturnStatus;
}
this.writeBugToBugzillaReturnStatus = function(e)
{
if (e.target.readyState == 4)
{
if (e.target.status == 200)
{
var start;//will hold first pos of error search string from responce text if its an error page
//window._content.document.write("<b> the responce status is: </b>"+self.xmlHttp.status+"<br/>");
if(e.target.responseText.indexOf('name="Bugzilla_login">')!=-1)
{
//login page returned which means user isn't logged in
alert("Your not logged in to this instance of bugzilla");
}else if(e.target.responseText.indexOf('Bug processed')!=-1)
{
var success = "Changes Made";
alert(success);
}else if((start = e.target.responseText.indexOf('<td bgcolor="#ff0000">'))!=-1)
{
//error was recieved
var error = "Error: "+e.target.responseText.substring(start,e.target.responseText.indexOf('</td>'));
error = error.replace(/\n|\t|/g,"");
error = error.replace(/<[^>]+>/g,"");
error = getCleanText(error);
alert(error);
}
}else
{
alert("Connection failed! possible network error");
}
onloadBugSave();
}else
{
//at one of the load phases before 4
alert("load phase: "+e.target.readyState);
}
}
this.loginToBugzilla = function(inUrl, user, passwd, fn)
{
onloadLogin = fn;
var varString = "&Bugzilla_login="+user+"&Bugzilla_password="+passwd;
var xmlHttp=new XMLHttpRequest();
xmlHttp.open("POST", inUrl+"/index.cgi?GoAheadAndLogIn=1",true);
xmlHttp.setRequestHeader("Method", "POST "+inUrl+"/index.cgi"+" HTTP/1.1");
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(varString);
xmlHttp.onload = this.loginToBugzillaStatus;
}
this.loginToBugzillaStatus = function(e)
{
//1 - success, -1 - failure, 0 - error unknown state
var rc=0;
var start;//will hold first pos of error search string from responce text if its an error page
if(e.target.responseText.indexOf('href="relogin.cgi"')!=-1)//success
{
//success
rc=1;
alert("Login successful");
}else if(e.target.responseText.toLowerCase().indexOf('invalid username or password')!=-1)//failure
{
rc=-1;
alert("Bugzilla reported that your user name or password was invalid please verify");
}
onloadLogin(rc);
}
}
//Kludge: couldn't find this fn when inside bugAccess for some reason ahould be moved to bug access class
//parse list of bugs html page and return array with ids and descriptions
function parseList(xmlHttp)
{
var beginLoc=0;
var endLoc=0;
var id;
var summary;
bugData=new Array();
//dump(xmlHttp);
for(var i = 0;(beginLoc = xmlHttp.indexOf('show_bug.cgi?id',endLoc)) != -1; i++)
{
endLoc = xmlHttp.indexOf('"',beginLoc);
beginLoc = xmlHttp.indexOf('=',beginLoc);
id=xmlHttp.substring(beginLoc+1, endLoc);
//move past other entries to get to summary
var curLoc=endLoc;
endLoc = xmlHttp.indexOf('</tr>',endLoc);
endLoc = xmlHttp.lastIndexOf('</td>',endLoc);
beginLoc = xmlHttp.lastIndexOf("<td >",endLoc);
if(beginLoc==-1)
{
beginLoc = xmlHttp.lastIndexOf("<td>",endLoc);//other option
}
summary = xmlHttp.substring(beginLoc, endLoc);
summary = getCleanText(summary);
bugData[i] = new Array(2);
bugData[i][0] = id;
bugData[i][1] = summary;
//alert("loop:" + i);
}
//alert("end loop:" + bugData, bugData.length);
return bugData;
}

Просмотреть файл

@ -0,0 +1,205 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Ben Hsieh <ben.hsieh@gmail.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var bugzilla = {
trunkVersion : "3.0",
baseURL : qaPref.getPref(qaPref.prefBase+".bugzilla.url", "char"),
sysconfig: null,
bugReader : null,
doSearch : function() {
var words = $("qa-bugzilla-input-keywords").value;
var bugId = $("qa-bugzilla-input-id").value;
if ($("qa-bugzilla-radio-words").selected) { // keyword search
if ($("qa-bugzilla-input-os").checked && words.indexOf("os:") == -1) {
if (bugzilla.sysconfig == null) bugzilla.sysconfig = new Sysconfig();
words += " os:" + bugzilla.sysconfig.opsys.substr(0,3);
}
if ($("qa-bugzilla-input-version").checked && words.indexOf("version:") == -1) {
if (bugzilla.sysconfig == null) bugzilla.sysconfig = new Sysconfig();
var branch = bugzilla.sysconfig.branch.substr(0,3);
if (branch.indexOf(bugzilla.trunkVersion) != -1) branch = "Trunk";
words += " version:" + branch;
}
bugzilla.loadBugGroup(words);
} else { //id search
bugzilla.loadBug(bugId);
}
},
showRecent : function() {
$("qa-bugzilla-input-radiogroup").selectedItem = $("qa-bugzilla-radio-words");
bugzilla.disableOther();
bugzilla.loadBugGroup("product=Core&product=Firefox&product=Mozilla+Application+Suite&product=Thunderbird&product=Toolkit"
+"&bug_status=UNCONFIRMED,NEW,ASSIGNED,REOPENED,RESOLVED&chfield=%5BBug%20creation%5D&chfieldfrom=-24h"
, true);
},
loadBugGroup : function (param, detailsearch) {
var callback = function(bugarray) { // bugarray is a 2d array with id and summaries
var menu = document.getElementById('bugSearchList');
while (menu.getRowCount()) { // clear menu
menu.removeItemAt(0);
};
for (var i = 0; i < bugarray.length; i++) {
var row = document.createElement("listitem");
row.value = bugarray[i][0];
var number = document.createElement("listcell");
number.setAttribute("label", bugarray[i][0]);
var name = document.createElement("listcell");
name.setAttribute("label", bugarray[i][1]);
name.setAttribute("crop", "end");
name.setAttribute("maxwidth", "175");
row.appendChild(number);
row.appendChild(name);
menu.appendChild(row);
}
if(bugarray.length) menu.selectedIndex = 0;
$("qa-bugzilla-input-keywords").value = param;
if ($('qa_tabrow').selectedItem != $('qa-tabbar-bugzilla')) {
bugzilla.highlightTab();
}
}
if (bugzilla.bugReader == null) bugzilla.bugReader = new bugAccess();
bugzilla.bugReader.setBugSearchOnloadFunc(callback);
if (detailsearch) bugzilla.bugReader.getBugList(bugzilla.baseURL, "buglist.cgi?="+param, 0);
else bugzilla.bugReader.getBugList(bugzilla.baseURL, "quicksearch="+param, 0);
},
loadBug : function (bugId, preserveCurrent) {
var callback = function(bugObj) {
// menu
var menu = document.getElementById('bugSearchList');
while (menu.getRowCount() && !preserveCurrent) { // clear menu
menu.removeItemAt(0);
};
var row = document.createElement("listitem");
row.value = bugObj["id"];
var number = document.createElement("listcell");
number.setAttribute("label", bugObj["id"]);
var name = document.createElement("listcell");
name.setAttribute("label", bugObj["title"]);
name.setAttribute("crop", "end");
name.setAttribute("maxwidth", "175");
row.appendChild(number);
row.appendChild(name);
menu.appendChild(row);
// summary
$("qa-bugzilla-input-id").value = $("qa-bugzilla-output-id").value = bugObj["id"];
$("qa-bugzilla-output-status").value = bugObj["status"];
$("qa-bugzilla-output-summary").value = bugObj["info"];
qaTools.assignLinkHandlers($("qa-bugzilla-output-summary"));
if ($('qa_tabrow').selectedItem != $('qa-tabbar-bugzilla')) {
bugzilla.highlightTab();
}
}
if (bugzilla.bugReader == null) bugzilla.bugReader = new bugAccess();
bugzilla.bugReader.getBugSpecs(bugId, bugzilla.baseURL, callback);
},
disableOther : function() {
if ($("qa-bugzilla-radio-words").selected) {
$("qa-bugzilla-input-keywords").disabled = false;
$("qa-bugzilla-input-os").disabled = false;
$("qa-bugzilla-input-version").disabled = false;
$("qa-bugzilla-input-id").disabled = true;
} else {
$("qa-bugzilla-input-id").disabled = false;
$("qa-bugzilla-input-keywords").disabled = true;
$("qa-bugzilla-input-os").disabled = true;
$("qa-bugzilla-input-version").disabled = true;
}
},
handleSelect : function() {
var menu = $('bugSearchList');
if (menu.selectedItem.value == $("qa-bugzilla-output-id").value) return;
var callback = function(bugObj) {
$("qa-bugzilla-output-id").value = bugObj["id"];
$("qa-bugzilla-output-status").value = bugObj["status"];
$("qa-bugzilla-output-summary").value = bugObj["info"];
}
if (bugzilla.bugReader == null) bugzilla.bugReader = new bugAccess();
bugzilla.bugReader.getBugSpecs(menu.selectedItem.value, bugzilla.baseURL, callback);
},
highlightTab : function() {
$('qa-tabbar-bugzilla').className = "tabbrowser-tab highlight";
},
unhighlightTab : function() {
$('qa-tabbar-bugzilla').className = "tabbrowser-tab";
},
openInBugzilla : function() {
if ($("qa-bugzilla-output-id").value == "") {
alert("no value");
return;
}
var url = bugzilla.baseURL + "show_bug.cgi?id=" + $("qa-bugzilla-output-id").value;
var type = qaPref.getPref("browser.link.open_external", "int");
var where = "tab";
if (type == 2) where = "window";
openUILinkIn(url, where);
},
findBugzillaLinks : function(node) { // assumes HTML-ns node
var RV = new Array();
var innerstr = node.innerHTML;
var prefix = "show_bug.cgi?id=";
var index = innerstr.indexOf(prefix);
dump(innerstr);
if (index == -1) {
//TODO: search for "bug"? is that too broad?
} else {
while(index != -1) {
RV.push(innerstr.substr(index+prefix.length,6));
dump(RV.length + " found so far, current index: " + index+ " \n");
index = innerstr.indexOf(prefix, index + 1);
}
}
return qaTools.makeUniqueArray(RV);
}
}

Просмотреть файл

@ -1,39 +1,39 @@
<?xml version="1.0"?><!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
* Ben Hsieh <ben.hsieh@gmail.com> (rewrite)
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay [
<!ENTITY % qaDTD SYSTEM "chrome://qa/locale/qa.dtd"> %qaDTD;
@ -42,35 +42,75 @@
<overlay id="qa-bz-overlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
<tabpanel id="qa-tab-bugzilla">
<vbox>
<label href="http://bugzilla.mozilla.org"
value="Help us by filing and confirming bugs in Bugzilla"
class="text-link" />
<groupbox>
<caption label="Bug Search" />
<radiogroup id = "qa-bugzilla-input-radiogroup"
onselect="bugzilla.disableOther()">
<hbox>
<radio selected="true" id="qa-bugzilla-radio-id"
label="Bug id:" width="100px" />
<textbox width="200px" id="qa-bugzilla-input-id" />
</hbox>
<hbox><radio id="qa-bugzilla-radio-words" label="Keywords:" width="100px" />
<textbox width="200px" disabled="true" id="qa-bugzilla-input-keywords" /> </hbox>
</radiogroup>
<hbox>
<checkbox id="qa-bugzilla-input-os" label="Include OS" />
<checkbox id="qa-bugzilla-input-version" label="Include Version" />
</hbox>
<spacer height="20px" />
<hbox>
<button label="Find!" oncommand="bugzilla.doSearch(); "/>
<button label="Show all bugs filed today"
oncommand="bugzilla.showRecent()"/></hbox>
</groupbox>
<listbox id="bugSearchList" onselect="bugzilla.handleSelect();"
flex="1" seltype="single" maxheight="200px" height="200px">
<listhead>
<listheader label="Id"/>
<listheader label="Summary"/>
</listhead>
<listcols>
<listcol/>
<listcol flex="1"/>
</listcols>
</listbox>
<!-- <groupbox>
<div xmlns="http://www.w3.org/1999/xhtml" id="qa-bz-bugzilla">
</div>
</groupbox> -->
<groupbox>
<caption label= "Bug Summary" />
<hbox>
<label width="100px"> Bug id: </label>
<textbox style="color:black" id="qa-bugzilla-output-id"
width="197px" cols="31" disabled="true"/>
</hbox>
<hbox>
<label width="100px"> Status: </label>
<textbox style="color:black" id="qa-bugzilla-output-status"
width="197px" cols="31" disabled="true"/>
</hbox>
<hbox>
<label width="100px"> Summary: </label>
<textbox style="color:black" id="qa-bugzilla-output-summary"
width="197px" multiline="true" disabled="true" height="100px" rows="7"/> </hbox>
<hbox>
<spacer width="110px" />
<button label="Show in Bugzilla" width="200px"
oncommand="bugzilla.openInBugzilla();"/>
</hbox>
</groupbox>
<spacer height= "20px" />
</vbox>
</tabpanel>
<script type="application/x-javascript">
var bz = {
populateFields : function() {
var box = $('qa-bz-bugzilla');
qaTools.showHideLoadingMessage(box, true);
qaTools.fetchFeed(qaMain.urlbundle.getString("qa.extension.url.bz.content"),
function(feed) {
var items = feed.items;
var item = items.queryElementAt(0, Ci.nsIFeedEntry);
qaTools.showHideLoadingMessage(box, false);
if (item != null) {
var fragment = item.summary.createDocumentFragment(box);
box.appendChild(fragment);
}
}
);
}
};
window.addEventListener('load', bz.populateFields, false);
</script>
</overlay>

Просмотреть файл

@ -1,39 +1,39 @@
<?xml version="1.0"?><!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay [
<!ENTITY % qaDTD SYSTEM "chrome://qa/locale/qa.dtd"> %qaDTD;
@ -67,8 +67,12 @@
<caption label="&qa.chat.howdoItitle;" />
<div xmlns="http://www.w3.org/1999/xhtml" id="qa-qmo-forumposts">
<ul>
<li><a id="qa-chat-imo" href="&qa.chat.howdoI.imourl;" target="_blank">&qa.chat.howdoI.imo;</a></li>
<li><a id="qa-chat-irchelp" href="&qa.chat.howdoI.irchelpurl;" target="_blank">&qa.chat.howdoI.irchelp;</a></li>
<li><a id="qa-chat-imo" href="&qa.chat.howdoI.imourl;" target="_blank">
&qa.chat.howdoI.imo;</a>
</li>
<li><a id="qa-chat-irchelp" href="&qa.chat.howdoI.irchelpurl;" target="_blank">
&qa.chat.howdoI.irchelp;</a>
</li>
</ul>
</div>
<button style="margin-top: 12px; padding-left: 2em; padding-right: 2em;"

Просмотреть файл

@ -1,39 +1,39 @@
<?xml version="1.0"?><!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay [
<!ENTITY % qaDTD SYSTEM "chrome://qa/locale/qa.dtd"> %qaDTD;

Просмотреть файл

@ -1,42 +1,41 @@
<?xml version="1.0"?><!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2006
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
# Ben Hsieh <bhsieh@mozilla.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
* Ben Hsieh <bhsieh@mozilla.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://qa/skin/" type="text/css"?>
<!DOCTYPE overlay [
<!ENTITY % qaDTD SYSTEM "chrome://qa/locale/qa.dtd"> %qaDTD;
@ -58,7 +57,8 @@
<label value="" />
<label value="" id="qa-testcase-progress" />
</vbox>
<listbox rows="7" minwidth="200" onselect="litmus.handleSelect()" id="testlist">
<listbox rows="7" minwidth="200" onselect="litmus.handleSelect()"
id="testlist">
<listcols>
<listcol />
<listcol />
@ -71,7 +71,8 @@
<hbox style="font-weight: bold;">
<label id="qa-testcase-id" value="&qa.litmus.testlist.initialdescription;" />
<label value="&mdash;" />
<description id="qa-testcase-summary" maxwidth="230px" crop="end"></description>
<description id="qa-testcase-summary" maxwidth="230px" crop="end">
</description>
</hbox>
</vbox>
@ -80,14 +81,18 @@
<vbox width="370px" minwidth="370px">
<groupbox maxheight="130px" minwidth="370px" width="370px">
<caption label="&qa.testcase.steps;" crop="end" maxwidth="200"/>
<div xmlns="http://www.w3.org/1999/xhtml" style="width: 350px; height: 140px; overflow: auto;" id="qa-testcase-steps" class="list"/>
<div xmlns="http://www.w3.org/1999/xhtml"
style="width: 350px; height: 140px; overflow: auto;"
id="qa-testcase-steps" class="list"/>
</groupbox>
<splitter id="qa-mainwindow-splitter" state="open" collapse="none">
<grippy/>
</splitter>
<groupbox maxheight="120px" minwidth="370px" width="370px">
<caption label="&qa.testcase.expected;" />
<div xmlns="http://www.w3.org/1999/xhtml" style="width: 350px; height: 120px; overflow: auto;" id="qa-testcase-expected" class="list"/>
<div xmlns="http://www.w3.org/1999/xhtml"
style="width: 350px; height: 120px; overflow: auto;"
id="qa-testcase-expected" class="list"/>
</groupbox>
</vbox>
<hbox>
@ -96,17 +101,21 @@
<radiogroup id="qa-testcase-result">
<radio id="qa-testcase-pass" label="&qa.testcase.result.pass;"/>
<radio id="qa-testcase-fail" label="&qa.testcase.result.fail;"/>
<radio id="qa-testcase-unclearBroken" label="&qa.testcase.result.unclearbroken;"/>
<radio id="qa-testcase-unclearBroken"
label="&qa.testcase.result.unclearbroken;"/>
</radiogroup>
</groupbox>
<groupbox>
<caption control="qa-testcase-comment" label="&qa.testcase.comment;"/>
<textbox id="qa-testcase-comment" style="min-height: 75px; width:150px;" class="plain"/>
<textbox id="qa-testcase-comment" rows="4" cols="30" multiline="true"
class="plain"/>
</groupbox>
</hbox>
<hbox flex="1" maxheight="30px">
<button id="qa-mainwindow-previousButton" label="Previous" oncommand="litmus.prevButton()"/>
<button id="qa-mainwindow-nextButton" label="Next (Submit)" oncommand="litmus.nextButton()"/>
<button id="qa-mainwindow-previousButton" label="Previous"
oncommand="litmus.prevButton()"/>
<button id="qa-mainwindow-nextButton" label="Next (Submit)"
oncommand="litmus.nextButton()"/>
</hbox>
<label id="qa-litmus-stats" value="" />
<script type="application/x-javascript">

Просмотреть файл

@ -136,7 +136,7 @@ var qmo = {
a.href = links[i].url;
qaTools.assignLinkHandler(a);
}
},
}
};
function $() {

Просмотреть файл

@ -1,39 +1,39 @@
<?xml version="1.0"?><!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay [
<!ENTITY % qaDTD SYSTEM "chrome://qa/locale/qa.dtd"> %qaDTD;
@ -53,7 +53,8 @@
<hbox>
<html:a href="http://quality.mozilla.org" target="blank">
<image src='chrome://qa/skin/qmo-badge.png'
style='max-width: 75px; max-height: 31px; margin-top: 3px; margin-left: 3px;' />
style='max-width: 75px; max-height: 31px;
margin-top: 3px; margin-left: 3px;' />
</html:a>
</hbox>
@ -61,12 +62,14 @@
<hbox class="box-mheight">
<groupbox class="box-mheight">
<caption label="&qa.qmo.help;" />
<div class="box-mheight" xmlns="http://www.w3.org/1999/xhtml" id="qa-qmo-help">
<div class="box-mheight" xmlns="http://www.w3.org/1999/xhtml"
id="qa-qmo-help">
</div>
</groupbox>
<groupbox class="box-mheight">
<caption label="&qa.qmo.events;" />
<div class="box-mheight" xmlns="http://www.w3.org/1999/xhtml" id="qa-qmo-events">
<div class="box-mheight" xmlns="http://www.w3.org/1999/xhtml"
id="qa-qmo-events">
<ul>
</ul>
</div>

Просмотреть файл

@ -39,7 +39,8 @@
var updateFunction;
var handleCancel;
var handleOK;
var sTestrunsWrapper; // an array of things that are kind of like testruns, but w/o important fields.
var sTestrunsWrapper; // an array of things that are kind of like testruns,
// but w/o important fields.
//returned by "test_runs_by_branch_product_name="
var sTestrun; // actual testrun
@ -55,8 +56,9 @@ function handleLoad() {
}
function handleRunSelect() {
var id = document.getElementById("qa-st-testrun").selectedItem.getAttribute("value");
if (id == "") return; // oddly, this check doesn't seem necessary in the other handlers...
var id = $("qa-st-testrun").selectedItem.getAttribute("value");
if (id == "") return;
// oddly, this check doesn't seem necessary in the other handlers...
litmus.getTestrun(id, populateTestGroups);
}
@ -81,7 +83,8 @@ function populateTestRuns(testrunsWrapper) {
for (var i = 0; i < testrunsWrapper.length; i++) {
if (testrunsWrapper[i].enabled == 0) continue;
var item = menu.appendItem(testrunsWrapper[i].name, testrunsWrapper[i].test_run_id);
var item = menu.appendItem(testrunsWrapper[i].name,
testrunsWrapper[i].test_run_id);
}
menu.selectedIndex = 0;
handleRunSelect();

Просмотреть файл

@ -1,40 +1,39 @@
<?xml version="1.0"?><!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Ben Hsieh <bhsieh@mozilla.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Ben Hsieh <ben.hsieh@gmail.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** -->
<!DOCTYPE dialog PUBLIC "-//MOZILLA//DTD XUL V1.0//EN" "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
[<!ENTITY % qaDTD SYSTEM "chrome://qa/locale/qa.dtd"> %qaDTD;
]>
@ -73,17 +72,18 @@
<hbox>
<vbox>
<description value="Test Group:" />
<listbox id="qa-st-testgroup" rows = "5" onselect="handleTestgroupSelect()">
<listbox id="qa-st-testgroup" rows = "5"
onselect="handleTestgroupSelect()">
<listitem label="&qa.selecttests.load;" />
</listbox>
</vbox>
<vbox>
<description value="Subgroup" />
<listbox id="qa-st-subgroup" rows = "5" onselect="handleSubgroupSelect()">
<listbox id="qa-st-subgroup" rows = "5"
onselect="handleSubgroupSelect()">
<listitem label="&qa.selecttests.load;" />
</listbox>
</vbox>
</hbox>
</vbox>
</dialog>

Просмотреть файл

@ -1,39 +1,39 @@
<?xml version="1.0"?><!-- -*- Mode: HTML -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2006
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** -->
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay [
<!ENTITY % qaDTD SYSTEM "chrome://qa/locale/qa.dtd"> %qaDTD;
@ -43,14 +43,7 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://qa/content/settings.js" />
<script type="application/x-javascript">
// on load, set an event listener to deal with saving settings when
// changing tabs
window.addEventListener('load', function() {
$('qa_tabrow').addEventListener('select', qaPrefsWindow.onSwitchTab, false);
}, false);
</script>
<stringbundleset id="stringbundleset">
<stringbundle id="bundle_qa" src="chrome://qa/locale/qa.properties" />
</stringbundleset>
@ -59,26 +52,36 @@
<vbox flex="1">
<groupbox>
<caption label="&qa.preferences.litmus.title;" />
<label control="qa-preferences-litmus-username" value="&qa.preferences.litmus.username;"/>
<label control="qa-preferences-litmus-username"
value="&qa.preferences.litmus.username;"/>
<textbox id="qa-preferences-litmus-username" />
<label control="qa-preferences-litmus-password" value="&qa.preferences.litmus.password;"/>
<label control="qa-preferences-litmus-password"
value="&qa.preferences.litmus.password;"/>
<textbox id="qa-preferences-litmus-password" type="password" />
<hbox>
<button id="qa-preferences-litmus-createAccount" label="&qa.preferences.litmus.createAccount;"
<button id="qa-preferences-litmus-createAccount"
label="&qa.preferences.litmus.createAccount;"
oncommand="qaPrefsWindow.createAccount();" />
</hbox>
</groupbox>
<groupbox id="qa-prefs-notify">
<caption label="&qa.preferences.notification.title;" />
<checkbox id="qa-prefs-notify-disableall" label="&qa.preferences.notification.disableall;" />
<checkbox id="qa-prefs-notify-disableall"
label="&qa.preferences.notification.disableall;" />
<description>&qa.preferences.notification.header;</description>
<checkbox id="qa-prefs-notify-testday" label="&qa.preferences.notification.testday;" />
<checkbox id="qa-prefs-notify-bugday" label="&qa.preferences.notification.bugday;" />
<checkbox id="qa-prefs-notify-prerelease" label="&qa.preferences.notification.prerelease;" />
<checkbox id="qa-prefs-notify-qmo" label="&qa.preferences.notification.qmo;" />
<checkbox id="qa-prefs-notify-newbuild" label="&qa.preferences.notification.newbuild;" />
<checkbox id="qa-prefs-notify-other" label="&qa.preferences.notification.other;" />
<checkbox id="qa-prefs-notify-testday"
label="&qa.preferences.notification.testday;" />
<checkbox id="qa-prefs-notify-bugday"
label="&qa.preferences.notification.bugday;" />
<checkbox id="qa-prefs-notify-prerelease"
label="&qa.preferences.notification.prerelease;" />
<checkbox id="qa-prefs-notify-qmo"
label="&qa.preferences.notification.qmo;" />
<checkbox id="qa-prefs-notify-newbuild"
label="&qa.preferences.notification.newbuild;" />
<checkbox id="qa-prefs-notify-other"
label="&qa.preferences.notification.other;" />
</groupbox>
</vbox>

Просмотреть файл

@ -1,3 +1,40 @@
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is Mozilla QA Extension Code.
-
- The Initial Developer of the Original Code is the Mozilla Corporation.
- Portions created by the Initial Developer are Copyright (C) 2007
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Zach Lipton <zach@zachlipton.com>
- Ben Hsieh <bhsieh@mozilla.com>
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->
<!ENTITY qa.litmus.title "Litmus">
<!ENTITY qa.litmus.selecttests "Select Tests">
<!ENTITY qa.litmus.testlist.initiallabel "No tests loaded, select some tests!">

Просмотреть файл

@ -1,9 +1,45 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla QA Extension Code.
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
# Ben Hsieh <bhsieh@mozilla.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
qa.extension.testcase.head = Testcase #
qa.extension.prefs.loginError = Login Error. Please check your username and password or create a new account.
qa.extension.prefs.loadingMsg = Validating account information. Please Wait...
qa.extension.prefs.savedMsg = Your settings have been saved
qa.extension.sysconfig.loadingMsg = Loading menu options...
qa.extension.loading = Loading...
qa.extension.litmus.progress = Test %1$S of %2$S
qa.extension.litmus.stats = My tests run - week: %1$S, month: %2$S, all time: %3$S

Просмотреть файл

@ -1,3 +1,40 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla QA Extension Code.
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
# Ben Hsieh <bhsieh@mozilla.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
qa.extension.url.qmo.upcomingEvents = http://quality.mozilla.org/event/2007/06/21/feed/all/all/
qa.extension.url.qmo.news = http://quality.mozilla.org/rss.xml
qa.extension.url.qmo.forum_topics = http://quality.mozilla.org/extension/forum_topics

Просмотреть файл

@ -1,3 +1,39 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2006
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
* Ben Hsieh <ben.hsieh@gmail.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#qa-notify {
right: 18px;
bottom: 21px;
@ -23,3 +59,7 @@
font-size: 1.5em;
font-weight: bold;
}
#qa-statusbar-overlay {
list-style-image: url('chrome://qa/skin/qmo-16px.png');
}

Двоичные данные
testing/extensions/community/chrome/skin/highlight-end.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 3.0 KiB

Двоичные данные
testing/extensions/community/chrome/skin/highlight-hover-end.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 3.0 KiB

Двоичные данные
testing/extensions/community/chrome/skin/highlight-hover-mid.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 2.8 KiB

Двоичные данные
testing/extensions/community/chrome/skin/highlight-hover-start.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 3.1 KiB

Двоичные данные
testing/extensions/community/chrome/skin/highlight-mid.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 2.8 KiB

Двоичные данные
testing/extensions/community/chrome/skin/highlight-start.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 3.1 KiB

Просмотреть файл

@ -1,40 +1,40 @@
/* ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Mozilla Community QA Extension
#
# The Initial Developer of the Original Code is the Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Zach Lipton <zach@zachlipton.com>
# Zach Linder <zakness@gmail.com>
# Ben Hsieh <bhsieh@stanford.edu>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the LGPL or the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK ***** --> */
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2006
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
* Zach Linder <zakness@gmail.com>
* Ben Hsieh <ben.hsieh@gmail.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
@import url(chrome://global/skin/);
@ -71,7 +71,6 @@
#qa_tabbox html|a:active {
color: #333;
}
/*remove bullets for everything but lists contained inside testcase data */
html|li {
list-style-type: none !important;
@ -88,6 +87,7 @@ html|li {
}
/*-------------------------------
TABS
-------------------------------*/
@ -95,29 +95,60 @@ html|li {
height: 30px !important;
padding-top: 5px !important;
}
#qa_tabbox .tab-icon-image {
list-style-image: none;
width: 0;
}
#qa_tabbox #qa-tabbar-qmo {
list-style-image: url(qmo-16px.png);
width: 15px;
}
#qa_tabbox tab, #qa_tabbox tabs spacer {
border-bottom: 1px solid #ACA899 !important;
}
.tabs-left, .tabs-right {
-moz-border-bottom-colors: #ACA899 #ACA899 !important;
}
#qa_tabbox tab[selected="true"] {
border-bottom: 1px solid #E8E5D8 !important;
}
#qa_tabbox #qa-tabbar-spacer {
width: 93px;
}
#qa_tabbox tab, #qa_tabbox tabs spacer {
border-bottom: 1px solid #ACA899 !important;
}
.tabs-left, .tabs-right {
-moz-border-bottom-colors: #ACA899 !important;
}
#qa_tabbox tab[selected="true"] {
border-bottom: 1px solid #E8E5D8 !important;
}
tabs {
border-bottom: 3px solid #E8E5D8;
border-bottom: 1px solid #E8E5D8;
}
.tab-close-button {
display: none !important;
}
.tabbrowser-tab.highlight > .tab-image-right {
background: url("chrome://qa/skin/highlight-start.png") no-repeat !important;
}
.tabbrowser-tab.highlight > .tab-image-left {
background: url("chrome://qa/skin/highlight-end.png") no-repeat !important;
}
.tabbrowser-tab.highlight > .tab-image-middle {
background: url("chrome://qa/skin/highlight-mid.png") repeat-x !important;
}
.tabbrowser-tab.highlight:hover > .tab-image-right {
background: url("chrome://qa/skin/highlight-hover-start.png") no-repeat !important;
}
.tabbrowser-tab.highlight:hover > .tab-image-left {
background: url("chrome://qa/skin/highlight-hover-end.png") no-repeat !important;
}
.tabbrowser-tab.highlight:hover > .tab-image-middle {
background: url("chrome://qa/skin/highlight-hover-mid.png") repeat-x !important;
}
/* don't show outline around the middle of selected tabs */
@ -204,4 +235,3 @@ tab:focus > .tab-middle {
.list {
padding-left: 10px;
}

Просмотреть файл

@ -1,5 +1,43 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
* Ben Hsieh <bhsieh@mozilla.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
pref("qa.extension.litmus.url", "http://litmus.mozilla.org/");
pref("qa.extension.hermes.url", "http://litmus.mozilla.org/hermes/1/");
pref("qa.extension.bugzilla.url", "http:/bugzilla.mozilla.org/");
pref("qa.extension.isFirstTime", true);
pref("qa.extension.minNotificationInterval", 5400000); // 90 minutes
pref("qa.extension.lastNotificationTime", 0);

Просмотреть файл

@ -8,3 +8,4 @@ content chatzilla_qa jar:chatzilla.jar!/content/chatzilla/
skin chatzilla_qa modern/1.0 jar:chatzilla.jar!/skin/modern/chatzilla/
locale chatzilla_qa en-US jar:chatzilla.jar!/locale/en-US/chatzilla/
content chatzillaservice_qa components/chatzilla-service.js

Просмотреть файл

@ -1,10 +1,77 @@
#qa-tabbar-spacer { width: 17px !important; } #qa-tabbar-qmo { margin-left: 10px !important; margin-right: 17px !important; }
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla Community QA Extension
*
* The Initial Developer of the Original Code is the Mozilla Corporation.
* Portions created by the Initial Developer are Copyright (C) 2006
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Zach Lipton <zach@zachlipton.com>
* Ben Hsieh <ben.hsieh@gmail.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#qa_tabpanels * {
background-color: #ebebeb !important;
#qa-tabbar-spacer {
width: 17px !important;
}
groupbox * {
background: url("chrome://global/skin/10pct_transparent_grey.png") repeat !important;
#qa_tabbox tabpanel {
background-color: transparent !important;
}
#qa_tabbox tabpanels {
background-color: transparent !important;
}
#qa_tabbox groupbox {
background-color: transparent !important;
}
#qa_tabbox caption {
background-color: transparent !important;
}
/** causes weird behavior on branch, but needed for trunk **/
#qa-tabbar-qmo {
width:16px;
margin-left: 13px;
margin-right: 5px;
}
#qa-testcase-comment {
background-color: transparent !important;
max-width: 170px;
}
#qa-preferences-litmus-username {
max-width: 350px;
width: 350px;
}
#qa-preferences-litmus-password {
max-width: 400px;
width: 350px;
}

Просмотреть файл

@ -0,0 +1,5 @@
/**
* This file is intentionally left blank to prevent an error from being thrown
* on windows when attempting to overwrite the common CSS. If we need future
* specific windows CSS tweaks, they should go here.
**/