aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatěj Cepl <mcepl@redhat.com>2011-05-28 13:18:44 +0200
committerMatěj Cepl <mcepl@redhat.com>2011-05-28 13:18:44 +0200
commit4ec7f38055b0b230c55d68a208a3a537c19dfc24 (patch)
tree71160e3433c7395b88d4bde21acbc697c10b43c0
parent51a1dbb63fde70c33956a8381a6378bf294a4194 (diff)
downloadbugzilla-triage-4ec7f38055b0b230c55d68a208a3a537c19dfc24.tar.gz
Use new tab.attach() internal page-mod method of creating new upstream bug.
Fixes #100
-rw-r--r--data/internalMods/createBugElsewhere.js6
-rw-r--r--lib/libbugzilla.js22
2 files changed, 20 insertions, 8 deletions
diff --git a/data/internalMods/createBugElsewhere.js b/data/internalMods/createBugElsewhere.js
new file mode 100644
index 0000000..a20257f
--- /dev/null
+++ b/data/internalMods/createBugElsewhere.js
@@ -0,0 +1,6 @@
+function fillTheForm(data) {
+ var elems = document.forms.namedItem('Create').elements;
+ elems.namedItem('short_desc').value = data.subject;
+ elems.namedItem('comment').value = data.comment;
+ self.postMessage("done!");
+};
diff --git a/lib/libbugzilla.js b/lib/libbugzilla.js
index c2ee51d..b49e776 100644
--- a/lib/libbugzilla.js
+++ b/lib/libbugzilla.js
@@ -274,17 +274,23 @@ var openURLInNewTab = exports.openURLInNewTab = function openURLInNewTab(url) {
});
};
-exports.createUpstreamBug = function createUpstreamBug(urlStr, subject, comment) {
+exports.createUpstreamBug = function createUpstreamBug(urlStr, subjectStr, commentStr) {
+ var payload = JSON.stringify({
+ subject: subjectStr,
+ comment: commentStr
+ });
tabs.open({
url: urlStr,
inBackground: true,
- onReady: function (t) {
- var otherElems = t.contentDocument.forms.namedItem("Create").elements;
- // Summary
- otherElems.namedItem("short_desc").value = subject;
- // Comment
- otherElems.namedItem("comment").value = collectComments();
- t.activate();
+ onReady: function (tab) {
+ tab.attach({
+ contentScriptFile: selfMod.data.url("internalMods/createBugElsewhere.js"),
+ contentScript: "fillTheForm(" + payload + ");",
+ onMessage: function(str) {
+ tab.activate();
+ }
+ });
+
}
});
};