Index: components/omnibox/keyword_provider.cc |
diff --git a/components/omnibox/keyword_provider.cc b/components/omnibox/keyword_provider.cc |
index 25807773a61ab932d7116e6a20c58e8b8426ab8c..13b2710637b3a60039d237bed48112b304caae41 100644 |
--- a/components/omnibox/keyword_provider.cc |
+++ b/components/omnibox/keyword_provider.cc |
@@ -317,9 +317,13 @@ void KeywordProvider::Start(const AutocompleteInput& input, |
} |
} |
-void KeywordProvider::Stop(bool clear_cached_results) { |
+void KeywordProvider::Stop(bool clear_cached_results, |
+ bool due_to_user_inactivity) { |
done_ = true; |
- if (extensions_delegate_) |
+ // Only end an extension's request if the user did something to explicitly |
+ // cancel it; mere inactivity shouldn't terminate long-running extension |
+ // operations since the user likely explicitly requested them. |
+ if (extensions_delegate_ && !due_to_user_inactivity) |
extensions_delegate_->MaybeEndExtensionKeywordMode(); |
} |