1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file.
4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/views/test/views_test_helper_aura.h"
6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/aura/test/aura_test_helper.h"
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/wm/core/capture_controller.h"
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/wm/core/default_activation_client.h"
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/wm/core/wm_state.h"
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace views {
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// static
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)ViewsTestHelper* ViewsTestHelper::Create(base::MessageLoopForUI* message_loop,
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                                         ui::ContextFactory* context_factory) {
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return new ViewsTestHelperAura(message_loop, context_factory);
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)ViewsTestHelperAura::ViewsTestHelperAura(base::MessageLoopForUI* message_loop,
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                                         ui::ContextFactory* context_factory)
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    : context_factory_(context_factory) {
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  aura_test_helper_.reset(new aura::test::AuraTestHelper(message_loop));
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)ViewsTestHelperAura::~ViewsTestHelperAura() {
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void ViewsTestHelperAura::SetUp() {
30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  aura_test_helper_->SetUp(context_factory_);
31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  new wm::DefaultActivationClient(aura_test_helper_->root_window());
32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  wm_state_.reset(new wm::WMState);
33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void ViewsTestHelperAura::TearDown() {
36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  aura_test_helper_->TearDown();
37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  wm_state_.reset();
38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  CHECK(!wm::ScopedCaptureClient::IsActive());
39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)gfx::NativeView ViewsTestHelperAura::GetContext() {
42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return aura_test_helper_->root_window();
43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
44cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}  // namespace views
46