# Copyright (c) 2012 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.
#
# This file is used to assign starting resource ids for resources and strings
# used by Chromium.  This is done to ensure that resource ids are unique
# across all the grd files.  If you are adding a new grd file, please add
# a new entry to this file.
#
# The entries below are organized into sections. When adding new entries,
# please use the right section. Try to keep entries in alphabetical order.
#
# - chrome/app/
# - chrome/browser/
# - chrome/ WebUI
# - chrome/ miscellaneous
# - chromeos/
# - components/
# - ios/ (overlaps with chrome/)
# - content/
# - ios/web/ (overlaps with content/)
# - everything else
#
# The range of ID values, which is used by pak files, is from 0 to 2^16 - 1.
#
# IMPORTANT: Update instructions:
# * If adding items, manually assign draft start IDs so that numerical order is
#   preserved. Usually it suffices to +1 from previous tag.
#   * If updating items with repeated, be sure to add / update
#     "META": {"join": <duplicate count>},
#     for the item following duplicates. Be sure to look for duplicates that
#     may appear earlier than those that immediately precede the item.
# * To update IDs, run the following (from src/):
#
#   python tools/grit/grit.py update_resource_ids \
#        -o tools/gritsettings/resource_ids tools/gritsettings/resource_ids
{
  # The first entry in the file, SRCDIR, is special: It is a relative path from
  # this file to the base of your checkout.
  "SRCDIR": "../..",

  # START chrome/app section.
  # Previous versions of this file started with resource id 400, so stick with
  # that.
  #
  # chrome/ and ios/chrome/ must start at the same id.
  # App only use one file depending on whether it is iOS or other platform.
  # Chromium strings and Google Chrome strings must start at the same id.
  # We only use one file depending on whether we're building Chromium or
  # Google Chrome.
  "chrome/app/chromium_strings.grd": {
    "messages": [400],
  },
  "chrome/app/google_chrome_strings.grd": {
    "messages": [400],
  },

  # Leave lots of space for generated_resources since it has most of our
  # strings.
  "chrome/app/generated_resources.grd": {
    # Big alignment since strings (previous item) are frequently added.
    "META": {"join": 2, "align": 200},
    "messages": [800],
  },

  "chrome/app/resources/locale_settings.grd": {
    # Big alignment since strings (previous item) are frequently added.
    "META": {"align": 1000},
    "messages": [9000],
  },

  # These each start with the same resource id because we only use one
  # file for each build (chromiumos, google_chromeos, linux, mac, or win).
  "chrome/app/resources/locale_settings_chromiumos.grd": {
    # Big alignment since strings (previous item) are frequently added.
    "META": {"align": 100},
    "messages": [9100],
  },
  "chrome/app/resources/locale_settings_google_chromeos.grd": {
    "messages": [9100],
  },
  "chrome/app/resources/locale_settings_linux.grd": {
    "messages": [9100],
  },
  "chrome/app/resources/locale_settings_mac.grd": {
    "messages": [9100],
  },
  "chrome/app/resources/locale_settings_win.grd": {
    "messages": [9100],
  },

  "chrome/app/theme/chrome_unscaled_resources.grd": {
    "META": {"join": 5},
    "includes": [9150],
  },

  # Leave space for theme_resources since it has many structures.
  "chrome/app/theme/theme_resources.grd": {
    "structures": [9230],
  },
  # END chrome/app section.

  # START chrome/browser section.
  "chrome/browser/browser_resources.grd": {
    # Big alignment at start of section.
    "META": {"align": 100},
    "includes": [9500],
    "structures": [9900],
  },
  "chrome/browser/resources/bookmarks/bookmarks_resources.grd": {
    "includes": [9930],
    "structures": [9950],
  },
  "chrome/browser/resources/bookmarks/bookmarks_resources_vulcanized.grd": {
    "includes": [9970],
  },
  "chrome/browser/resources/chromeos/camera/camera_resources.grd": {
    "includes": [9980],
    "structures": [10040],
  },
  "chrome/browser/resources/chromeos/camera/src/strings/camera_strings.grd": {
    "messages": [10100],
  },
  "chrome/browser/resources/chromeos/cellular_setup/cellular_setup_resources.grd": {
    "structures": [10190],
  },
  "chrome/browser/resources/chromeos/multidevice_setup/multidevice_setup_resources.grd": {
    "structures": [10200],
  },
  "chrome/browser/resources/component_extension_resources.grd": {
    "includes": [10210],
    "structures": [10350],
  },
  "chrome/browser/resources/downloads/downloads_resources_vulcanized.grd": {
    "includes": [10360],
  },
  "chrome/browser/resources/downloads/downloads_resources.grd": {
    "includes": [10370],
    "structures": [10380],
  },
  "chrome/browser/resources/extensions/extensions_resources_vulcanized.grd": {
    "includes": [10390],
  },
  "chrome/browser/resources/extensions/extensions_resources.grd": {
    "includes": [10400],
    "structures": [10440],
  },
  "chrome/browser/resources/history/history_resources_vulcanized.grd": {
    "includes": [10460],
  },
  "chrome/browser/resources/history/history_resources.grd": {
    "includes": [10480],
  },
  "chrome/browser/resources/local_ntp/local_ntp_resources.grd": {
    "includes": [10520],
  },
 "chrome/browser/resources/new_tab_page/new_tab_page_resources.grd": {
    "includes": [10560],
    "structures": [10570],
  },
  "chrome/browser/resources/print_preview/print_preview_resources_vulcanized.grd": {
    "includes": [10580],
  },
  "chrome/browser/resources/print_preview/print_preview_resources.grd": {
    "includes": [10590],
    "structures": [10640],
  },
  "chrome/browser/resources/settings/os_settings_resources_vulcanized.grd": {
    "includes": [10680],
  },
  "chrome/browser/resources/settings/os_settings_resources.grd": {
    "structures": [10690],
  },
  "chrome/browser/resources/settings/settings_resources_vulcanized.grd": {
    "includes": [11230],
  },
  "chrome/browser/resources/settings/settings_resources.grd": {
    "structures": [11240],
  },
  "chrome/browser/resources/tab_strip/tab_strip_resources.grd": {
    "structures": [11830],
    "includes": [11850],
  },
  "chrome/browser/resources/welcome/welcome_resources.grd": {
    "includes": [11870],
    "structures": [11900],
  },
  "chrome/browser/vr/testapp/vr_testapp_resources.grd": {
    "includes": [11920],
  },
  # END chrome/browser section.

  # START chrome/ WebUI resources section
  "chrome/browser/media/kaleidoscope/internal/kaleidoscope_resources.grd": {
    # Big alignment at start of section.
    "META": {"align": 100},
    "includes": [12000],
  },
  "chrome/browser/resources/bluetooth_internals/resources.grd": {
    "includes": [12010],
  },
  "chrome/browser/resources/invalidations/invalidations_resources.grd": {
    "includes": [12050],
  },
  "chrome/browser/resources/media/webrtc_logs_resources.grd": {
    "includes": [12060],
  },
  "chrome/browser/resources/net_internals/net_internals_resources.grd": {
    "includes": [12070],
  },
  "chrome/browser/resources/omnibox/resources.grd": {
    "includes": [12080],
  },
  "chrome/browser/resources/quota_internals/quota_internals_resources.grd": {
    "includes": [12100],
  },
  "chrome/browser/resources/sync_file_system_internals/sync_file_system_internals_resources.grd": {
    "includes": [12110],
  },
  "chrome/browser/resources/usb_internals/resources.grd": {
    "includes": [12120],
  },
  "chrome/browser/resources/webapks/webapks_ui_resources.grd": {
    "includes": [12130],
  },
  "components/sync/driver/resources.grd": {
    "includes": [12140],
  },
  "content/browser/resources/media/media_internals_resources.grd": {
    "includes": [12160],
  },
  "content/browser/webrtc/resources/resources.grd": {
    "includes": [12170],
  },
  # END chrome/ WebUI resources section

  # START chrome/ miscellaneous section.
  "chrome/android/features/test_dummy/internal/resources/resources.grd": {
    # Big alignment at start of section.
    "META": {"align": 100},
    "includes": [12200],
  },
  "chrome/common/common_resources.grd": {
    "includes": [12210],
  },
  "chrome/credential_provider/gaiacp/gaia_resources.grd": {
    "includes": [12220],
    "messages": [12230],
  },
  "chrome/renderer/resources/renderer_resources.grd": {
    "includes": [12270],
    "structures": [12350],
  },
  "chrome/test/data/webui_test_resources.grd": {
    "includes": [12360],
  },
  # END chrome/ miscellaneous section.

  # START chromeos/ section.
  "chromeos/chromeos_strings.grd": {
    # Big alignment at start of section.
    "META": {"align": 100},
    "messages": [12400],
  },
  "chromeos/components/help_app_ui/resources/help_app_resources.grd": {
    "includes": [12450],
  },
  # Both help_app_bundle_resources.grd and help_app_bundle_mock_resources.grd
  # start with the same id because only one of them is built depending on if
  # src_internal is available. Lower bound for number of resource ids is number
  # of languages (74).
  "chromeos/components/help_app_ui/resources/app/help_app_bundle_resources.grd": {
    "META": {"sizes": {"includes": [100],}},  # Relies on src-internal.
    "includes": [12460],
  },
  "chromeos/components/help_app_ui/resources/mock/help_app_bundle_mock_resources.grd": {
    "includes": [12460],
  },
  "chromeos/components/media_app_ui/resources/media_app_resources.grd": {
    "META": {"join": 2},
    "includes": [12580],
  },
  # Both media_app_bundle_resources.grd and media_app_bundle_mock_resources.grd
  # start with the same id because only one of them is built depending on if
  # src_internal is available. Lower bound for number of resource ids is number
  # of languages (74).
  "chromeos/components/media_app_ui/resources/app/app/media_app_bundle_resources.grd": {
    "META": {"sizes": {"includes": [100],}},  # Relies on src-internal.
    "includes": [12590],
  },
  "chromeos/components/media_app_ui/resources/mock/media_app_bundle_mock_resources.grd": {
    "includes": [12590],
  },
  "chromeos/resources/chromeos_resources.grd": {
    "META": {"join": 2},
    "includes": [12710],
  },
  # END chromeos/ section.

  # START components/ section.
  # Chromium strings and Google Chrome strings must start at the same id.
  # We only use one file depending on whether we're building Chromium or
  # Google Chrome.
  "components/components_chromium_strings.grd": {
    # Big alignment at start of section.
    "META": {"align": 100},
    "messages": [12800],
  },
  "components/components_google_chrome_strings.grd": {
    "messages": [12800],
  },

  "components/components_locale_settings.grd": {
    "META": {"join": 2},
    "includes": [12820],
    "messages": [12830],
  },
  "components/components_strings.grd": {
    "messages": [12840],
  },
  "components/omnibox/resources/omnibox_resources.grd": {
    "includes": [14770],
  },
  "components/policy/resources/policy_templates.grd": {
    "structures": [14780],
  },
  "components/resources/components_resources.grd": {
    "includes": [14790],
  },
  "components/resources/components_scaled_resources.grd": {
    "structures": [14870],
  },
  "components/embedder_support/android/java/strings/web_contents_delegate_android_strings.grd": {
    "messages": [14910],
  },
  "components/autofill/core/browser/autofill_address_rewriter_resources.grd":{
    "includes": [14930]
  },
  # END components/ section.

  # START ios/ section.
  #
  # chrome/ and ios/chrome/ must start at the same id.
  # App only use one file depending on whether it is iOS or other platform.
  "ios/chrome/app/resources/ios_resources.grd": {
    "includes": [400],
    "structures": [420],
  },

  # Chromium strings and Google Chrome strings must start at the same id.
  # We only use one file depending on whether we're building Chromium or
  # Google Chrome.
  "ios/chrome/app/strings/ios_chromium_strings.grd": {
    # Big alignment to make start IDs look nicer.
    "META": {"align": 100},
    "messages": [500],
  },
  "ios/chrome/app/strings/ios_google_chrome_strings.grd": {
    "messages": [500],
  },

  "ios/chrome/app/strings/ios_strings.grd": {
    # Big alignment since strings (previous item) are frequently added.
    "META": {"join": 2, "align": 200},
    "messages": [600],
  },
  "ios/chrome/app/theme/ios_theme_resources.grd": {
    # Big alignment since strings (previous item) are frequently added.
    "META": {"align": 100},
    "structures": [1400],
  },
  "ios/chrome/share_extension/strings/ios_share_extension_strings.grd": {
    "messages": [1440],
  },
  "ios/chrome/search_widget_extension/strings/ios_search_widget_extension_strings.grd": {
    "messages": [1450],
  },
  "ios/chrome/search_widget_extension/strings/ios_search_widget_extension_chromium_strings.grd": {
    "messages": [1470],
  },
  "ios/chrome/search_widget_extension/strings/ios_search_widget_extension_google_chrome_strings.grd": {
    "messages": [1470],
  },
  "ios/chrome/content_widget_extension/strings/ios_content_widget_extension_chromium_strings.grd": {
    "META": {"join": 2},
    "messages": [1480],
  },
  "ios/chrome/content_widget_extension/strings/ios_content_widget_extension_google_chrome_strings.grd": {
    "messages": [1480],
  },

  # END ios/ section.

  # START content/ section.
  # content/ and ios/web/ must start at the same id.
  # App only use one file depending on whether it is iOS or other platform.
  "content/app/resources/content_resources.grd": {
    # Big alignment at start of section.
    "META": {"join": 3, "align": 100},
    "structures": [15000],
  },
  "content/content_resources.grd": {
    "includes": [15030],
  },
  "content/shell/shell_resources.grd": {
    "includes": [15070],
  },

  # This file is generated during the build.
  "<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.grd": {
    "META": {"sizes": {"includes": [20],}},
    "includes": [15080],
  },
  # END content/ section.

  # START ios/web/ section.
  # content/ and ios/web/ must start at the same id.
  # App only use one file depending on whether it is iOS or other platform.
  "ios/web/ios_web_resources.grd": {
    # Big alignment at start of section.
    "META": {"align": 100},
    "includes": [15000],
  },
  "ios/web/test/test_resources.grd": {
    "includes": [15010],
  },
  # END ios/web/ section.

  # START "everything else" section.
  # Everything but chrome/, chromeos/, components/, content/, and ios/
  "android_webview/ui/aw_resources.grd": {
    # Big alignment at start of section.
    "META": {"join": 2, "align": 100},
    "includes": [15200],
  },
  "android_webview/ui/aw_strings.grd": {
    "messages": [15210],
  },

  "ash/app_list/resources/app_list_resources.grd": {
    "structures": [15220],
  },
  "ash/ash_strings.grd": {
    "messages": [15230],
  },
  "ash/components/ash_components_strings.grd": {
    "messages": [15970],
  },
  "ash/keyboard/ui/keyboard_resources.grd": {
    "includes": [16220],
  },
  "ash/login/resources/login_resources.grd": {
    "structures": [16300],
  },
  "ash/public/cpp/resources/ash_public_unscaled_resources.grd": {
    "includes": [16310],
  },
  "chromecast/renderer/resources/extensions_renderer_resources.grd": {
    "includes": [16320],
  },

  "cloud_print/virtual_driver/win/install/virtual_driver_setup_resources.grd": {
    "includes": [16230],
    "messages": [16235],
  },

  "device/bluetooth/bluetooth_strings.grd": {
    "messages": [16240],
  },

  "device/fido/fido_strings.grd": {
    "messages": [16275],
  },

  "extensions/browser/resources/extensions_browser_resources.grd": {
    "structures": [16380],
  },
  "extensions/extensions_resources.grd": {
    "includes": [16390],
  },
  "extensions/renderer/resources/extensions_renderer_resources.grd": {
    "includes": [16400],
    "structures": [16470],
  },
  "extensions/shell/app_shell_resources.grd": {
    "includes": [16480],
  },
  "extensions/strings/extensions_strings.grd": {
    "messages": [16490],
  },

  "headless/lib/resources/headless_lib_resources.grd": {
    "includes": [16570],
  },

  "mojo/public/js/mojo_bindings_resources.grd": {
    "includes": [16580],
  },

  "net/base/net_resources.grd": {
    "includes": [16600],
  },

  "remoting/resources/remoting_strings.grd": {
    "messages": [16610],
  },

  "services/services_strings.grd": {
    "messages": [16990],
  },

  "third_party/blink/public/blink_image_resources.grd": {
    "structures": [17000],
  },
  "third_party/blink/public/blink_resources.grd": {
    "includes": [17010],
  },
  "third_party/blink/renderer/modules/media_controls/resources/media_controls_resources.grd": {
    "includes": [17090],
    "structures": [17100],
  },
  "third_party/blink/public/strings/blink_strings.grd": {
    "messages": [17110],
  },
  "third_party/ink/ink_resources.grd": {
    "includes": [17420],
  },
  "third_party/libaddressinput/chromium/address_input_strings.grd": {
    "messages": [17430],
  },

  "ui/base/test/ui_base_test_resources.grd": {
    "messages": [17480],
  },
  "ui/chromeos/resources/ui_chromeos_resources.grd": {
    "structures": [17490],
  },
  "ui/chromeos/ui_chromeos_strings.grd": {
    "messages": [17590],
  },
  "ui/file_manager/file_manager_resources.grd": {
    "includes": [18510],
  },
  "ui/resources/ui_resources.grd": {
    "structures": [18730],
  },
  "ui/resources/ui_unscaled_resources.grd": {
    "includes": [18870],
  },
  "ui/strings/app_locale_settings.grd": {
    "messages": [18900],
  },
  "ui/strings/ui_strings.grd": {
    "messages": [18910],
  },
  "ui/views/resources/views_resources.grd": {
    "structures": [19210],
  },
  "ui/webui/resources/webui_resources.grd": {
    "includes": [19270],
    "structures": [19430],
  },
  "weblayer/weblayer_resources.grd": {
    "includes": [20050],
  },

  # This file is generated during the build.
  "<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd": {
    "META": {"sizes": {"includes": [500],}},
    "includes": [20060],
  },

  "qtwebengine/browser/qt_webengine_resources.grd": {
    "includes": [30210],
  },

  # END "everything else" section.
  # Everything but chrome/, components/, content/, and ios/

  # Thinking about appending to the end?
  # Please read the header and find the right section above instead.

  # Resource ids starting at 31000 are reserved for projects built on Chromium.
}
