Home | History | Annotate | Download | only in common
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef EXTENSIONS_COMMON_CONSTANTS_H_
      6 #define EXTENSIONS_COMMON_CONSTANTS_H_
      7 
      8 #include "base/basictypes.h"
      9 #include "base/files/file_path.h"
     10 #include "ui/base/layout.h"
     11 
     12 namespace extensions {
     13 
     14 // Scheme we serve extension content from.
     15 extern const char kExtensionScheme[];
     16 
     17 // Canonical schemes you can use as input to GURL.SchemeIs().
     18 extern const char kExtensionResourceScheme[];
     19 
     20 // The name of the manifest inside an extension.
     21 extern const base::FilePath::CharType kManifestFilename[];
     22 
     23 // The name of locale folder inside an extension.
     24 extern const base::FilePath::CharType kLocaleFolder[];
     25 
     26 // The name of the messages file inside an extension.
     27 extern const base::FilePath::CharType kMessagesFilename[];
     28 
     29 // The base directory for subdirectories with platform-specific code.
     30 extern const base::FilePath::CharType kPlatformSpecificFolder[];
     31 
     32 // A directory reserved for metadata, generated either by the webstore
     33 // or chrome.
     34 extern const base::FilePath::CharType kMetadataFolder[];
     35 
     36 // Name of the verified contents file within the metadata folder.
     37 extern const base::FilePath::CharType kVerifiedContentsFilename[];
     38 
     39 // Name of the computed hashes file within the metadata folder.
     40 extern const base::FilePath::CharType kComputedHashesFilename[];
     41 
     42 // The name of the directory inside the profile where extensions are
     43 // installed to.
     44 extern const char kInstallDirectoryName[];
     45 
     46 // The name of a temporary directory to install an extension into for
     47 // validation before finalizing install.
     48 extern const char kTempExtensionName[];
     49 
     50 // The file to write our decoded images to, relative to the extension_path.
     51 extern const char kDecodedImagesFilename[];
     52 
     53 // The file to write our decoded message catalogs to, relative to the
     54 // extension_path.
     55 extern const char kDecodedMessageCatalogsFilename[];
     56 
     57 // The filename to use for a background page generated from
     58 // background.scripts.
     59 extern const char kGeneratedBackgroundPageFilename[];
     60 
     61 // Path to imported modules.
     62 extern const char kModulesDir[];
     63 
     64 // The file extension (.crx) for extensions.
     65 extern const base::FilePath::CharType kExtensionFileExtension[];
     66 
     67 // The file extension (.pem) for private key files.
     68 extern const base::FilePath::CharType kExtensionKeyFileExtension[];
     69 
     70 // Default frequency for auto updates, if turned on.
     71 extern const int kDefaultUpdateFrequencySeconds;
     72 
     73 // The name of the directory inside the profile where per-app local settings
     74 // are stored.
     75 extern const char kLocalAppSettingsDirectoryName[];
     76 
     77 // The name of the directory inside the profile where per-extension local
     78 // settings are stored.
     79 extern const char kLocalExtensionSettingsDirectoryName[];
     80 
     81 // The name of the directory inside the profile where per-app synced settings
     82 // are stored.
     83 extern const char kSyncAppSettingsDirectoryName[];
     84 
     85 // The name of the directory inside the profile where per-extension synced
     86 // settings are stored.
     87 extern const char kSyncExtensionSettingsDirectoryName[];
     88 
     89 // The name of the directory inside the profile where per-extension persistent
     90 // managed settings are stored.
     91 extern const char kManagedSettingsDirectoryName[];
     92 
     93 // The name of the database inside the profile where chrome-internal
     94 // extension state resides.
     95 extern const char kStateStoreName[];
     96 
     97 // The name of the database inside the profile where declarative extension
     98 // rules are stored.
     99 extern const char kRulesStoreName[];
    100 
    101 // The URL query parameter key corresponding to multi-login user index.
    102 extern const char kAuthUserQueryKey[];
    103 
    104 // Mime type strings
    105 extern const char kMimeTypeJpeg[];
    106 extern const char kMimeTypePng[];
    107 
    108 // The extension id of the Web Store component application.
    109 extern const char kWebStoreAppId[];
    110 
    111 }  // namespace extensions
    112 
    113 namespace extension_misc {
    114 
    115 // Matches chrome.windows.WINDOW_ID_NONE.
    116 const int kUnknownWindowId = -1;
    117 
    118 // Matches chrome.windows.WINDOW_ID_CURRENT.
    119 const int kCurrentWindowId = -2;
    120 
    121 // NOTE: If you change this list, you should also change kExtensionIconSizes
    122 // in cc file.
    123 enum ExtensionIcons {
    124   EXTENSION_ICON_GIGANTOR = 512,
    125   EXTENSION_ICON_EXTRA_LARGE = 256,
    126   EXTENSION_ICON_LARGE = 128,
    127   EXTENSION_ICON_MEDIUM = 48,
    128   EXTENSION_ICON_SMALL = 32,
    129   EXTENSION_ICON_SMALLISH = 24,
    130   EXTENSION_ICON_ACTION = 19,
    131   EXTENSION_ICON_BITTY = 16,
    132   EXTENSION_ICON_INVALID = 0,
    133 };
    134 
    135 // List of sizes for extension icons that can be defined in the manifest.
    136 extern const int kExtensionIconSizes[];
    137 extern const size_t kNumExtensionIconSizes;
    138 
    139 struct IconRepresentationInfo {
    140   // Size in pixels.
    141   const int size;
    142   // Size as a string that will be used to retrieve representation value from
    143   // ExtensionAction SetIcon function arguments.
    144   const char* const size_string;
    145   // Scale factor for which the representation should be used.
    146   const ui::ScaleFactor scale;
    147 };
    148 
    149 // The icon representations for extension actions.
    150 extern const IconRepresentationInfo kExtensionActionIconSizes[];
    151 const size_t kNumExtensionActionIconSizes = 2u;
    152 
    153 }  // namespace extension_misc
    154 
    155 #endif  // EXTENSIONS_COMMON_CONSTANTS_H_
    156