summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/browser.cc6
-rw-r--r--chrome/browser/browser.h9
-rw-r--r--chrome/browser/cocoa/tab_strip_controller.mm2
-rw-r--r--chrome/browser/gtk/browser_window_gtk.cc2
-rw-r--r--chrome/browser/views/find_bar_host_browsertest.cc4
-rw-r--r--chrome/browser/views/find_bar_host_interactive_uitest.cc13
-rw-r--r--chrome/browser/views/frame/browser_view.cc7
7 files changed, 27 insertions, 16 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc
index 74e3987..619e855 100644
--- a/chrome/browser/browser.cc
+++ b/chrome/browser/browser.cc
@@ -271,6 +271,10 @@ FindBarController* Browser::GetFindBarController() {
return find_bar_controller_.get();
}
+bool Browser::HasFindBarController() const {
+ return find_bar_controller_.get() != NULL;
+}
+
///////////////////////////////////////////////////////////////////////////////
// Browser, Creation Helpers:
@@ -1777,7 +1781,7 @@ void Browser::TabSelectedAt(TabContents* old_contents,
status_bubble->SetStatus(GetSelectedTabContents()->GetStatusText());
}
- if (find_bar_controller_.get()) {
+ if (HasFindBarController()) {
find_bar_controller_->ChangeTabContents(new_contents);
find_bar_controller_->find_bar()->MoveWindowIfNecessary(gfx::Rect(), true);
}
diff --git a/chrome/browser/browser.h b/chrome/browser/browser.h
index c1c9d93..a6c15c2 100644
--- a/chrome/browser/browser.h
+++ b/chrome/browser/browser.h
@@ -136,12 +136,17 @@ class Browser : public TabStripModelDelegate,
ToolbarModel* toolbar_model() { return &toolbar_model_; }
const SessionID& session_id() const { return session_id_; }
CommandUpdater* command_updater() { return &command_updater_; }
- FindBarController* find_bar() { return find_bar_controller_.get(); }
- FindBarController* GetFindBarController();
ExtensionShelfModel* extension_shelf_model() {
return extension_shelf_model_.get();
}
+ // Get the FindBarController for this browser, creating it if it does not
+ // yet exist.
+ FindBarController* GetFindBarController();
+
+ // Returns true if a FindBarController exists for this browser.
+ bool HasFindBarController() const;
+
// Setters /////////////////////////////////////////////////////////////////
void set_user_data_dir_profiles(const std::vector<std::wstring>& profiles);
diff --git a/chrome/browser/cocoa/tab_strip_controller.mm b/chrome/browser/cocoa/tab_strip_controller.mm
index e37fabb..75b7f45 100644
--- a/chrome/browser/cocoa/tab_strip_controller.mm
+++ b/chrome/browser/cocoa/tab_strip_controller.mm
@@ -649,7 +649,7 @@ static const float kIndentLeavingSpaceForControls = 64.0;
newContents->view()->RestoreFocus();
if (newContents->find_ui_active())
- browser_->find_bar()->find_bar()->SetFocusAndSelection();
+ browser_->GetFindBarController()->find_bar()->SetFocusAndSelection();
}
}
diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc
index 3dedbd5..b3bee8d 100644
--- a/chrome/browser/gtk/browser_window_gtk.cc
+++ b/chrome/browser/gtk/browser_window_gtk.cc
@@ -1256,7 +1256,7 @@ void BrowserWindowGtk::TabSelectedAt(TabContents* old_contents,
if (!browser_->tabstrip_model()->closing_all()) {
new_contents->view()->RestoreFocus();
if (new_contents->find_ui_active())
- browser_->find_bar()->find_bar()->SetFocusAndSelection();
+ browser_->GetFindBarController()->find_bar()->SetFocusAndSelection();
}
// Update all the UI bits.
diff --git a/chrome/browser/views/find_bar_host_browsertest.cc b/chrome/browser/views/find_bar_host_browsertest.cc
index 35b1b6e..d4abf5c 100644
--- a/chrome/browser/views/find_bar_host_browsertest.cc
+++ b/chrome/browser/views/find_bar_host_browsertest.cc
@@ -43,7 +43,7 @@ class FindInPageControllerTest : public InProcessBrowserTest {
protected:
void GetFindBarWindowInfo(gfx::Point* position, bool* fully_visible) {
FindBarTesting* find_bar =
- browser()->find_bar()->find_bar()->GetFindBarTesting();
+ browser()->GetFindBarController()->find_bar()->GetFindBarTesting();
find_bar->GetFindBarWindowInfo(position, fully_visible);
}
};
@@ -605,7 +605,7 @@ IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, AcceleratorRestoring) {
EXPECT_NE(new_target, old_target);
// Close the Find box.
- browser()->find_bar()->EndFindSession();
+ browser()->GetFindBarController()->EndFindSession();
// The accelerator for Escape should be back to what it was before.
EXPECT_EQ(old_target, focus_manager->GetCurrentTargetForAccelerator(escape));
diff --git a/chrome/browser/views/find_bar_host_interactive_uitest.cc b/chrome/browser/views/find_bar_host_interactive_uitest.cc
index c151e07..0624c3a 100644
--- a/chrome/browser/views/find_bar_host_interactive_uitest.cc
+++ b/chrome/browser/views/find_bar_host_interactive_uitest.cc
@@ -111,7 +111,7 @@ IN_PROC_BROWSER_TEST_F(FindInPageTest, CrashEscHandlers) {
}
// TODO: http://crbug.com/26231
-IN_PROC_BROWSER_TEST_F(FindInPageTest, DISABLED_FocusRestore) {
+IN_PROC_BROWSER_TEST_F(FindInPageTest, FocusRestore) {
scoped_refptr<HTTPTestServer> server =
HTTPTestServer::CreateServer(kDocRoot, NULL);
ASSERT_TRUE(NULL != server.get());
@@ -123,9 +123,10 @@ IN_PROC_BROWSER_TEST_F(FindInPageTest, DISABLED_FocusRestore) {
// return to the location bar.
browser()->FocusLocationBar();
EXPECT_EQ(VIEW_ID_LOCATION_BAR, GetFocusedViewID());
- browser()->find_bar()->Show();
+ // Ensure the creation of the find bar controller.
+ browser()->GetFindBarController()->Show();
EXPECT_EQ(VIEW_ID_FIND_IN_PAGE_TEXT_FIELD, GetFocusedViewID());
- browser()->find_bar()->EndFindSession();
+ browser()->GetFindBarController()->EndFindSession();
EXPECT_EQ(VIEW_ID_LOCATION_BAR, GetFocusedViewID());
// Focus the location bar, find something on the page, close the find box,
@@ -135,7 +136,7 @@ IN_PROC_BROWSER_TEST_F(FindInPageTest, DISABLED_FocusRestore) {
EXPECT_EQ(VIEW_ID_FIND_IN_PAGE_TEXT_FIELD, GetFocusedViewID());
ui_test_utils::FindInPage(browser()->GetSelectedTabContents(),
L"a", true, false, NULL);
- browser()->find_bar()->EndFindSession();
+ browser()->GetFindBarController()->EndFindSession();
EXPECT_EQ(VIEW_ID_TAB_CONTAINER_FOCUS_VIEW, GetFocusedViewID());
// Focus the location bar, open and close the find box, focus should return to
@@ -143,8 +144,8 @@ IN_PROC_BROWSER_TEST_F(FindInPageTest, DISABLED_FocusRestore) {
// is fixed).
browser()->FocusLocationBar();
EXPECT_EQ(VIEW_ID_LOCATION_BAR, GetFocusedViewID());
- browser()->find_bar()->Show();
+ browser()->GetFindBarController()->Show();
EXPECT_EQ(VIEW_ID_FIND_IN_PAGE_TEXT_FIELD, GetFocusedViewID());
- browser()->find_bar()->EndFindSession();
+ browser()->GetFindBarController()->EndFindSession();
EXPECT_EQ(VIEW_ID_LOCATION_BAR, GetFocusedViewID());
}
diff --git a/chrome/browser/views/frame/browser_view.cc b/chrome/browser/views/frame/browser_view.cc
index cb28200..8034fb6 100644
--- a/chrome/browser/views/frame/browser_view.cc
+++ b/chrome/browser/views/frame/browser_view.cc
@@ -1633,9 +1633,10 @@ void BrowserView::Layout() {
// back into us to find the bounding box the find bar must be laid out within,
// and that code depends on the TabContentsContainer's bounds being up to
// date.
- FindBarController* find_controller = browser_->find_bar();
- if (find_controller)
- find_controller->find_bar()->MoveWindowIfNecessary(gfx::Rect(), true);
+ if (browser_->HasFindBarController()) {
+ browser_->GetFindBarController()->find_bar()->MoveWindowIfNecessary(
+ gfx::Rect(), true);
+ }
// Align status bubble with the bottom of the contents_container_.
LayoutStatusBubble(top + contents_container_->bounds().height());
SchedulePaint();