blob: 658c3c9137cc9b751f32d21a187a5d83a1998c79 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SERVICES_WINDOW_MANAGER_FOCUS_CONTROLLER_OBSERVER_H_
#define SERVICES_WINDOW_MANAGER_FOCUS_CONTROLLER_OBSERVER_H_
namespace mojo {
class View;
class FocusControllerObserver {
public:
// Called when |active| gains focus, or there is no active view
// (|active| is null in this case.) |old_active| refers to the
// previous active view or null if there was no previously active
// view.
virtual void OnViewActivated(View* gained_active,
View* lost_active) = 0;
// Called when focus moves from |lost_focus| to |gained_focus|.
virtual void OnViewFocused(View* gained_focus, View* lost_focus) = 0;
// Called when during view activation the currently active view is
// selected for activation. This can happen when a view requested for
// activation cannot be activated because a system modal view is active.
virtual void OnAttemptToReactivateView(View* request_active,
View* actual_active) {}
protected:
virtual ~FocusControllerObserver() {}
};
} // namespace mojo
#endif // SERVICES_WINDOW_MANAGER_FOCUS_CONTROLLER_OBSERVER_H_