 		animateSearchEnginesWithKeyboard(state)
 	}
 
-	private func handleJSMessage(action: String, data: NSDictionary?, callback: String?) {
+	private func handleJSMessage(action: String, data: AnyObject?, callback: String?) {
 		switch action {
 			case "searchHistory":
 				var jsonStr: NSString = ""

					print("Json conversion is failed with error: \(error)")
				}
				if let c = callback {
					let exec = "\(callback)(\(jsonStr))"
				self.webView!.evaluateJavaScript(exec, completionHandler: nil)
			}
			case "openLink":
				if let url = data["url"] as? String {
					delegate?.searchView(self, didSelectUrl: NSURL(string: url)!)
				}
			case "":
			default
				print("Unhandles JS action: \(action)")
		}
	}

			case "jsBridge":
				if let input = message.body as? NSDictionary {
					if let action = input["action"] as? String {
						handleJSMessage(action, data: input["data"], callback: input["callBack"] as? String)
					}
				}
		default:
