diff options
author | Matěj Cepl <mcepl@redhat.com> | 2011-05-28 13:18:44 +0200 |
---|---|---|
committer | Matěj Cepl <mcepl@redhat.com> | 2011-05-28 13:18:44 +0200 |
commit | 4ec7f38055b0b230c55d68a208a3a537c19dfc24 (patch) | |
tree | 71160e3433c7395b88d4bde21acbc697c10b43c0 | |
parent | 51a1dbb63fde70c33956a8381a6378bf294a4194 (diff) | |
download | bugzilla-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.js | 6 | ||||
-rw-r--r-- | lib/libbugzilla.js | 22 |
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(); + } + }); + } }); }; |