blob: 9a38d4616db2fcee65179064a333a162ef9a749c [file] [log] [blame]
// Copyright 2017 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.
#include "ash/keyboard/keyboard_observer_register.h"
#include "ui/keyboard/keyboard_controller.h"
namespace ash {
void UpdateKeyboardObserverFromStateChanged(
bool keyboard_activated,
WmWindow* keyboard_root_window,
WmWindow* observer_root_window,
ScopedObserver<keyboard::KeyboardController,
keyboard::KeyboardControllerObserver>* keyboard_observer) {
if (keyboard_root_window != observer_root_window)
return;
keyboard::KeyboardController* const keyboard_controller =
keyboard::KeyboardController::GetInstance();
if (keyboard_activated &&
!keyboard_observer->IsObserving(keyboard_controller)) {
keyboard_observer->Add(keyboard_controller);
} else if (!keyboard_activated &&
keyboard_observer->IsObserving(keyboard_controller)) {
keyboard_observer->Remove(keyboard_controller);
}
}
} // namespace ash