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

Side by Side Diff: chrome/browser/download/notification/download_item_notification.cc

Issue 1365963004: Don't compile download notification code on !CrOS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: images and strings Created 5 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/download/notification/download_item_notification.h" 5 #include "chrome/browser/download/notification/download_item_notification.h"
6 6
7 #include "base/files/file_util.h" 7 #include "base/files/file_util.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/download/download_crx_util.h" 10 #include "chrome/browser/download/download_crx_util.h"
(...skipping 14 matching lines...) Expand all
25 #include "content/public/browser/page_navigator.h" 25 #include "content/public/browser/page_navigator.h"
26 #include "content/public/browser/user_metrics.h" 26 #include "content/public/browser/user_metrics.h"
27 #include "content/public/browser/web_contents.h" 27 #include "content/public/browser/web_contents.h"
28 #include "grit/theme_resources.h" 28 #include "grit/theme_resources.h"
29 #include "net/base/mime_util.h" 29 #include "net/base/mime_util.h"
30 #include "third_party/skia/include/core/SkCanvas.h" 30 #include "third_party/skia/include/core/SkCanvas.h"
31 #include "ui/base/l10n/l10n_util.h" 31 #include "ui/base/l10n/l10n_util.h"
32 #include "ui/base/l10n/time_format.h" 32 #include "ui/base/l10n/time_format.h"
33 #include "ui/base/resource/resource_bundle.h" 33 #include "ui/base/resource/resource_bundle.h"
34 #include "ui/gfx/codec/jpeg_codec.h" 34 #include "ui/gfx/codec/jpeg_codec.h"
35 #include "ui/gfx/color_palette.h"
35 #include "ui/gfx/image/image.h" 36 #include "ui/gfx/image/image.h"
37 #include "ui/gfx/paint_vector_icon.h"
38 #include "ui/gfx/vector_icons_public.h"
36 #include "ui/message_center/message_center.h" 39 #include "ui/message_center/message_center.h"
37 #include "ui/message_center/message_center_style.h" 40 #include "ui/message_center/message_center_style.h"
38 41
39 #if !defined(OS_MACOSX)
40 #include "ui/gfx/color_palette.h"
41 #include "ui/gfx/paint_vector_icon.h"
42 #include "ui/gfx/vector_icons_public.h"
43 #endif
44
45 using base::UserMetricsAction; 42 using base::UserMetricsAction;
46 43
47 namespace { 44 namespace {
48 45
49 const char kDownloadNotificationNotifierId[] = 46 const char kDownloadNotificationNotifierId[] =
50 "chrome://downloads/notification/id-notifier"; 47 "chrome://downloads/notification/id-notifier";
51 48
52 // Background color of the preview images 49 // Background color of the preview images
53 const SkColor kImageBackgroundColor = SK_ColorWHITE; 50 const SkColor kImageBackgroundColor = SK_ColorWHITE;
54 51
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
506 case content::DownloadItem::IN_PROGRESS: 503 case content::DownloadItem::IN_PROGRESS:
507 case content::DownloadItem::COMPLETE: 504 case content::DownloadItem::COMPLETE:
508 if (is_off_the_record) { 505 if (is_off_the_record) {
509 #if defined(OS_MACOSX) 506 #if defined(OS_MACOSX)
510 SetNotificationIcon(IDR_DOWNLOAD_NOTIFICATION_INCOGNITO); 507 SetNotificationIcon(IDR_DOWNLOAD_NOTIFICATION_INCOGNITO);
511 #else 508 #else
512 SetNotificationVectorIcon(gfx::VectorIconId::FILE_DOWNLOAD_INCOGNITO, 509 SetNotificationVectorIcon(gfx::VectorIconId::FILE_DOWNLOAD_INCOGNITO,
513 gfx::kChromeIconGrey); 510 gfx::kChromeIconGrey);
514 #endif 511 #endif
515 } else { 512 } else {
516 #if defined(OS_MACOSX)
517 SetNotificationIcon(IDR_DOWNLOAD_NOTIFICATION_DOWNLOADING);
518 #else
519 SetNotificationVectorIcon(gfx::VectorIconId::FILE_DOWNLOAD, 513 SetNotificationVectorIcon(gfx::VectorIconId::FILE_DOWNLOAD,
520 gfx::kGoogleBlue); 514 gfx::kGoogleBlue);
521 #endif
522 } 515 }
523 break; 516 break;
524 517
525 case content::DownloadItem::INTERRUPTED: 518 case content::DownloadItem::INTERRUPTED:
526 #if defined(OS_MACOSX) 519 #if defined(OS_MACOSX)
527 SetNotificationIcon(IDR_DOWNLOAD_NOTIFICATION_ERROR); 520 SetNotificationIcon(IDR_DOWNLOAD_NOTIFICATION_ERROR);
528 #else 521 #else
529 SetNotificationVectorIcon(gfx::VectorIconId::ERROR_CIRCLE, 522 SetNotificationVectorIcon(gfx::VectorIconId::ERROR_CIRCLE,
530 gfx::kErrorRed); 523 gfx::kErrorRed);
531 #endif 524 #endif
(...skipping 22 matching lines...) Expand all
554 } 547 }
555 548
556 void DownloadItemNotification::SetNotificationIcon(int resource_id) { 549 void DownloadItemNotification::SetNotificationIcon(int resource_id) {
557 if (image_resource_id_ == resource_id) 550 if (image_resource_id_ == resource_id)
558 return; 551 return;
559 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); 552 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance();
560 image_resource_id_ = resource_id; 553 image_resource_id_ = resource_id;
561 notification_->set_icon(bundle.GetImageNamed(image_resource_id_)); 554 notification_->set_icon(bundle.GetImageNamed(image_resource_id_));
562 } 555 }
563 556
564 #if !defined(OS_MACOSX)
565 void DownloadItemNotification::SetNotificationVectorIcon(gfx::VectorIconId id, 557 void DownloadItemNotification::SetNotificationVectorIcon(gfx::VectorIconId id,
566 SkColor color) { 558 SkColor color) {
567 if (vector_icon_params_ == std::make_pair(id, color)) 559 if (vector_icon_params_ == std::make_pair(id, color))
568 return; 560 return;
569 vector_icon_params_ = std::make_pair(id, color); 561 vector_icon_params_ = std::make_pair(id, color);
570 image_resource_id_ = 0; 562 image_resource_id_ = 0;
571 notification_->set_icon(gfx::Image(gfx::CreateVectorIcon(id, 40, color))); 563 notification_->set_icon(gfx::Image(gfx::CreateVectorIcon(id, 40, color)));
572 } 564 }
573 #endif
574 565
575 void DownloadItemNotification::OnImageLoaded(const std::string& image_data) { 566 void DownloadItemNotification::OnImageLoaded(const std::string& image_data) {
576 if (image_data.empty()) 567 if (image_data.empty())
577 return; 568 return;
578 569
579 // TODO(yoshiki): Set option to reduce the image size to supress memory usage. 570 // TODO(yoshiki): Set option to reduce the image size to supress memory usage.
580 ImageDecoder::Start(this, image_data); 571 ImageDecoder::Start(this, image_data);
581 } 572 }
582 573
583 void DownloadItemNotification::OnImageDecoded(const SkBitmap& decoded_bitmap) { 574 void DownloadItemNotification::OnImageDecoded(const SkBitmap& decoded_bitmap) {
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
899 profile_id); 890 profile_id);
900 891
901 message_center::NotificationList::Notifications visible_notifications = 892 message_center::NotificationList::Notifications visible_notifications =
902 g_browser_process->message_center()->GetVisibleNotifications(); 893 g_browser_process->message_center()->GetVisibleNotifications();
903 for (const auto& notification : visible_notifications) { 894 for (const auto& notification : visible_notifications) {
904 if (notification->id() == notification_id_in_message_center) 895 if (notification->id() == notification_id_in_message_center)
905 return true; 896 return true;
906 } 897 }
907 return false; 898 return false;
908 } 899 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698