summaryrefslogtreecommitdiffstats
path: root/base/base_paths_win.cc
diff options
context:
space:
mode:
authorbenwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-30 09:16:55 +0000
committerbenwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-30 09:16:55 +0000
commitb2721b0739bae858df9758e0c2046b267c8e7112 (patch)
tree7741e204bbb40a20570a8276d9823b2bc121c137 /base/base_paths_win.cc
parent35601c5500d4e69dfdcefb091cb72a8f55cb8b98 (diff)
downloadchromium_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.cc13
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;
}