| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/page_info_model.h" | 5 #include "chrome/browser/page_info_model.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "app/l10n_util.h" | 9 #include "app/l10n_util.h" |
| 10 #include "app/resource_bundle.h" | 10 #include "app/resource_bundle.h" |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_CONNECTION_TEXT, | 175 IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_CONNECTION_TEXT, |
| 176 subject_name, | 176 subject_name, |
| 177 base::IntToString16(ssl.security_bits()))); | 177 base::IntToString16(ssl.security_bits()))); |
| 178 if (ssl.displayed_insecure_content() || ssl.ran_insecure_content()) { | 178 if (ssl.displayed_insecure_content() || ssl.ran_insecure_content()) { |
| 179 // The old SSL dialog only had good and bad state, so for the old | 179 // The old SSL dialog only had good and bad state, so for the old |
| 180 // implementation we raise an error on finding mixed content. The new | 180 // implementation we raise an error on finding mixed content. The new |
| 181 // SSL info bubble has a warning state for displaying insecure content, | 181 // SSL info bubble has a warning state for displaying insecure content, |
| 182 // so we check. The command line check will go away once we eliminate | 182 // so we check. The command line check will go away once we eliminate |
| 183 // the old dialogs. | 183 // the old dialogs. |
| 184 const CommandLine* command_line(CommandLine::ForCurrentProcess()); | 184 const CommandLine* command_line(CommandLine::ForCurrentProcess()); |
| 185 if (command_line->HasSwitch(switches::kEnableNewPageInfoBubble) && | 185 if (!command_line->HasSwitch(switches::kDisableNewPageInfoBubble) && |
| 186 !ssl.ran_insecure_content()) { | 186 !ssl.ran_insecure_content()) { |
| 187 icon_id = ICON_STATE_WARNING_MINOR; | 187 icon_id = ICON_STATE_WARNING_MINOR; |
| 188 } else { | 188 } else { |
| 189 icon_id = ICON_STATE_ERROR; | 189 icon_id = ICON_STATE_ERROR; |
| 190 } | 190 } |
| 191 description.assign(l10n_util::GetStringFUTF16( | 191 description.assign(l10n_util::GetStringFUTF16( |
| 192 IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_SENTENCE_LINK, | 192 IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_SENTENCE_LINK, |
| 193 description, | 193 description, |
| 194 l10n_util::GetStringUTF16(ssl.ran_insecure_content() ? | 194 l10n_util::GetStringUTF16(ssl.ran_insecure_content() ? |
| 195 IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_INSECURE_CONTENT_ERROR : | 195 IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_INSECURE_CONTENT_ERROR : |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 PageInfoModel::SectionInfo PageInfoModel::GetSectionInfo(int index) { | 278 PageInfoModel::SectionInfo PageInfoModel::GetSectionInfo(int index) { |
| 279 DCHECK(index < static_cast<int>(sections_.size())); | 279 DCHECK(index < static_cast<int>(sections_.size())); |
| 280 return sections_[index]; | 280 return sections_[index]; |
| 281 } | 281 } |
| 282 | 282 |
| 283 gfx::NativeImage PageInfoModel::GetIconImage(SectionStateIcon icon_id) { | 283 gfx::NativeImage PageInfoModel::GetIconImage(SectionStateIcon icon_id) { |
| 284 if (icon_id == ICON_NONE) | 284 if (icon_id == ICON_NONE) |
| 285 return NULL; | 285 return NULL; |
| 286 // TODO(rsesek): Remove once the window is replaced with the bubble. | 286 // TODO(rsesek): Remove once the window is replaced with the bubble. |
| 287 const CommandLine* command_line(CommandLine::ForCurrentProcess()); | 287 const CommandLine* command_line(CommandLine::ForCurrentProcess()); |
| 288 if (!command_line->HasSwitch(switches::kEnableNewPageInfoBubble) && | 288 if (command_line->HasSwitch(switches::kDisableNewPageInfoBubble) && |
| 289 icon_id != ICON_STATE_OK) { | 289 icon_id != ICON_STATE_OK) { |
| 290 return icons_[ICON_STATE_WARNING_MAJOR]; | 290 return icons_[ICON_STATE_WARNING_MAJOR]; |
| 291 } | 291 } |
| 292 // The buble uses new, various icons. | 292 // The bubble uses new, various icons. |
| 293 return icons_[icon_id]; | 293 return icons_[icon_id]; |
| 294 } | 294 } |
| 295 | 295 |
| 296 void PageInfoModel::OnGotVisitCountToHost(HistoryService::Handle handle, | 296 void PageInfoModel::OnGotVisitCountToHost(HistoryService::Handle handle, |
| 297 bool found_visits, | 297 bool found_visits, |
| 298 int count, | 298 int count, |
| 299 base::Time first_visit) { | 299 base::Time first_visit) { |
| 300 if (!found_visits) { | 300 if (!found_visits) { |
| 301 // This indicates an error, such as the page wasn't http/https; do nothing. | 301 // This indicates an error, such as the page wasn't http/https; do nothing. |
| 302 return; | 302 return; |
| 303 } | 303 } |
| 304 | 304 |
| 305 bool visited_before_today = false; | 305 bool visited_before_today = false; |
| 306 if (count) { | 306 if (count) { |
| 307 base::Time today = base::Time::Now().LocalMidnight(); | 307 base::Time today = base::Time::Now().LocalMidnight(); |
| 308 base::Time first_visit_midnight = first_visit.LocalMidnight(); | 308 base::Time first_visit_midnight = first_visit.LocalMidnight(); |
| 309 visited_before_today = (first_visit_midnight < today); | 309 visited_before_today = (first_visit_midnight < today); |
| 310 } | 310 } |
| 311 | 311 |
| 312 // We only show the Site Information heading for the new dialogs. | 312 // We only show the Site Information heading for the new dialogs. |
| 313 string16 title; | 313 string16 title; |
| 314 const CommandLine* command_line(CommandLine::ForCurrentProcess()); | 314 const CommandLine* command_line(CommandLine::ForCurrentProcess()); |
| 315 bool as_bubble = command_line->HasSwitch(switches::kEnableNewPageInfoBubble); | 315 bool as_bubble = !command_line->HasSwitch( |
| 316 switches::kDisableNewPageInfoBubble); |
| 316 if (as_bubble) | 317 if (as_bubble) |
| 317 title = l10n_util::GetStringUTF16(IDS_PAGE_INFO_SITE_INFO_TITLE); | 318 title = l10n_util::GetStringUTF16(IDS_PAGE_INFO_SITE_INFO_TITLE); |
| 318 | 319 |
| 319 if (!visited_before_today) { | 320 if (!visited_before_today) { |
| 320 sections_.push_back(SectionInfo( | 321 sections_.push_back(SectionInfo( |
| 321 ICON_STATE_WARNING_MAJOR, | 322 ICON_STATE_WARNING_MAJOR, |
| 322 l10n_util::GetStringUTF16( | 323 l10n_util::GetStringUTF16( |
| 323 IDS_PAGE_INFO_SECURITY_TAB_PERSONAL_HISTORY_TITLE), | 324 IDS_PAGE_INFO_SECURITY_TAB_PERSONAL_HISTORY_TITLE), |
| 324 title, | 325 title, |
| 325 l10n_util::GetStringUTF16( | 326 l10n_util::GetStringUTF16( |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 gfx::NativeImage PageInfoModel::GetBitmapNamed(int resource_id) { | 363 gfx::NativeImage PageInfoModel::GetBitmapNamed(int resource_id) { |
| 363 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 364 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 364 gfx::NativeImage image = rb.GetNativeImageNamed(resource_id); | 365 gfx::NativeImage image = rb.GetNativeImageNamed(resource_id); |
| 365 #if defined(OS_MACOSX) | 366 #if defined(OS_MACOSX) |
| 366 // Unlike other platforms, the Mac ResourceBundle does not keep a shared image | 367 // Unlike other platforms, the Mac ResourceBundle does not keep a shared image |
| 367 // cache. These are released in the dtor. | 368 // cache. These are released in the dtor. |
| 368 mac_util::NSObjectRetain(image); | 369 mac_util::NSObjectRetain(image); |
| 369 #endif | 370 #endif |
| 370 return image; | 371 return image; |
| 371 } | 372 } |
| OLD | NEW |