docs: add check in hash-change callback to be sure we're only dealing with hash-tags that are search queries.
bug: 6843654
Change-Id: I5fee7426d8ad404a5f03f37297fe72009df30de7
diff --git a/tools/droiddoc/templates-sdk/assets/js/search_autocomplete.js b/tools/droiddoc/templates-sdk/assets/js/search_autocomplete.js
index bfd0eaed..04f0e93 100644
--- a/tools/droiddoc/templates-sdk/assets/js/search_autocomplete.js
+++ b/tools/droiddoc/templates-sdk/assets/js/search_autocomplete.js
@@ -282,7 +282,6 @@
$("#searchResults").slideUp();
$(".search .close").addClass("hide");
location.hash = '';
- drawOptions.setInput(document.getElementById("searchResults"));
$("#search_autocomplete").val("").blur();
@@ -309,7 +308,6 @@
var searchControl;
function loadSearchResults() {
-
document.getElementById("search_autocomplete").style.color = "#000";
// create search control
@@ -397,11 +395,17 @@
// when an event on the browser history occurs (back, forward, load) requery hash and do search
$(window).hashchange( function(){
- var query = decodeURI(getQuery(location.hash));
- if (query == "undefined") {
- hideResults();
- return;
+ // Exit if the hash isn't a search query or there's an error in the query
+ if ((location.hash.indexOf("q=") == -1) || (query == "undefined")) {
+ // If the results pane is open, close it.
+ if (!$("#searchResults").is(":hidden")) {
+ hideResults();
+ }
+ return;
}
+
+ // Otherwise, we have a search to do
+ var query = decodeURI(getQuery(location.hash));
searchControl.execute(query);
$('#searchResults').slideDown('slow');
$("#search_autocomplete").focus();