#include "remoting/host/resizing_host_observer.h"
#include <list>
#include <utility>
#include "base/containers/contains.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/ref_counted.h"
#include "base/notreached.h"
#include "base/run_loop.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/simple_test_tick_clock.h"
#include "base/test/task_environment.h"
#include "remoting/host/base/screen_resolution.h"
#include "remoting/host/desktop_display_info.h"
#include "remoting/host/desktop_resizer.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
namespace remoting {
using Monitors = std::map<webrtc::ScreenId, ScreenResolution>;
std::ostream& operator<<(std::ostream& os, const ScreenResolution& resolution) { … }
bool operator==(const ScreenResolution& a, const ScreenResolution& b) { … }
const int kDefaultDPI = …;
ScreenResolution MakeResolution(int width, int height) { … }
DesktopDisplayInfo ToDisplayInfo(const Monitors& monitors) { … }
class FakeDesktopResizer : public DesktopResizer { … };
class ResizingHostObserverTest : public testing::Test { … };
TEST_F(ResizingHostObserverTest, NoRestoreResolution) { … }
TEST_F(ResizingHostObserverTest, EmptyGetSupportedSizes) { … }
TEST_F(ResizingHostObserverTest, RestoreFlag) { … }
TEST_F(ResizingHostObserverTest, RestoreOnEmptyClientResolution) { … }
TEST_F(ResizingHostObserverTest, SelectExactSize) { … }
TEST_F(ResizingHostObserverTest, SelectBestSmallerSize) { … }
TEST_F(ResizingHostObserverTest, SelectBestScaleFactor) { … }
TEST_F(ResizingHostObserverTest, SelectWidest) { … }
TEST_F(ResizingHostObserverTest, NoSetSizeForSameSize) { … }
TEST_F(ResizingHostObserverTest, RateLimited) { … }
TEST_F(ResizingHostObserverTest, PendingResolutionAppliedToFirstMonitor) { … }
TEST_F(ResizingHostObserverTest, AnonymousRequestDroppedIfMultipleMonitors) { … }
TEST_F(ResizingHostObserverTest, RequestDroppedForUnknownMonitor) { … }
TEST_F(ResizingHostObserverTest, MultipleMonitorSizesRestored) { … }
}