# 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.
#
# http://msdn.microsoft.com/en-us/library/t2zechd4(VS.71).aspx says that the
# range for IDR_ is 1 to 28,671 and the range for IDS_ is 1 to 32,767 and
# common convention starts practical use of IDs at 100 or 101.
{
  "SRCDIR": "../..",

  "chrome/browser/browser_resources.grd": {
    "includes": [500],
    "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],
  },
  "webkit/glue/resources/webkit_resources.grd": {
    "structures": [4700],
  },
  "ui/resources/ui_resources.grd": {
    "structures": [5500],
  },
  "ash/resources/ash_resources.grd": {
    "includes": [6100],
    "structures": [6150],
  },
  "chrome/app/theme/theme_resources.grd": {
    "structures": [6500],
  },
  "chrome/app/theme/chrome_unscaled_resources.grd": {
    "includes": [7500],
  },
  "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],
  },
  "webkit/glue/inspector_strings.grd": {
    "messages": [17500],
  },
  "webkit/glue/webkit_strings.grd": {
    "messages": [18500],
  },
  "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],
  },
  "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],
  },
  "ash/ash_strings.grd": {
    "messages": [26000],
  },
  "chrome/common/extensions_api_resources.grd": {
    "includes": [26400],
  },
  "extensions/extensions_resources.grd": {
    "includes": [26600],
  },
  "extensions/renderer/resources/extensions_renderer_resources.grd": {
    "includes": [26800],
  },
  "extensions/extensions_strings.grd": {
    "messages": [27000],
  },
  "apps/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],
  },
  "chrome/browser/resources/translate_internals_resources.grd": {
    "includes": [28500],
  },
  "chrome/browser/resources/sync_file_system_internals_resources.grd": {
    "includes": [29000],
  },
  "third_party/libaddressinput/chromium/cpp/res/libaddressinput_strings.grd": {
    "messages": [29050],
  },
  "chrome/app/address_input_strings.grd": {
    "messages": [29100],
  },
  "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],
  },
  # Resource ids starting at 31000 are reserved for projects built on Chromium.
}
