OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/search/search_delegate.h" | 5 #include "chrome/browser/ui/search/search_delegate.h" |
6 | 6 |
7 #include "chrome/browser/ui/search/search_model.h" | 7 #include "chrome/browser/ui/search/search_model.h" |
8 #include "chrome/browser/ui/search/search_tab_helper.h" | 8 #include "chrome/browser/ui/search/search_tab_helper.h" |
| 9 #include "chrome/browser/ui/search/toolbar_search_animator.h" |
9 #include "chrome/browser/ui/tab_contents/tab_contents.h" | 10 #include "chrome/browser/ui/tab_contents/tab_contents.h" |
10 | 11 |
11 namespace chrome { | 12 namespace chrome { |
12 namespace search { | 13 namespace search { |
13 | 14 |
14 SearchDelegate::SearchDelegate(SearchModel* browser_model) | 15 SearchDelegate::SearchDelegate(SearchModel* browser_model) |
15 : browser_model_(browser_model), | 16 : browser_model_(browser_model), |
16 tab_model_(NULL) { | 17 tab_model_(NULL), |
| 18 toolbar_search_animator_(browser_model) { |
17 } | 19 } |
18 | 20 |
19 SearchDelegate::~SearchDelegate() { | 21 SearchDelegate::~SearchDelegate() { |
20 DCHECK(!tab_model_) << "All tabs should have been deactivated or closed."; | 22 DCHECK(!tab_model_) << "All tabs should have been deactivated or closed."; |
21 } | 23 } |
22 | 24 |
23 void SearchDelegate::ModeChanged(const Mode& mode) { | 25 void SearchDelegate::ModeChanged(const Mode& mode) { |
24 browser_model_->SetMode(mode); | 26 browser_model_->SetMode(mode); |
25 } | 27 } |
26 | 28 |
(...skipping 14 matching lines...) Expand all Loading... |
41 void SearchDelegate::OnTabDetached(TabContents* contents) { | 43 void SearchDelegate::OnTabDetached(TabContents* contents) { |
42 StopObserveringTab(contents); | 44 StopObserveringTab(contents); |
43 } | 45 } |
44 | 46 |
45 void SearchDelegate::StopObserveringTab( | 47 void SearchDelegate::StopObserveringTab( |
46 TabContents* contents) { | 48 TabContents* contents) { |
47 if (contents->search_tab_helper()->model() == tab_model_) { | 49 if (contents->search_tab_helper()->model() == tab_model_) { |
48 tab_model_->RemoveObserver(this); | 50 tab_model_->RemoveObserver(this); |
49 browser_model_->set_tab_contents(NULL); | 51 browser_model_->set_tab_contents(NULL); |
50 tab_model_ = NULL; | 52 tab_model_ = NULL; |
| 53 toolbar_search_animator_.FinishAnimation(contents); |
51 } | 54 } |
52 } | 55 } |
53 | 56 |
54 } // namespace search | 57 } // namespace search |
55 } // namespace chrome | 58 } // namespace chrome |
OLD | NEW |