aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEhsan Akhgari <ehsan@mozilla.com>2011-02-22 10:56:55 -0500
committerEhsan Akhgari <ehsan@mozilla.com>2011-02-22 10:56:55 -0500
commitee905fd9a069918ea2e24dbdf22943676e60f607 (patch)
tree155d3619deaa4c6c3484838f49a3baeba9085091
parent436d7e33db1dcb71291a1a5df586c9319c58c713 (diff)
downloadbugzilla-triage-ee905fd9a069918ea2e24dbdf22943676e60f607.tar.gz
Replace the history state instead of redirecting when changing a bug
-rw-r--r--data/js/bug-page-mod.js40
1 files changed, 4 insertions, 36 deletions
diff --git a/data/js/bug-page-mod.js b/data/js/bug-page-mod.js
index 6575ab7..015785a 100644
--- a/data/js/bug-page-mod.js
+++ b/data/js/bug-page-mod.js
@@ -51,48 +51,16 @@ function tweakBugzilla(d) {
d.title = d.title.slice(4);
// After POSTing, redirect with a GET back to the same bug
- if (/\/(process_bug|attachment).cgi$/.test(d.location.href)) {
+ if (/\/(process_bug|attachment|post_bug).cgi$/.test(d.location.href)) {
var bug = getBugNumber(d);
if (bug) {
var url = d.location.href;
url = url.replace("process_bug.cgi", "show_bug.cgi");
url = url.replace("attachment.cgi", "show_bug.cgi");
+ url = url.replace("post_bug.cgi", "show_bug.cgi");
url += "?id=" + bug;
- function cancelRedirection() {
- d.defaultView.clearTimeout(timer);
- redirectMsg.parentNode.removeChild(redirectMsg);
- d.body.removeEventListener("mousedown", interactionDetector, false);
- d.body.removeEventListener("keydown", interactionDetector, false);
- }
- function interactionDetector() {
- cancelRedirection();
- }
- d.body.addEventListener("mousedown", interactionDetector, false);
- d.body.addEventListener("keydown", interactionDetector, false);
- var timer = d.defaultView.setTimeout(function() {
- // don't redirect if the user is using the page.
- if (d.defaultView.scrollY > 0 ||
- d.defaultView.getSelection().rangeCount > 0) {
- cancelRedirection();
- } else {
- d.location.href = url;
- }
- }, 2000);
- var redirectMsg = d.createElement("div");
- redirectMsg.setAttribute("style", "font-weight: bold; text-align: center; border: 1px solid gray; margin: 10px 0; color: gray;");
- redirectMsg.appendChild(d.createTextNode("Changes submitted, reloading bug " + bug + " in 2 seconds... ("));
- var cancelLink = d.createElement("a");
- cancelLink.setAttribute("href", "javascript:void(0)");
- cancelLink.setAttribute("style", "color: black;");
- cancelLink.addEventListener("click", function(event) {
- event.preventDefault = true;
- cancelRedirection();
- }, false);
- cancelLink.appendChild(d.createTextNode("Cancel"));
- redirectMsg.appendChild(cancelLink);
- redirectMsg.appendChild(d.createTextNode(")"));
- var header = d.getElementById("header");
- header.insertBefore(redirectMsg, header.firstChild);
+ d.defaultView.history.replaceState(null, "", url);
+ d.title = bug + " - " + d.getElementById("short_desc_nonedit_display").textContent;
}
}