test_focus_change_listener.cc 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. // Copyright 2022 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/app_list/test/test_focus_change_listener.h"
  5. #include "ash/app_list/test/app_list_test_helper.h"
  6. #include "ash/app_list/views/apps_grid_view.h"
  7. namespace ash {
  8. namespace {
  9. static TestFocusChangeListener* g_instance = nullptr;
  10. }
  11. TestFocusChangeListener::TestFocusChangeListener(
  12. views::FocusManager* focus_manager)
  13. : focus_manager_(focus_manager) {
  14. DCHECK(focus_manager_);
  15. focus_manager_->AddFocusChangeListener(this);
  16. DCHECK(!g_instance);
  17. g_instance = this;
  18. }
  19. TestFocusChangeListener::~TestFocusChangeListener() {
  20. focus_manager_->RemoveFocusChangeListener(this);
  21. DCHECK_EQ(g_instance, this);
  22. g_instance = nullptr;
  23. }
  24. // views::FocusChangeListener:
  25. void TestFocusChangeListener::OnDidChangeFocus(views::View* focused_before,
  26. views::View* focused_now) {
  27. ++focus_change_count_;
  28. }
  29. } // namespace ash