| OLD | NEW | 
|    1 # Behavior of Download File Types in Chrome |    1 # Behavior of Download File Types in Chrome | 
|    2  |    2  | 
|    3 This describes how to adjust file-type download behavior in |    3 This describes how to adjust file-type download behavior in | 
|    4 Chrome including interactions with Safe Browsing. The metadata described |    4 Chrome including interactions with Safe Browsing. The metadata described | 
|    5 here, and stored in `download_file_types.asciipb`, will be both baked into |    5 here, and stored in `download_file_types.asciipb`, will be both baked into | 
|    6 Chrome released and pushable to Chrome between releases. http://crbug.com/596555 |    6 Chrome released and pushable to Chrome between releases (via | 
 |    7 `FileTypePolicies` class).  http://crbug.com/596555 | 
|    7  |    8  | 
|    8 Rendered version of this file: https://chromium.googlesource.com/chromium/src/+/
     master/chrome/browser/resources/safe_browsing/README.md |    9 Rendered version of this file: https://chromium.googlesource.com/chromium/src/+/
     master/chrome/browser/resources/safe_browsing/README.md | 
|    9  |   10  | 
|   10  |   11  | 
|   11 ## Procedure for adding a new type |   12 ## Procedure for adding/modifying file type(s) | 
|   12   * Edit `download_file_types.asciipb`, edit `download_stats.cc` (necessary |   13   * **Edit** `download_file_types.asciipb` and update `histograms.xml` | 
|   13     until it gets replaced), and update `histograms.xml` |   14   * Get it reviewed, **submit.** | 
|   14   * Get it reviewed, submit. |   15   * **Push** it to all users via component update: | 
|   15   * Push via component update (PROCEDURE TBD) |   16     * Wait 1-3 day for this to run on Canary to verify it doesn't crash Chrome. | 
 |   17     * In a synced checkout, generate protos for all platforms: | 
 |   18         * % `ninja -C out-gn/Debug | 
 |   19          chrome/browser/resources/safe_browsing:make_all_file_types_protobuf` | 
 |   20     * That will instruct you to run another command to push the files to GCS. | 
 |   21       You must a member of chrome-file-type-policies-pushers@google.com to have | 
 |   22       access to the GCS bucket. | 
 |   23     * The Component Updater system will notice those files and push them to | 
 |   24       users withing ~6 hours. If not, contact `waffles@.` | 
 |   25  | 
|   16  |   26  | 
|   17 ## Guidelines for a DownloadFileType entry: |   27 ## Guidelines for a DownloadFileType entry: | 
|   18 See `download_file_types.proto` for all fields. |   28 See `download_file_types.proto` for all fields. | 
|   19  |   29  | 
|   20   * `extension`: (required) Value must be unique within the config. It should be |   30   * `extension`: (required) Value must be unique within the config. It should be | 
|   21     lowercase ASCII and not contain a dot. If there _is_ a duplicate, |   31     lowercase ASCII and not contain a dot. If there _is_ a duplicate, | 
|   22     first one wins. Only the `default_file_type` should leave this unset. |   32     first one wins. Only the `default_file_type` should leave this unset. | 
|   23  |   33  | 
|   24   * `uma_value`: (required) must be unique and match one in the |   34   * `uma_value`: (required) must be unique and match one in the | 
|   25     `SBClientDownloadExtensions` enum in `histograms.xml`. |   35     `SBClientDownloadExtensions` enum in `histograms.xml`. | 
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   96     ping_setting=SAMPLED_PING) should we send light-pings? [0.0 .. 1.0] |  106     ping_setting=SAMPLED_PING) should we send light-pings? [0.0 .. 1.0] | 
|   97  |  107  | 
|   98   * `file_types`: The big list of all known file types. Keep them |  108   * `file_types`: The big list of all known file types. Keep them | 
|   99      sorted by extension. |  109      sorted by extension. | 
|  100  |  110  | 
|  101   * `default_file_type`: Settings used if a downloaded file is not in |  111   * `default_file_type`: Settings used if a downloaded file is not in | 
|  102     the above list. `extension` is ignored, but other settings are used. |  112     the above list. `extension` is ignored, but other settings are used. | 
|  103     The ping_setting should be SAMPLED_PING for all platforms. Only the |  113     The ping_setting should be SAMPLED_PING for all platforms. Only the | 
|  104     first platform_setting is used. |  114     first platform_setting is used. | 
|  105  |  115  | 
| OLD | NEW |