blob: b26113d49b4c29351f194ceb087dc1dcf9061895 [file] [log] [blame]
// 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.
#ifndef SERVICES_WS_TEST_SCREEN_PROVIDER_OBSERVER_H_
#define SERVICES_WS_TEST_SCREEN_PROVIDER_OBSERVER_H_
#include <stdint.h>
#include <string>
#include <vector>
#include "base/macros.h"
#include "services/ws/public/mojom/screen_provider_observer.mojom.h"
#include "services/ws/window_service_delegate.h"
#include "ui/display/types/display_constants.h"
#include "ui/events/event.h"
namespace ws {
// Test implementation of ScreenProviderObserver. Tracks most recent call to
// OnDisplaysChanged().
class TestScreenProviderObserver : public mojom::ScreenProviderObserver {
public:
TestScreenProviderObserver();
~TestScreenProviderObserver() override;
std::vector<mojom::WsDisplayPtr>& displays() { return displays_; }
std::string& display_ids() { return display_ids_; }
int64_t primary_display_id() const { return primary_display_id_; }
int64_t internal_display_id() const { return internal_display_id_; }
int64_t display_id_for_new_windows() const {
return display_id_for_new_windows_;
}
// mojom::ScreenProviderObserver:
void OnDisplaysChanged(std::vector<mojom::WsDisplayPtr> displays,
int64_t primary_display_id,
int64_t internal_display_id,
int64_t display_id_for_new_windows) override;
private:
std::vector<mojom::WsDisplayPtr> displays_;
std::string display_ids_;
int64_t primary_display_id_ = display::kInvalidDisplayId;
int64_t internal_display_id_ = display::kInvalidDisplayId;
int64_t display_id_for_new_windows_ = display::kInvalidDisplayId;
DISALLOW_COPY_AND_ASSIGN(TestScreenProviderObserver);
};
} // namespace ws
#endif // SERVICES_WS_TEST_SCREEN_PROVIDER_OBSERVER_H_