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

#include "chrome/browser/ui/browser_element_identifiers.h"

#include "ui/base/interaction/element_identifier.h"
#include "ui/base/interaction/element_tracker.h"

// Please keep this list alphabetized.
DEFINE_ELEMENT_IDENTIFIER_VALUE(kAddCurrentTabToReadingListElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kAppMenuButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kAppUninstallDialogOkButtonId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kAutofillCreditCardSuggestionEntryElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kAutofillSuggestionElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kAvatarButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kBatterySaverButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kBackButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kBookmarkBarElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kBookmarkSidePanelWebViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kBookmarkStarViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kBrowserViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kDownloadToolbarButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kEnhancedProtectionSettingElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kExclusiveAccessBubbleViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kForwardButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kHighEfficiencyChipElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kInstallPwaElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kIntentChipElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kLocationIconElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kMediaButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kNewTabButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kOmniboxElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kPasswordsOmniboxKeyIconElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kPriceTrackingChipElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kPriceTrackingBookmarkViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kReadLaterSidePanelWebViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSavedTabGroupBarElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSavedTabGroupButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSidePanelButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSidePanelElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSidePanelCloseButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSidePanelComboboxElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSidePanelOpenInNewTabButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSidePanelPinButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSidePanelReadingListUnreadElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSavePasswordComboboxElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSideSearchButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kSideSearchWebViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kTabAlertIndicatorButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kTabCounterButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kTabGroupEditorBubbleId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kTabGroupEditorBubbleSaveToggleId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kTabGroupHeaderElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kTabSearchBubbleElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kTabSearchButtonElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kTabElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kTabStripElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kTabStripRegionElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kTopContainerElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kUserNotesSidePanelWebViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kWebUIIPHDemoElementIdentifier);

DEFINE_CUSTOM_ELEMENT_EVENT_TYPE(kBrowserThemeChangedEventId);
DEFINE_CUSTOM_ELEMENT_EVENT_TYPE(kTabGroupedCustomEventId);
DEFINE_CUSTOM_ELEMENT_EVENT_TYPE(kSidePanelComboboxChangedCustomEventId);
DEFINE_CUSTOM_ELEMENT_EVENT_TYPE(kSidePanelReadingMarkedAsReadEventId);
DEFINE_CUSTOM_ELEMENT_EVENT_TYPE(kSideSearchResultsClickedCustomEventId);
