chromium/ui/views/test/test_views.h

// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_VIEWS_TEST_TEST_VIEWS_H_
#define UI_VIEWS_TEST_TEST_VIEWS_H_

#include <map>
#include <memory>

#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/events/types/event_type.h"
#include "ui/views/view.h"

namespace views {

// A view that requests a set amount of space.
class StaticSizedView : public View {};

// A view that accomodates testing layouts that use GetHeightForWidth.
class ProportionallySizedView : public View {};

// Class that closes the widget (which ends up deleting it immediately) when the
// appropriate event is received.
class CloseWidgetView : public View {};

// A view that keeps track of the events it receives, optionally consuming them.
class EventCountView : public View {};

// A view which reacts to PreferredSizeChanged() from its children by doing
// layout.
class ResizeAwareParentView : public View {};

}  // namespace views

#endif  // UI_VIEWS_TEST_TEST_VIEWS_H_