blob: 2aabdc0bc4ff3e4d00f5a05ea73de3878424c758 [file] [log] [blame]
jdufaultb90450d52015-07-28 22:48:071// Copyright 2015 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "ash/test/tray_cast_test_api.h"
6
jamescook05e54ed2016-06-29 22:11:267#include "ash/common/cast_config_delegate.h"
jamescook625f7912016-07-14 01:00:528#include "ash/common/system/tray/system_tray.h"
jamescook2a4d1eb2016-06-09 20:10:079#include "ash/common/system/tray/system_tray_delegate.h"
jamescook443e42d2016-06-10 21:44:4610#include "ash/common/wm_shell.h"
jdufaultb90450d52015-07-28 22:48:0711#include "ui/views/view.h"
12
13namespace ash {
14
15TrayCastTestAPI::TrayCastTestAPI(TrayCast* tray_cast) : tray_cast_(tray_cast) {}
16
17TrayCastTestAPI::~TrayCastTestAPI() {}
18
19bool TrayCastTestAPI::IsTrayInitialized() const {
20 return tray_cast_->default_ != nullptr;
21}
22
23bool TrayCastTestAPI::IsTrayVisible() const {
24 return IsViewDrawn(TrayCast::TRAY_VIEW);
25}
26
27bool TrayCastTestAPI::IsTrayCastViewVisible() const {
28 return IsViewDrawn(TrayCast::CAST_VIEW);
29}
30
31bool TrayCastTestAPI::IsTraySelectViewVisible() const {
32 return IsViewDrawn(TrayCast::SELECT_VIEW);
33}
34
jdufault7b1b4012015-11-16 20:05:3535std::string TrayCastTestAPI::GetDisplayedCastId() const {
36 return tray_cast_->GetDisplayedCastId();
37}
38
jdufaultb90450d52015-07-28 22:48:0739void TrayCastTestAPI::StartCast(const std::string& receiver_id) {
40 return tray_cast_->StartCastForTest(receiver_id);
41}
42
43void TrayCastTestAPI::StopCast() {
44 return tray_cast_->StopCastForTest();
45}
46
47void TrayCastTestAPI::OnCastingSessionStartedOrStopped(bool is_casting) {
48 tray_cast_->OnCastingSessionStartedOrStopped(is_casting);
49}
50
jdufault7b1b4012015-11-16 20:05:3551void TrayCastTestAPI::ReleaseConfigCallbacks() {
jamescook443e42d2016-06-10 21:44:4652 if (WmShell::Get() && WmShell::Get()->system_tray_delegate()) {
53 WmShell::Get()
jdufault6b717bb2016-01-14 19:38:5654 ->system_tray_delegate()
55 ->GetCastConfigDelegate()
56 ->RemoveObserver(tray_cast_);
57 }
jdufault7b1b4012015-11-16 20:05:3558}
59
jdufaultb90450d52015-07-28 22:48:0760bool TrayCastTestAPI::IsViewDrawn(TrayCast::ChildViewId id) const {
61 const views::View* view = tray_cast_->GetDefaultView()->GetViewByID(id);
62 return view != nullptr && view->IsDrawn();
63}
64
65} // namespace ash