| OLD | NEW | 
|---|
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "views/focus/external_focus_tracker.h" | 5 #include "views/focus/external_focus_tracker.h" | 
| 6 | 6 | 
| 7 #include "base/logging.h" | 7 #include "base/logging.h" | 
| 8 #include "views/view.h" | 8 #include "views/view.h" | 
| 9 #include "views/focus/view_storage.h" | 9 #include "views/focus/view_storage.h" | 
| 10 | 10 | 
| 11 namespace views { | 11 namespace views { | 
| 12 | 12 | 
| 13 ExternalFocusTracker::ExternalFocusTracker(View* parent_view, | 13 ExternalFocusTracker::ExternalFocusTracker(View* parent_view, | 
| 14                                            FocusManager* focus_manager) | 14                                            FocusManager* focus_manager) | 
| 15     : focus_manager_(focus_manager), | 15     : focus_manager_(focus_manager), | 
| 16       parent_view_(parent_view) { | 16       parent_view_(parent_view) { | 
| 17   DCHECK(focus_manager); | 17   DCHECK(focus_manager); | 
| 18   DCHECK(parent_view); | 18   DCHECK(parent_view); | 
| 19   view_storage_ = ViewStorage::GetSharedInstance(); | 19   view_storage_ = ViewStorage::GetInstance(); | 
| 20   last_focused_view_storage_id_ = view_storage_->CreateStorageID(); | 20   last_focused_view_storage_id_ = view_storage_->CreateStorageID(); | 
| 21   // Store the view which is focused when we're created. | 21   // Store the view which is focused when we're created. | 
| 22   StartTracking(); | 22   StartTracking(); | 
| 23 } | 23 } | 
| 24 | 24 | 
| 25 ExternalFocusTracker::~ExternalFocusTracker() { | 25 ExternalFocusTracker::~ExternalFocusTracker() { | 
| 26   view_storage_->RemoveView(last_focused_view_storage_id_); | 26   view_storage_->RemoveView(last_focused_view_storage_id_); | 
| 27   if (focus_manager_) | 27   if (focus_manager_) | 
| 28     focus_manager_->RemoveFocusChangeListener(this); | 28     focus_manager_->RemoveFocusChangeListener(this); | 
| 29 } | 29 } | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
| 59   if (view != NULL) | 59   if (view != NULL) | 
| 60     view_storage_->StoreView(last_focused_view_storage_id_, view); | 60     view_storage_->StoreView(last_focused_view_storage_id_, view); | 
| 61 } | 61 } | 
| 62 | 62 | 
| 63 void ExternalFocusTracker::StartTracking() { | 63 void ExternalFocusTracker::StartTracking() { | 
| 64   StoreLastFocusedView(focus_manager_->GetFocusedView()); | 64   StoreLastFocusedView(focus_manager_->GetFocusedView()); | 
| 65   focus_manager_->AddFocusChangeListener(this); | 65   focus_manager_->AddFocusChangeListener(this); | 
| 66 } | 66 } | 
| 67 | 67 | 
| 68 }  // namespace views | 68 }  // namespace views | 
| OLD | NEW | 
|---|