Skip to content
  • thomasanderson's avatar
    Change linux default hidden file save directory to XDG_DATA_HOME · 1799a122
    thomasanderson authored
    Versions of GTK3 up to 3.14.7 had a bug that would cause a segfault
    when a GtkFileChooser was open and a hidden file in the directory was
    deleted [1].
    
    Chrome can trigger this bug in the following scenario:
    1. Open 2 windows
    2. Open a save dialog in each window
    3. Close one of the dialogs
    
    Chrome saves a file in two stages: it writes the contents to a hidden
    file, and then renames it to the actual file.  This is so the file can
    be downloading as the user is choosing a file to save to.
    
    By default, the hidden file is placed into whichever directory the
    save dialog opens with.  In the case of 2 save dialogs open at once,
    if the user saves the file (renames the hidden file) or cancels the
    download (deletes the hidden file), the GTK bug would be triggered.
    
    This CL changes the default directory for the hidden files to
    XDG_DATA_HOME in an effort to make triggering the GTK bug far less
    likely.
    
    [1] https://mail.gnome.org/archives/commits-list/2014-December/msg02447.html
    
    BUG=728501
    R=thestig@chromium.org
    TBR=qinmin@chromium.org
    
    Review-Url: https://codereview.chromium.org/2924433002
    Cr-Commit-Position: refs/heads/master@{#479213}
    1799a122