Chromium Code Reviews| Index: chrome/browser/win/jumplist.cc |
| diff --git a/chrome/browser/win/jumplist.cc b/chrome/browser/win/jumplist.cc |
| index af8b85740eece98290c83dfe4b35dced83cecdd8..c1585a697bf93408cbbe5a51dcba16eb824a1b92 100644 |
| --- a/chrome/browser/win/jumplist.cc |
| +++ b/chrome/browser/win/jumplist.cc |
| @@ -4,8 +4,6 @@ |
| #include "chrome/browser/win/jumplist.h" |
| -#include <Shlwapi.h> |
| - |
| #include "base/bind.h" |
| #include "base/bind_helpers.h" |
| #include "base/command_line.h" |
| @@ -260,32 +258,34 @@ void RunUpdateOnFileThread( |
| UMA_HISTOGRAM_ENUMERATION("WinJumplist.DeleteStatusJumpListIcons", |
| delete_status, END); |
| - // If JumpListIcons directory is not empty, skip jumplist update and return |
| - // early. If the directory doesn't exist which shouldn't though, try to create |
| - // a new JumpListIcons directory. If the creation fails, return early. |
| + // If JumpListIcons directory is not empty, skip updating the jumplist. |
| + // If the directory doesn't exist which shouldn't though, try to create |
| + // a new JumpListIcons directory. If the creation fails, skip updating the |
| + // jumplist. |
| + |
| + DirectoryStatus dir_status = NON_EXIST; |
| if (base::DirectoryExists(icon_dir)) { |
|
grt (UTC plus 2)
2017/03/27 08:03:39
nit: omit braces for single-line conditional and b
chengx
2017/03/27 18:32:41
Done.
|
| - DirectoryEmptyStatus empty_status = |
| - ::PathIsDirectoryEmpty(icon_dir.value().c_str()) ? EMPTY : NON_EMPTY; |
| - UMA_HISTOGRAM_ENUMERATION("WinJumplist.EmptyStatusJumpListIcons", |
| - empty_status, EMPTY_STATUS_END); |
| - if (empty_status == NON_EMPTY) |
| - return; |
| - } else if (!base::CreateDirectory(icon_dir)) { |
| - return; |
| + dir_status = base::IsDirectoryEmpty(icon_dir) ? EMPTY : NON_EMPTY; |
| } |
| - // Create temporary icon files for shortcuts in the "Most Visited" category. |
| - CreateIconFiles(icon_dir, local_most_visited_pages); |
| + if (dir_status == NON_EXIST && base::CreateDirectory(icon_dir)) { |
|
grt (UTC plus 2)
2017/03/27 08:03:39
nit: omit braces
chengx
2017/03/27 18:32:41
Done.
|
| + dir_status = EMPTY; |
| + } |
| + |
| + if (dir_status == EMPTY) { |
| + // Create temporary icon files for shortcuts in the "Most Visited" category. |
| + CreateIconFiles(icon_dir, local_most_visited_pages); |
| - // Create temporary icon files for shortcuts in the "Recently Closed" |
| - // category. |
| - CreateIconFiles(icon_dir, local_recently_closed_pages); |
| + // Create temporary icon files for shortcuts in the "Recently Closed" |
| + // category. |
| + CreateIconFiles(icon_dir, local_recently_closed_pages); |
| - // We finished collecting all resources needed for updating an application |
| - // JumpList. So, create a new JumpList and replace the current JumpList |
| - // with it. |
| - UpdateJumpList(app_id.c_str(), local_most_visited_pages, |
| - local_recently_closed_pages, incognito_availability); |
| + // We finished collecting all resources needed for updating an application |
| + // JumpList. So, create a new JumpList and replace the current JumpList |
| + // with it. |
| + UpdateJumpList(app_id.c_str(), local_most_visited_pages, |
| + local_recently_closed_pages, incognito_availability); |
| + } |
|
grt (UTC plus 2)
2017/03/27 08:03:39
in the "else" case, the jumplist retains the old m
chengx
2017/03/27 18:32:41
Correct, in this case, the jumplist retains the ol
grt (UTC plus 2)
2017/03/27 19:18:47
how does the shell handle this -- is Chrome's icon
chengx
2017/03/27 20:26:08
In this case, Chrome's icon will be used.
The ca
|
| // Post a background task to delete JumpListIconsOld folder if it exists and |
| // log the delete results to UMA. |