Merge remote-tracking branch 'origin/pr/3626'

This commit is contained in:
Florian Bruhin 2018-02-26 07:20:34 +01:00
commit de0aa32c11
4 changed files with 21 additions and 3 deletions

View File

@ -1778,10 +1778,10 @@ class CommandDispatcher:
"""
self.set_mark("'")
tab = self._current_widget()
if tab.search.search_displayed:
tab.search.clear()
if not text:
if tab.search.search_displayed:
tab.search.clear()
return
options = {

View File

@ -184,6 +184,12 @@ class WebEngineSearch(browsertab.AbstractSearch):
def search(self, text, *, ignore_case='never', reverse=False,
result_cb=None):
# Don't go to next entry on duplicate search
if self.text == text and self.search_displayed:
log.webview.debug("Ignoring duplicate search request"
" for {}".format(text))
return
self.text = text
self._flags = QWebEnginePage.FindFlags(0)
if self._is_case_sensitive(ignore_case):

View File

@ -147,8 +147,14 @@ class WebKitSearch(browsertab.AbstractSearch):
def search(self, text, *, ignore_case='never', reverse=False,
result_cb=None):
self.search_displayed = True
# Don't go to next entry on duplicate search
if self.text == text and self.search_displayed:
log.webview.debug("Ignoring duplicate search request"
" for {}".format(text))
return
self.text = text
self.search_displayed = True
self._flags = QWebPage.FindWrapsAroundDocument
if self._is_case_sensitive(ignore_case):
self._flags |= QWebPage.FindCaseSensitively

View File

@ -52,6 +52,12 @@ Feature: Searching on a page
And I wait for "search didn't find blub" in the log
Then the warning "Text 'blub' not found on page!" should be shown
Scenario: Searching text duplicates
When I run :search foo
And I wait for "search found foo" in the log
And I run :search foo
Then "Ignoring duplicate search request for foo" should be logged
## search.ignore_case
Scenario: Searching text with search.ignore_case = always