Fix uncleared highlight in search engine settings.

Search Engine settings has some early returns in its overriden method
"tableView:didSelectRowAtIndexPath:" that may cause uncleared highlight.

Bug: 914303
Change-Id: I86aa12169266ddada77668e5aa2739afcb775462
Reviewed-on: https://chromium-review.googlesource.com/c/1377432
Reviewed-by: Gauthier Ambard <gambard@chromium.org>
Commit-Queue: Yi Su <mrsuyi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616631}
diff --git a/ios/chrome/browser/ui/settings/search_engine_table_view_controller.mm b/ios/chrome/browser/ui/settings/search_engine_table_view_controller.mm
index 106da9a..42eaebb 100644
--- a/ios/chrome/browser/ui/settings/search_engine_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/search_engine_table_view_controller.mm
@@ -141,6 +141,7 @@
 - (void)tableView:(UITableView*)tableView
     didSelectRowAtIndexPath:(NSIndexPath*)indexPath {
   [super tableView:tableView didSelectRowAtIndexPath:indexPath];
+  [tableView deselectRowAtIndexPath:indexPath animated:YES];
   TableViewModel* model = self.tableViewModel;
 
   // Only handle taps on search engine items.
@@ -209,7 +210,6 @@
               [model indexInItemTypeForIndexPath:indexPath]];
 
   [self reconfigureCellsForItems:modifiedItems];
-  [tableView deselectRowAtIndexPath:indexPath animated:YES];
 }
 
 #pragma mark Internal methods