Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5109)

Unified Diff: chrome/browser/web_applications/web_app_mac.mm

Issue 1137373003: [Mac] Localize app shims with the OS preferred language. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/web_applications/web_app_mac.mm
diff --git a/chrome/browser/web_applications/web_app_mac.mm b/chrome/browser/web_applications/web_app_mac.mm
index aaa84468fc4000a01a92bcbb37aec064e106ef7b..12fd2df18b520ab4970f396159c2b0e3062a4c18 100644
--- a/chrome/browser/web_applications/web_app_mac.mm
+++ b/chrome/browser/web_applications/web_app_mac.mm
@@ -700,6 +700,9 @@ size_t WebAppShortcutCreator::CreateShortcutsIn(
return succeeded;
}
+ // Ensure the copy does not merge with stale info.
+ base::DeleteFile(dst_path.Append(app_name), true);
+
if (!base::CopyDirectory(staging_path, dst_path, true)) {
LOG(ERROR) << "Copying app to dst path: " << dst_path.value()
<< " failed";
@@ -798,7 +801,6 @@ void WebAppShortcutCreator::DeleteShortcuts() {
bool WebAppShortcutCreator::UpdateShortcuts() {
std::vector<base::FilePath> paths;
- base::DeleteFile(GetInternalShortcutPath(), true);
paths.push_back(app_data_dir_);
// Try to update the copy under /Applications. If that does not exist, check
@@ -807,10 +809,8 @@ bool WebAppShortcutCreator::UpdateShortcuts() {
if (app_path.empty() || !base::PathExists(app_path))
app_path = GetAppBundleById(GetBundleIdentifier());
- if (!app_path.empty()) {
- base::DeleteFile(app_path, true);
+ if (!app_path.empty())
paths.push_back(app_path.DirName());
- }
size_t success_count = CreateShortcutsIn(paths);
if (success_count == 0)
@@ -897,9 +897,13 @@ bool WebAppShortcutCreator::UpdatePlist(const base::FilePath& app_path) const {
bool WebAppShortcutCreator::UpdateDisplayName(
const base::FilePath& app_path) const {
- // OSX searches for the best language in the order of preferred languages.
- // Since we only have one localization directory, it will choose this one.
- base::FilePath localized_dir = GetResourcesPath(app_path).Append("en.lproj");
+ // Localization is used to display the app name (rather than the bundle
+ // filename). OSX searches for the best language in the order of preferred
+ // languages, but one of them must be found otherwise it will default to
+ // the filename.
+ NSString* language = [[NSLocale preferredLanguages] objectAtIndex:0];
+ base::FilePath localized_dir = GetResourcesPath(app_path).Append(
+ base::SysNSStringToUTF8(language) + ".lproj");
if (!base::CreateDirectory(localized_dir))
return false;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698