blob: 9ff2251ff54db049a7b3b47fb6914b484a2b0a83 [file] [log] [blame]
// Copyright 2016 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 UI_MESSAGE_CENTER_MESSAGE_VIEW_FACTORY_H_
#define UI_MESSAGE_CENTER_MESSAGE_VIEW_FACTORY_H_
#include "ui/message_center/message_center_export.h"
namespace message_center {
class MessageCenterController;
class MessageView;
class Notification;
// Creates appropriate MessageViews for notifications depending on the
// notification type. A notification is top level if it needs to be rendered
// outside the browser window. No custom shadows are created for top level
// notifications on Linux with Aura.
class MESSAGE_CENTER_EXPORT MessageViewFactory {
public:
// |controller| may be NULL, but has to be set before the view is shown.
static MessageView* Create(MessageCenterController* controller,
const Notification& notification,
bool top_level);
};
} // namespace message_center
#endif // UI_MESSAGE_CENTER_MESSAGE_VIEW_FACTORY_H_