#include "chrome/browser/extensions/api/system_indicator/system_indicator_manager.h"
#include <utility>
#include "base/containers/contains.h"
#include "base/memory/ptr_util.h"
#include "base/memory/raw_ptr.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/status_icons/status_icon.h"
#include "chrome/browser/status_icons/status_icon_observer.h"
#include "chrome/browser/status_icons/status_tray.h"
#include "chrome/common/extensions/api/system_indicator.h"
#include "chrome/common/extensions/api/system_indicator/system_indicator_handler.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_action.h"
#include "extensions/browser/extension_icon_image.h"
#include "extensions/common/extension.h"
#include "extensions/common/icons/extension_icon_set.h"
namespace extensions {
system_indicator;
class ExtensionIndicatorIcon : public StatusIconObserver,
public IconImage::Observer { … };
std::unique_ptr<ExtensionIndicatorIcon> ExtensionIndicatorIcon::Create(
const Extension& extension,
const ExtensionIconSet& icon_set,
Profile* profile,
StatusTray* status_tray) { … }
ExtensionIndicatorIcon::~ExtensionIndicatorIcon() { … }
void ExtensionIndicatorIcon::SetDynamicIcon(gfx::Image dynamic_icon) { … }
void ExtensionIndicatorIcon::OnStatusIconClicked() { … }
void ExtensionIndicatorIcon::OnExtensionIconImageChanged(IconImage* image) { … }
ExtensionIndicatorIcon::ExtensionIndicatorIcon(
const Extension& extension,
const ExtensionIconSet& manifest_icon_set,
Profile* profile,
StatusTray* status_tray)
: … { … }
SystemIndicatorManager::SystemIndicator::SystemIndicator() { … }
SystemIndicatorManager::SystemIndicator::~SystemIndicator() = default;
SystemIndicatorManager::SystemIndicatorManager(Profile* profile,
StatusTray* status_tray)
: … { … }
SystemIndicatorManager::~SystemIndicatorManager() { … }
void SystemIndicatorManager::Shutdown() { … }
void SystemIndicatorManager::SetSystemIndicatorDynamicIcon(
const Extension& extension,
gfx::Image icon) { … }
void SystemIndicatorManager::SetSystemIndicatorEnabled(
const Extension& extension,
bool is_enabled) { … }
void SystemIndicatorManager::OnExtensionLoaded(
content::BrowserContext* browser_context,
const Extension* extension) { … }
void SystemIndicatorManager::OnExtensionUnloaded(
content::BrowserContext* browser_context,
const Extension* extension,
UnloadedExtensionReason reason) { … }
bool SystemIndicatorManager::SendClickEventToExtensionForTest(
const ExtensionId& extension_id) { … }
}