OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/task_manager/task_manager_resource_util.h" | 5 #include "chrome/browser/task_manager/task_manager_util.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/i18n/rtl.h" | 8 #include "base/i18n/rtl.h" |
9 #include "base/string16.h" | 9 #include "base/string16.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
11 #include "chrome/browser/browser_process.h" | 11 #include "chrome/browser/browser_process.h" |
12 #include "chrome/browser/profiles/profile.h" | 12 #include "chrome/browser/profiles/profile.h" |
13 #include "chrome/browser/profiles/profile_info_cache.h" | 13 #include "chrome/browser/profiles/profile_info_cache.h" |
14 #include "chrome/browser/profiles/profile_manager.h" | 14 #include "chrome/browser/profiles/profile_manager.h" |
15 #include "content/public/browser/web_contents.h" | 15 #include "content/public/browser/web_contents.h" |
16 #include "grit/generated_resources.h" | 16 #include "grit/generated_resources.h" |
17 | 17 |
18 int TaskManagerResourceUtil::GetMessagePrefixID(bool is_app, | 18 namespace task_manager { |
19 bool is_extension, | 19 |
20 bool is_incognito, | 20 namespace util { |
21 bool is_prerender, | 21 |
22 bool is_instant_overlay, | 22 int GetMessagePrefixID(bool is_app, |
23 bool is_background) { | 23 bool is_extension, |
| 24 bool is_incognito, |
| 25 bool is_prerender, |
| 26 bool is_instant_overlay, |
| 27 bool is_background) { |
24 if (is_app) { | 28 if (is_app) { |
25 if (is_background) | 29 if (is_background) |
26 return IDS_TASK_MANAGER_BACKGROUND_PREFIX; | 30 return IDS_TASK_MANAGER_BACKGROUND_PREFIX; |
27 if (is_incognito) | 31 if (is_incognito) |
28 return IDS_TASK_MANAGER_APP_INCOGNITO_PREFIX; | 32 return IDS_TASK_MANAGER_APP_INCOGNITO_PREFIX; |
29 return IDS_TASK_MANAGER_APP_PREFIX; | 33 return IDS_TASK_MANAGER_APP_PREFIX; |
30 } | 34 } |
31 if (is_extension) { | 35 if (is_extension) { |
32 if (is_incognito) | 36 if (is_incognito) |
33 return IDS_TASK_MANAGER_EXTENSION_INCOGNITO_PREFIX; | 37 return IDS_TASK_MANAGER_EXTENSION_INCOGNITO_PREFIX; |
34 return IDS_TASK_MANAGER_EXTENSION_PREFIX; | 38 return IDS_TASK_MANAGER_EXTENSION_PREFIX; |
35 } | 39 } |
36 if (is_prerender) | 40 if (is_prerender) |
37 return IDS_TASK_MANAGER_PRERENDER_PREFIX; | 41 return IDS_TASK_MANAGER_PRERENDER_PREFIX; |
38 if (is_instant_overlay) | 42 if (is_instant_overlay) |
39 return IDS_TASK_MANAGER_INSTANT_OVERLAY_PREFIX; | 43 return IDS_TASK_MANAGER_INSTANT_OVERLAY_PREFIX; |
40 | 44 |
41 return IDS_TASK_MANAGER_TAB_PREFIX; | 45 return IDS_TASK_MANAGER_TAB_PREFIX; |
42 } | 46 } |
43 | 47 |
44 string16 TaskManagerResourceUtil::GetProfileNameFromInfoCache( | 48 string16 GetProfileNameFromInfoCache(Profile* profile) { |
45 Profile* profile) { | |
46 DCHECK(profile); | 49 DCHECK(profile); |
47 | 50 |
48 ProfileInfoCache& cache = | 51 ProfileInfoCache& cache = |
49 g_browser_process->profile_manager()->GetProfileInfoCache(); | 52 g_browser_process->profile_manager()->GetProfileInfoCache(); |
50 size_t index = cache.GetIndexOfProfileWithPath( | 53 size_t index = cache.GetIndexOfProfileWithPath( |
51 profile->GetOriginalProfile()->GetPath()); | 54 profile->GetOriginalProfile()->GetPath()); |
52 if (index == std::string::npos) | 55 if (index == std::string::npos) |
53 return string16(); | 56 return string16(); |
54 else | 57 else |
55 return cache.GetNameOfProfileAtIndex(index); | 58 return cache.GetNameOfProfileAtIndex(index); |
56 } | 59 } |
57 | 60 |
58 string16 TaskManagerResourceUtil::GetTitleFromWebContents( | 61 string16 GetTitleFromWebContents(content::WebContents* web_contents) { |
59 content::WebContents* web_contents) { | |
60 DCHECK(web_contents); | 62 DCHECK(web_contents); |
61 | 63 |
62 string16 title = web_contents->GetTitle(); | 64 string16 title = web_contents->GetTitle(); |
63 if (title.empty()) { | 65 if (title.empty()) { |
64 GURL url = web_contents->GetURL(); | 66 GURL url = web_contents->GetURL(); |
65 title = UTF8ToUTF16(url.spec()); | 67 title = UTF8ToUTF16(url.spec()); |
66 // Force URL to be LTR. | 68 // Force URL to be LTR. |
67 title = base::i18n::GetDisplayStringInLTRDirectionality(title); | 69 title = base::i18n::GetDisplayStringInLTRDirectionality(title); |
68 } else { | 70 } else { |
69 // Since the tab_title will be concatenated with | 71 // Since the tab_title will be concatenated with |
70 // IDS_TASK_MANAGER_TAB_PREFIX, we need to explicitly set the tab_title to | 72 // IDS_TASK_MANAGER_TAB_PREFIX, we need to explicitly set the tab_title to |
71 // be LTR format if there is no strong RTL charater in it. Otherwise, if | 73 // be LTR format if there is no strong RTL charater in it. Otherwise, if |
72 // IDS_TASK_MANAGER_TAB_PREFIX is an RTL word, the concatenated result | 74 // IDS_TASK_MANAGER_TAB_PREFIX is an RTL word, the concatenated result |
73 // might be wrong. For example, http://mail.yahoo.com, whose title is | 75 // might be wrong. For example, http://mail.yahoo.com, whose title is |
74 // "Yahoo! Mail: The best web-based Email!", without setting it explicitly | 76 // "Yahoo! Mail: The best web-based Email!", without setting it explicitly |
75 // as LTR format, the concatenated result will be "!Yahoo! Mail: The best | 77 // as LTR format, the concatenated result will be "!Yahoo! Mail: The best |
76 // web-based Email :BAT", in which the capital letters "BAT" stands for | 78 // web-based Email :BAT", in which the capital letters "BAT" stands for |
77 // the Hebrew word for "tab". | 79 // the Hebrew word for "tab". |
78 base::i18n::AdjustStringForLocaleDirection(&title); | 80 base::i18n::AdjustStringForLocaleDirection(&title); |
79 } | 81 } |
80 return title; | 82 return title; |
81 } | 83 } |
| 84 |
| 85 } // namespace util |
| 86 |
| 87 } // namespace task_manager |
OLD | NEW |