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

Side by Side Diff: chrome/browser/ui/find_bar/find_bar_controller.cc

Issue 9030010: Move most of the remaining users of WebContentsObserver::tab_contents() to use web_contents(). (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 8 years, 12 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/find_bar/find_bar_controller.h" 5 #include "chrome/browser/ui/find_bar/find_bar_controller.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/i18n/rtl.h" 9 #include "base/i18n/rtl.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
11 #include "chrome/browser/ui/find_bar/find_bar.h" 11 #include "chrome/browser/ui/find_bar/find_bar.h"
12 #include "chrome/browser/ui/find_bar/find_bar_state.h" 12 #include "chrome/browser/ui/find_bar/find_bar_state.h"
13 #include "chrome/browser/ui/find_bar/find_tab_helper.h" 13 #include "chrome/browser/ui/find_bar/find_tab_helper.h"
14 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 14 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
15 #include "chrome/common/chrome_notification_types.h" 15 #include "chrome/common/chrome_notification_types.h"
16 #include "content/browser/tab_contents/navigation_entry.h" 16 #include "content/browser/tab_contents/navigation_entry.h"
17 #include "content/browser/tab_contents/tab_contents.h" 17 #include "content/browser/tab_contents/tab_contents.h"
18 #include "content/public/browser/navigation_details.h" 18 #include "content/public/browser/navigation_details.h"
19 #include "content/public/browser/notification_details.h" 19 #include "content/public/browser/notification_details.h"
20 #include "content/public/browser/notification_source.h" 20 #include "content/public/browser/notification_source.h"
21 #include "ui/gfx/rect.h" 21 #include "ui/gfx/rect.h"
22 22
23 using content::WebContents;
24
23 // The minimum space between the FindInPage window and the search result. 25 // The minimum space between the FindInPage window and the search result.
24 static const int kMinFindWndDistanceFromSelection = 5; 26 static const int kMinFindWndDistanceFromSelection = 5;
25 27
26 FindBarController::FindBarController(FindBar* find_bar) 28 FindBarController::FindBarController(FindBar* find_bar)
27 : find_bar_(find_bar), 29 : find_bar_(find_bar),
28 tab_contents_(NULL), 30 tab_contents_(NULL),
29 last_reported_matchcount_(0) { 31 last_reported_matchcount_(0) {
30 } 32 }
31 33
32 FindBarController::~FindBarController() { 34 FindBarController::~FindBarController() {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 if (find_bar_->IsFindBarVisible() && 83 if (find_bar_->IsFindBarVisible() &&
82 (!tab_contents_ || !tab_contents_->find_tab_helper()->find_ui_active())) { 84 (!tab_contents_ || !tab_contents_->find_tab_helper()->find_ui_active())) {
83 find_bar_->Hide(false); 85 find_bar_->Hide(false);
84 } 86 }
85 87
86 if (!tab_contents_) 88 if (!tab_contents_)
87 return; 89 return;
88 90
89 registrar_.Add(this, 91 registrar_.Add(this,
90 chrome::NOTIFICATION_FIND_RESULT_AVAILABLE, 92 chrome::NOTIFICATION_FIND_RESULT_AVAILABLE,
91 content::Source<TabContents>(tab_contents_->tab_contents())); 93 content::Source<WebContents>(tab_contents_->tab_contents()));
92 registrar_.Add( 94 registrar_.Add(
93 this, 95 this,
94 content::NOTIFICATION_NAV_ENTRY_COMMITTED, 96 content::NOTIFICATION_NAV_ENTRY_COMMITTED,
95 content::Source<NavigationController>( 97 content::Source<NavigationController>(
96 &tab_contents_->tab_contents()->GetController())); 98 &tab_contents_->tab_contents()->GetController()));
97 99
98 MaybeSetPrepopulateText(); 100 MaybeSetPrepopulateText();
99 101
100 if (tab_contents_->find_tab_helper()->find_ui_active()) { 102 if (tab_contents_->find_tab_helper()->find_ui_active()) {
101 // A tab with a visible find bar just got selected and we need to show the 103 // A tab with a visible find bar just got selected and we need to show the
(...skipping 10 matching lines...) Expand all
112 //////////////////////////////////////////////////////////////////////////////// 114 ////////////////////////////////////////////////////////////////////////////////
113 // FindBarHost, content::NotificationObserver implementation: 115 // FindBarHost, content::NotificationObserver implementation:
114 116
115 void FindBarController::Observe(int type, 117 void FindBarController::Observe(int type,
116 const content::NotificationSource& source, 118 const content::NotificationSource& source,
117 const content::NotificationDetails& details) { 119 const content::NotificationDetails& details) {
118 FindTabHelper* find_tab_helper = tab_contents_->find_tab_helper(); 120 FindTabHelper* find_tab_helper = tab_contents_->find_tab_helper();
119 if (type == chrome::NOTIFICATION_FIND_RESULT_AVAILABLE) { 121 if (type == chrome::NOTIFICATION_FIND_RESULT_AVAILABLE) {
120 // Don't update for notifications from TabContentses other than the one we 122 // Don't update for notifications from TabContentses other than the one we
121 // are actively tracking. 123 // are actively tracking.
122 if (content::Source<TabContents>(source).ptr() == 124 if (content::Source<WebContents>(source).ptr() ==
123 tab_contents_->tab_contents()) { 125 tab_contents_->tab_contents()) {
124 UpdateFindBarForCurrentResult(); 126 UpdateFindBarForCurrentResult();
125 if (find_tab_helper->find_result().final_update() && 127 if (find_tab_helper->find_result().final_update() &&
126 find_tab_helper->find_result().number_of_matches() == 0) { 128 find_tab_helper->find_result().number_of_matches() == 0) {
127 const string16& last_search = find_tab_helper->previous_find_text(); 129 const string16& last_search = find_tab_helper->previous_find_text();
128 const string16& current_search = find_tab_helper->find_text(); 130 const string16& current_search = find_tab_helper->find_text();
129 if (last_search.find(current_search) != 0) 131 if (last_search.find(current_search) != 0)
130 find_bar_->AudibleAlert(); 132 find_bar_->AudibleAlert();
131 } 133 }
132 } 134 }
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 // shown it is showing the right state for this tab. We update the find text 237 // shown it is showing the right state for this tab. We update the find text
236 // _first_ since the FindBarView checks its emptiness to see if it should 238 // _first_ since the FindBarView checks its emptiness to see if it should
237 // clear the result count display when there's nothing in the box. 239 // clear the result count display when there's nothing in the box.
238 find_bar_->SetFindText(find_string); 240 find_bar_->SetFindText(find_string);
239 #else 241 #else
240 // Having a per-tab find_string is not compatible with OS X's find pasteboard, 242 // Having a per-tab find_string is not compatible with OS X's find pasteboard,
241 // so we always have the same find text in all find bars. This is done through 243 // so we always have the same find text in all find bars. This is done through
242 // the find pasteboard mechanism, so don't set the text here. 244 // the find pasteboard mechanism, so don't set the text here.
243 #endif 245 #endif
244 } 246 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/constrained_window_tab_helper.cc ('k') | chrome/browser/ui/find_bar/find_tab_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698