# 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": [3000],
  },
  "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],
  },
  "third_party/WebKit/public/blink_image_resources.grd": {
    "structures": [4750],
  },
  "ui/resources/ui_resources.grd": {
    "structures": [5500],
  },
  "ui/views/resources/views_resources.grd": {
    "structures": [5800],
  },
  "ash/resources/ash_resources.grd": {
    "includes": [6100],
    "structures": [6150],
  },
  "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/strings/ios_strings_resources.grd": {
    "messages": [26000],
  },
  "ios/chrome/app/theme/ios_theme_resources.grd": {
    "structures": [27000],
  },
  "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": [28110],
  },
  "components/chrome_apps/chrome_apps_resources.grd": {
    "includes": [28290],
  },
  "ui/login/login_resources.grd": {
    "includes": [28310],
  },
  "chrome/browser/resources/translate_internals_resources.grd": {
    "includes": [28510],
  },
  "chrome/browser/resources/sync_file_system_internals_resources.grd": {
    "includes": [29010],
  },
  "chrome/app/address_input_strings.grd": {
    "messages": [29110],
  },
  "remoting/resources/remoting_strings.grd": {
    "messages": [29560],
  },
  "components/components_strings.grd": {
    "messages": [30010],
  },
  "components/resources/components_resources.grd": {
    "includes": [30260],
  },
  "components/resources/components_scaled_resources.grd": {
    "structures": [30310],
  },
  "third_party/WebKit/public/blink_resources.grd": {
    "includes": [30350],
    "structures": [30650],
  },
  "chrome/browser/devtools/device/webrtc/resources.grd": {
    "includes": [30800],
  },
  "chrome/browser/resources/settings/settings_resources.grd": {
    "structures": [30900],
  },

  # 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.
}
