diff options
-rw-r--r-- | chrome/browser/browser.cc | 6 | ||||
-rw-r--r-- | chrome/browser/browser.h | 9 | ||||
-rw-r--r-- | chrome/browser/cocoa/tab_strip_controller.mm | 2 | ||||
-rw-r--r-- | chrome/browser/gtk/browser_window_gtk.cc | 2 | ||||
-rw-r--r-- | chrome/browser/views/find_bar_host_browsertest.cc | 4 | ||||
-rw-r--r-- | chrome/browser/views/find_bar_host_interactive_uitest.cc | 13 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view.cc | 7 |
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(); |