diff options
author | benwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-30 09:16:55 +0000 |
---|---|---|
committer | benwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-30 09:16:55 +0000 |
commit | b2721b0739bae858df9758e0c2046b267c8e7112 (patch) | |
tree | 7741e204bbb40a20570a8276d9823b2bc121c137 /base/base_paths_win.cc | |
parent | 35601c5500d4e69dfdcefb091cb72a8f55cb8b98 (diff) | |
download | chromium_src-b2721b0739bae858df9758e0c2046b267c8e7112.zip chromium_src-b2721b0739bae858df9758e0c2046b267c8e7112.tar.gz chromium_src-b2721b0739bae858df9758e0c2046b267c8e7112.tar.bz2 |
Delete Chrome's secondary tiles on Windows 8 when uninstalling.
The Windows secondary tiles deletion functions are only available to Chrome itself when running in metro mode. To get around this, the folder containing the installation's secondarty tiles is removed entirely.
BUG=140559
Review URL: https://chromiumcodereview.appspot.com/10876057
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154103 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/base_paths_win.cc')
-rw-r--r-- | base/base_paths_win.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/base/base_paths_win.cc b/base/base_paths_win.cc index 0b24833..48238a4 100644 --- a/base/base_paths_win.cc +++ b/base/base_paths_win.cc @@ -10,6 +10,7 @@ #include "base/file_path.h" #include "base/file_util.h" #include "base/path_service.h" +#include "base/win/scoped_co_mem.h" #include "base/win/windows_version.h" // http://blogs.msdn.com/oldnewthing/archive/2004/10/25/247180.aspx @@ -125,6 +126,18 @@ bool PathProviderWin(int key, FilePath* result) { cur = executableDir.DirName().DirName(); break; } + case base::DIR_APP_SHORTCUTS: { + if (win::GetVersion() < win::VERSION_WIN8) + return false; + + base::win::ScopedCoMem<wchar_t> path_buf; + if (FAILED(SHGetKnownFolderPath(FOLDERID_ApplicationShortcuts, 0, NULL, + &path_buf))) + return false; + + cur = FilePath(string16(path_buf)); + break; + } default: return false; } |