// Copyright 2018 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/ui/keyboard_controller.h"
#include "base/bind.h"

namespace keyboard {

QueuedContainerType::QueuedContainerType(
    KeyboardController* controller,
    mojom::ContainerType container_type,
    base::Optional<gfx::Rect> bounds,
    base::OnceCallback<void(bool success)> callback)
    : controller_(controller),
      container_type_(container_type),
      bounds_(bounds),
      callback_(std::move(callback)) {}

QueuedContainerType::~QueuedContainerType() {
  bool change_successful =
      controller_->GetActiveContainerType() == container_type_;
  std::move(callback_).Run(change_successful);
}

}  // namespace keyboard
