chromium/extensions/browser/extension_action.h

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

#ifndef EXTENSIONS_BROWSER_EXTENSION_ACTION_H_
#define EXTENSIONS_BROWSER_EXTENSION_ACTION_H_

#include <map>
#include <memory>
#include <string>
#include <vector>

#include "base/containers/contains.h"
#include "base/containers/map_util.h"
#include "base/values.h"
#include "extensions/common/api/extension_action/action_info.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension_id.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/image/image.h"

class GURL;

namespace gfx {
class Image;
class ImageSkia;
}  // namespace gfx

namespace extensions {
class Extension;
class IconImage;

// ExtensionAction encapsulates the state of a browser action or page action.
// Instances can have both global and per-tab state. If a property does not have
// a per-tab value, the global value is used instead.
class ExtensionAction {};

template <>
struct ExtensionAction::ValueTraits<int> {};

}  // namespace extensions

#endif  // EXTENSIONS_BROWSER_EXTENSION_ACTION_H_