Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2774)

Unified Diff: content/renderer/render_frame_impl.cc

Issue 1605863002: Restart search in page when new text is found. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: small clean up Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_frame_impl.cc
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index ad0e0abe487748cd4748c7d2581cf21295a6722b..651ae7b3e856b0fef248607b9fd15e3c8c4dea29 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -5048,14 +5048,16 @@ void RenderFrameImpl::OnFind(int request_id,
WebRect selection_rect;
bool result = false;
+ bool active_now;
// If something is selected when we start searching it means we cannot just
// increment the current match ordinal; we need to re-generate it.
WebRange current_selection = focused_frame->selectionRange();
do {
- result = search_frame->find(request_id, search_text, options,
- wrap_within_frame, &selection_rect);
+ result =
+ search_frame->find(request_id, search_text, options, wrap_within_frame,
+ &selection_rect, &active_now);
if (!result) {
// Don't leave text selected as you move to the next frame.
@@ -5083,14 +5085,14 @@ void RenderFrameImpl::OnFind(int request_id,
if (multi_frame && search_frame == focused_frame) {
result = search_frame->find(request_id, search_text, options,
true, // Force wrapping.
- &selection_rect);
+ &selection_rect, &active_now);
}
}
render_view_->webview()->setFocusedFrame(search_frame);
} while (!result && search_frame != focused_frame);
- if (options.findNext && current_selection.isNull()) {
+ if (options.findNext && current_selection.isNull() && active_now) {
// Force the main_frame to report the actual count.
main_frame->increaseMatchCount(0, request_id);
} else {

Powered by Google App Engine
This is Rietveld 408576698