chromium/chrome/browser/status_icons/status_icon_menu_model.h

// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_STATUS_ICONS_STATUS_ICON_MENU_MODEL_H_
#define CHROME_BROWSER_STATUS_ICONS_STATUS_ICON_MENU_MODEL_H_

#include <map>

#include "base/memory/raw_ptr.h"
#include "base/observer_list.h"
#include "ui/base/models/image_model.h"
#include "ui/base/models/simple_menu_model.h"

namespace gfx {
class Image;
}

// StatusIconMenuModel contains the state of the SimpleMenuModel as well as that
// of its delegate. This is done so that we can easily identify when the menu
// model state has changed and can tell the status icon to update the menu. This
// is necessary some platforms which do not notify us before showing the menu
// (like Ubuntu Unity).
class StatusIconMenuModel : public ui::SimpleMenuModel,
                            public ui::SimpleMenuModel::Delegate {};

#endif  // CHROME_BROWSER_STATUS_ICONS_STATUS_ICON_MENU_MODEL_H_