| 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/views/download_item_view.h" | 5 #include "chrome/browser/views/download_item_view.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 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 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 if (download_->state() == DownloadItem::IN_PROGRESS) | 426 if (download_->state() == DownloadItem::IN_PROGRESS) |
| 427 download_->Cancel(true); | 427 download_->Cancel(true); |
| 428 download_->Remove(true); | 428 download_->Remove(true); |
| 429 // WARNING: we are deleted at this point. Don't access 'this'. | 429 // WARNING: we are deleted at this point. Don't access 'this'. |
| 430 } else if (sender == save_button_) { | 430 } else if (sender == save_button_) { |
| 431 // The user has confirmed a dangerous download. We'd record how quickly the | 431 // The user has confirmed a dangerous download. We'd record how quickly the |
| 432 // user did this to detect whether we're being clickjacked. | 432 // user did this to detect whether we're being clickjacked. |
| 433 UMA_HISTOGRAM_LONG_TIMES("clickjacking.save_download", | 433 UMA_HISTOGRAM_LONG_TIMES("clickjacking.save_download", |
| 434 base::Time::Now() - creation_time_); | 434 base::Time::Now() - creation_time_); |
| 435 // This will change the state and notify us. | 435 // This will change the state and notify us. |
| 436 download_->manager()->DangerousDownloadValidated(download_); | 436 download_->DangerousDownloadValidated(); |
| 437 } | 437 } |
| 438 } | 438 } |
| 439 | 439 |
| 440 // Load an icon for the file type we're downloading, and animate any in progress | 440 // Load an icon for the file type we're downloading, and animate any in progress |
| 441 // download state. | 441 // download state. |
| 442 void DownloadItemView::Paint(gfx::Canvas* canvas) { | 442 void DownloadItemView::Paint(gfx::Canvas* canvas) { |
| 443 BodyImageSet* body_image_set = NULL; | 443 BodyImageSet* body_image_set = NULL; |
| 444 switch (body_state_) { | 444 switch (body_state_) { |
| 445 case NORMAL: | 445 case NORMAL: |
| 446 case HOT: | 446 case HOT: |
| (...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 900 // We don't care if what animation (body button/drop button/complete), | 900 // We don't care if what animation (body button/drop button/complete), |
| 901 // is calling back, as they all have to go through the same paint call. | 901 // is calling back, as they all have to go through the same paint call. |
| 902 SchedulePaint(); | 902 SchedulePaint(); |
| 903 } | 903 } |
| 904 | 904 |
| 905 void DownloadItemView::OpenDownload() { | 905 void DownloadItemView::OpenDownload() { |
| 906 // We're interested in how long it takes users to open downloads. If they | 906 // We're interested in how long it takes users to open downloads. If they |
| 907 // open downloads super quickly, we should be concerned about clickjacking. | 907 // open downloads super quickly, we should be concerned about clickjacking. |
| 908 UMA_HISTOGRAM_LONG_TIMES("clickjacking.open_download", | 908 UMA_HISTOGRAM_LONG_TIMES("clickjacking.open_download", |
| 909 base::Time::Now() - creation_time_); | 909 base::Time::Now() - creation_time_); |
| 910 if (download_->state() == DownloadItem::IN_PROGRESS) { | 910 download_->OpenDownload(); |
| 911 download_->set_open_when_complete(!download_->open_when_complete()); | |
| 912 } else if (download_->state() == DownloadItem::COMPLETE) { | |
| 913 download_util::OpenDownload(download_); | |
| 914 } | |
| 915 } | 911 } |
| 916 | 912 |
| 917 void DownloadItemView::OnExtractIconComplete(IconManager::Handle handle, | 913 void DownloadItemView::OnExtractIconComplete(IconManager::Handle handle, |
| 918 SkBitmap* icon_bitmap) { | 914 SkBitmap* icon_bitmap) { |
| 919 if (icon_bitmap) | 915 if (icon_bitmap) |
| 920 GetParent()->SchedulePaint(); | 916 GetParent()->SchedulePaint(); |
| 921 } | 917 } |
| 922 | 918 |
| 923 void DownloadItemView::LoadIcon() { | 919 void DownloadItemView::LoadIcon() { |
| 924 IconManager* im = g_browser_process->icon_manager(); | 920 IconManager* im = g_browser_process->icon_manager(); |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1007 void DownloadItemView::Reenable() { | 1003 void DownloadItemView::Reenable() { |
| 1008 disabled_while_opening_ = false; | 1004 disabled_while_opening_ = false; |
| 1009 SetEnabled(true); // Triggers a repaint. | 1005 SetEnabled(true); // Triggers a repaint. |
| 1010 } | 1006 } |
| 1011 | 1007 |
| 1012 bool DownloadItemView::InDropDownButtonXCoordinateRange(int x) { | 1008 bool DownloadItemView::InDropDownButtonXCoordinateRange(int x) { |
| 1013 if (x > drop_down_x_left_ && x < drop_down_x_right_) | 1009 if (x > drop_down_x_left_ && x < drop_down_x_right_) |
| 1014 return true; | 1010 return true; |
| 1015 return false; | 1011 return false; |
| 1016 } | 1012 } |
| OLD | NEW |