blob: 09cc2cdf516ce684fe8f7aae5f36b2e234d4fbfa [file] [log] [blame]
// Copyright 2018 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 ASH_SYSTEM_MESSAGE_CENTER_ARC_MOCK_ARC_NOTIFICATION_SURFACE_H_
#define ASH_SYSTEM_MESSAGE_CENTER_ARC_MOCK_ARC_NOTIFICATION_SURFACE_H_
#include "ash/system/message_center/arc/arc_notification_surface.h"
namespace aura {
class Env;
}
namespace ash {
class MockArcNotificationSurface : public ArcNotificationSurface {
public:
explicit MockArcNotificationSurface(const std::string& notification_key,
aura::Env* aura_env = nullptr);
~MockArcNotificationSurface() override;
gfx::Size GetSize() const override;
aura::Window* GetWindow() const override;
aura::Window* GetContentWindow() const override;
const std::string& GetNotificationKey() const override;
void Attach(views::NativeViewHost* native_view_host) override;
void Detach() override;
bool IsAttached() const override;
views::NativeViewHost* GetAttachedHost() const override;
void FocusSurfaceWindow() override;
void SetAXTreeId(int32_t ax_tree_id) override;
int32_t GetAXTreeId() const override;
private:
const std::string notification_key_;
int32_t ax_tree_id_;
views::NativeViewHost* native_view_host_;
const std::unique_ptr<aura::Window> window_;
const std::unique_ptr<aura::Window> content_window_;
DISALLOW_COPY_AND_ASSIGN(MockArcNotificationSurface);
};
} // namespace ash
#endif // ASH_SYSTEM_MESSAGE_CENTER_ARC_MOCK_ARC_NOTIFICATION_SURFACE_H_