about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustdoc/html/static/main.js15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index 150b083219b..c6bb622373a 100644
--- a/src/librustdoc/html/static/main.js
+++ b/src/librustdoc/html/static/main.js
@@ -52,14 +52,14 @@
             var start = elemClass.indexOf(className);
             if (start == -1) {
                 return false;
-            } else if (elemClass.length == className.length) {
+            } else if (elemClass.length === className.length) {
                 return true;
             } else {
-                if (start > 0 && elemClass[start - 1] != ' ') {
+                if (start > 0 && elemClass[start - 1] !== ' ') {
                     return false;
                 }
                 var end = start + className.length;
-                if (end < elemClass.length && elemClass[end] != ' ') {
+                if (end < elemClass.length && elemClass[end] !== ' ') {
                     return false;
                 }
                 return true;
@@ -151,7 +151,7 @@
             removeClass(document.getElementById("main"), "hidden");
             var hash = ev.newURL.slice(ev.newURL.indexOf('#') + 1);
             if (browserSupportsHistoryApi()) {
-                history.replaceState(hash, "", "#" + hash);
+                history.replaceState(hash, "", "?search=#" + hash);
             }
             var elem = document.getElementById(hash);
             if (elem) {
@@ -1568,9 +1568,14 @@
 
     if (search_input) {
         search_input.onfocus = function() {
-            if (search.value !== "") {
+            if (search_input.value !== "") {
                 addClass(document.getElementById("main"), "hidden");
                 removeClass(document.getElementById("search"), "hidden");
+                if (browserSupportsHistoryApi()) {
+                    history.replaceState(search_input.value,
+                                         "",
+                                         "?search=" + encodeURIComponent(search_input.value));
+                }
             }
         };
     }