# 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 first entry in the file, SRCDIR, is special: It is a relative path from
# this file to the base of your checkout.
#
# The range of ID values, which is used by pak files, is from 0 to 2^16 - 1.
{
  "SRCDIR": "../..",

  "chrome/browser/browser_resources.grd": {
    "includes": [400],
    "structures": [750],
  },
  "chrome/browser/resources/component_extension_resources.grd": {
    "includes": [1000],
    "structures": [1450],
  },
  "chrome/browser/resources/net_internals_resources.grd": {
    "includes": [1500],
  },
  "ui/webui/resources/webui_resources.grd": {
    "includes": [2000],
    "structures": [2200],
  },
  "chrome/common/common_resources.grd": {
    "includes": [2500],
  },
  "chrome/renderer/resources/renderer_resources.grd": {
    "includes": [3500],
    "structures": [3700],
  },
  "net/base/net_resources.grd": {
    "includes": [4000],
  },
  "ui/resources/ui_unscaled_resources.grd": {
    "includes": [4500],
  },
  "content/app/resources/content_resources.grd": {
    "structures": [4700],
  },
  "ui/resources/ui_resources.grd": {
    "structures": [5500],
  },
  "ash/resources/ash_resources.grd": {
    "includes": [6100],
    "structures": [6150],
  },
  "athena/resources/athena_resources.grd": {
    "structures": [6400],
  },
  "athena/strings/athena_strings.grd": {
    "messages": [6500],
  },
  "chrome/app/theme/theme_resources.grd": {
    "structures": [7000],
  },
  "chrome/app/theme/chrome_unscaled_resources.grd": {
    "includes": [8000],
  },
  "ui/strings/app_locale_settings.grd": {
    "messages": [9000],
  },
  "chrome/app/resources/locale_settings.grd": {
    "includes": [9500],
    "messages": [10000],
  },
  # 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": {
    "messages": [10500],
  },
  "chrome/app/resources/locale_settings_google_chromeos.grd": {
    "messages": [10500],
  },
  "chrome/app/resources/locale_settings_linux.grd": {
    "messages": [10500],
  },
  "chrome/app/resources/locale_settings_mac.grd": {
    "messages": [10500],
  },
  "chrome/app/resources/locale_settings_win.grd": {
    "messages": [10500],
  },
  "ui/strings/ui_strings.grd": {
    "messages": [11000],
  },
  # 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": [11500],
  },
  "chrome/app/google_chrome_strings.grd": {
    "messages": [11500],
  },
  # Leave lots of space for generated_resources since it has most of our
  # strings.
  "chrome/app/generated_resources.grd": {
    "structures": [12000],
    "messages": [12500],
  },
  "content/app/strings/content_strings.grd": {
    "messages": [19000],
  },
  "components/policy/resources/policy_templates.grd": {
    "structures": [20500],
    "messages": [20510],
  },
  "chrome/browser/resources/sync_internals_resources.grd": {
    "includes": [21500],
  },
  "chrome/browser/resources/signin_internals_resources.grd": {
    "includes": [21750],
  },
  "chrome/browser/resources/invalidations_resources.grd": {
    "includes": [21950],
  },
  # This file is generated during the build.
  "<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd": {
    "includes": [22000],
  },
  "devtools_resources.grd": {
    "includes": [22000],
  },
  "chrome/browser/resources/options_resources.grd": {
    "includes": [23000],
    "structures": [23200],
  },
  "chrome/browser/resources/options_test_resources.grd": {
    "includes": [23400],
    "structures": [23450],
  },
  "cloud_print/virtual_driver/win/install/virtual_driver_setup_resources.grd": {
    "messages": [23500],
    "includes": [23550],
  },
  "cloud_print/service/win/service_resources.grd": {
    "messages": [23600],
    "includes": [23700],
    "structures": [23750],
  },
  "cloud_print/gcp20/prototype/gcp20_device.grd": {
    "messages": [23800],
    "includes": [23830],
    "structures": [23860],
  },
  "chrome/browser/resources/quota_internals_resources.grd": {
    "includes": [24000],
  },
  "content/content_resources.grd": {
    "includes": [25000],
  },
  "content/shell/shell_resources.grd": {
    "includes": [25500],
  },
  # This file is generated during the build.
  "<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.grd": {
    "includes": [25750],
  },
  # iOS resources overlap with ash, chromeos and extensions_api, as these are
  # not used on iOS.
  "ios/chrome/app/theme/ios_theme_resources.grd": {
    "structures": [26000],
  },
  "ash/ash_strings.grd": {
    "messages": [26000],
  },
  "ui/chromeos/resources/ui_chromeos_resources.grd": {
    "structures": [26200],
  },
  "ui/chromeos/ui_chromeos_strings.grd": {
    "messages": [26300],
  },
  "chrome/common/extensions_api_resources.grd": {
    "includes": [26400],
  },
  "extensions/extensions_resources.grd": {
    "includes": [26600],
  },
  "extensions/browser/resources/extensions_browser_resources.grd": {
    "structures": [26800],
  },
  "extensions/renderer/resources/extensions_renderer_resources.grd": {
    "includes": [26850],
    "structures": [26950],
  },
  "extensions/extensions_strings.grd": {
    "messages": [27000],
  },
  "extensions/shell/app_shell_resources.grd": {
    "includes": [27400],
  },
  "chrome/browser/resources/memory_internals_resources.grd": {
    "includes": [27500],
  },
  "chrome/browser/resources/password_manager_internals_resources.grd": {
    "includes": [27800],
  },
  "device/bluetooth/bluetooth_strings.grd": {
    "messages": [28000],
  },
  "ui/keyboard/keyboard_resources.grd": {
    "includes": [28050],
  },
  "ui/file_manager/file_manager_resources.grd": {
    "includes": [28100],
  },
  "ui/login/login_resources.grd": {
    "includes": [28300],
  },
  "chrome/browser/resources/translate_internals_resources.grd": {
    "includes": [28500],
  },
  "chrome/browser/resources/sync_file_system_internals_resources.grd": {
    "includes": [29000],
  },
  "chrome/app/address_input_strings.grd": {
    "messages": [29100],
  },
  "remoting/resources/remoting_strings.grd": {
    "messages": [29550],
  },
  "components/components_strings.grd": {
    "messages": [30000],
  },
  "components/resources/components_resources.grd": {
    "includes": [30250],
  },
  "components/resources/components_scaled_resources.grd": {
    "structures": [30350],
  },
  "third_party/WebKit/public/blink_resources.grd": {
    "includes": [30500],
  },
  "chrome/browser/devtools/device/webrtc/resources.grd": {
    "includes": [30800],
  },

  # These files don't need to reserve resource ids, but are listed here so that
  # translation scripts know of their existence.
  "android_webview/java/strings/android_webview_strings.grd": {},
  "chrome/android/java/strings/android_chrome_strings.grd": {},
  "content/public/android/java/strings/android_content_strings.grd": {},
  "ui/accessibility/extensions/strings/accessibility_extensions_strings.grd": {},
  "ui/android/java/strings/android_ui_strings.grd": {},

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