blob: 4fe53fcd4ce4201e8fd0826b9452c014d037cb96 [file] [log] [blame]
// Copyright 2014 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 CHROME_TEST_BASE_VIEW_EVENT_TEST_PLATFORM_PART_H_
#define CHROME_TEST_BASE_VIEW_EVENT_TEST_PLATFORM_PART_H_
#include "base/macros.h"
#include "ui/gfx/native_widget_types.h"
namespace ui {
class ContextFactory;
}
// A helper class owned by tests that performs platform specific initialization.
// ViewEventTestPlatformPart behaves a bit like views::ViewsTestHelper, but on
// ChromeOS it will create an Ash shell environment, rather than using an
// AuraTestHelper.
class ViewEventTestPlatformPart {
public:
virtual ~ViewEventTestPlatformPart() {}
// Set up the platform-specific environment. Teardown is performed in the
// destructor.
static ViewEventTestPlatformPart* Create(ui::ContextFactory* context_factory);
// The Widget context for creating the test window. This will be the Ash root
// window on ChromeOS environments. Otherwise it should return NULL.
virtual gfx::NativeWindow GetContext() = 0;
protected:
ViewEventTestPlatformPart() {}
private:
DISALLOW_COPY_AND_ASSIGN(ViewEventTestPlatformPart);
};
#endif // CHROME_TEST_BASE_VIEW_EVENT_TEST_PLATFORM_PART_H_