| Index: chrome/browser/download/download_item_model.cc
|
| diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/download/download_item_model.cc
|
| index 47793eb95611458793c0eb97cf47463530c3febb..82395465458ad63b08b5fc49afcaa100dd9af80e 100644
|
| --- a/chrome/browser/download/download_item_model.cc
|
| +++ b/chrome/browser/download/download_item_model.cc
|
| @@ -48,29 +48,6 @@ class DownloadItemModelData : public base::SupportsUserData::Data {
|
| // object if not found. Always returns a non-NULL pointer, unless OOM.
|
| static DownloadItemModelData* GetOrCreate(DownloadItem* download);
|
|
|
| - bool should_show_in_shelf() const { return should_show_in_shelf_; }
|
| - void set_should_show_in_shelf(bool should_show_in_shelf) {
|
| - should_show_in_shelf_ = should_show_in_shelf;
|
| - }
|
| -
|
| - bool was_ui_notified() const { return was_ui_notified_; }
|
| - void set_was_ui_notified(bool was_ui_notified) {
|
| - was_ui_notified_ = was_ui_notified;
|
| - }
|
| -
|
| - bool should_prefer_opening_in_browser() const {
|
| - return should_prefer_opening_in_browser_;
|
| - }
|
| - void set_should_prefer_opening_in_browser(bool preference) {
|
| - should_prefer_opening_in_browser_ = preference;
|
| - }
|
| -
|
| - private:
|
| - DownloadItemModelData();
|
| - virtual ~DownloadItemModelData() {}
|
| -
|
| - static const char kKey[];
|
| -
|
| // Whether the download should be displayed in the download shelf. True by
|
| // default.
|
| bool should_show_in_shelf_;
|
| @@ -81,6 +58,16 @@ class DownloadItemModelData : public base::SupportsUserData::Data {
|
| // Whether the download should be opened in the browser vs. the system handler
|
| // for the file type.
|
| bool should_prefer_opening_in_browser_;
|
| +
|
| + // Whether the download should be considered dangerous if SafeBrowsing doesn't
|
| + // come up with a verdict.
|
| + bool is_dangerous_file_based_on_type_;
|
| +
|
| + private:
|
| + DownloadItemModelData();
|
| + virtual ~DownloadItemModelData() {}
|
| +
|
| + static const char kKey[];
|
| };
|
|
|
| // static
|
| @@ -107,7 +94,8 @@ DownloadItemModelData* DownloadItemModelData::GetOrCreate(
|
| DownloadItemModelData::DownloadItemModelData()
|
| : should_show_in_shelf_(true),
|
| was_ui_notified_(false),
|
| - should_prefer_opening_in_browser_(false) {
|
| + should_prefer_opening_in_browser_(false),
|
| + is_dangerous_file_based_on_type_(false) {
|
| }
|
|
|
| base::string16 InterruptReasonStatusMessage(int reason) {
|
| @@ -560,12 +548,12 @@ bool DownloadItemModel::ShouldShowDownloadStartedAnimation() const {
|
|
|
| bool DownloadItemModel::ShouldShowInShelf() const {
|
| const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
|
| - return !data || data->should_show_in_shelf();
|
| + return !data || data->should_show_in_shelf_;
|
| }
|
|
|
| void DownloadItemModel::SetShouldShowInShelf(bool should_show) {
|
| DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
|
| - data->set_should_show_in_shelf(should_show);
|
| + data->should_show_in_shelf_ = should_show;
|
| }
|
|
|
| bool DownloadItemModel::ShouldNotifyUI() const {
|
| @@ -594,22 +582,32 @@ bool DownloadItemModel::ShouldNotifyUI() const {
|
|
|
| bool DownloadItemModel::WasUINotified() const {
|
| const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
|
| - return data && data->was_ui_notified();
|
| + return data && data->was_ui_notified_;
|
| }
|
|
|
| void DownloadItemModel::SetWasUINotified(bool was_ui_notified) {
|
| DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
|
| - data->set_was_ui_notified(was_ui_notified);
|
| + data->was_ui_notified_ = was_ui_notified;
|
| }
|
|
|
| bool DownloadItemModel::ShouldPreferOpeningInBrowser() const {
|
| const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
|
| - return data && data->should_prefer_opening_in_browser();
|
| + return data && data->should_prefer_opening_in_browser_;
|
| }
|
|
|
| void DownloadItemModel::SetShouldPreferOpeningInBrowser(bool preference) {
|
| DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
|
| - data->set_should_prefer_opening_in_browser(preference);
|
| + data->should_prefer_opening_in_browser_ = preference;
|
| +}
|
| +
|
| +bool DownloadItemModel::IsDangerousFileBasedOnType() const {
|
| + const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
|
| + return data && data->is_dangerous_file_based_on_type_;
|
| +}
|
| +
|
| +void DownloadItemModel::SetIsDangerousFileBasedOnType(bool dangerous) {
|
| + DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
|
| + data->is_dangerous_file_based_on_type_ = dangerous;
|
| }
|
|
|
| base::string16 DownloadItemModel::GetProgressSizesString() const {
|
|
|