blob: 2e234ab7bd9aaa42682d0b56c88d48001675e427 [file] [log] [blame]
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/download/download_item_mode.h"
#include "chrome/browser/download/download_ui_model.h"
namespace download {
DownloadItemMode GetDesiredDownloadItemMode(const DownloadUIModel* download) {
if (download->IsInsecure()) {
const bool warn = download->GetInsecureDownloadStatus() ==
download::DownloadItem::InsecureDownloadStatus::WARN;
return warn ? DownloadItemMode::kInsecureDownloadWarn
: DownloadItemMode::kInsecureDownloadBlock;
}
if (download->IsDangerous() &&
(download->GetState() != download::DownloadItem::CANCELLED)) {
return download->MightBeMalicious() ? DownloadItemMode::kMalicious
: DownloadItemMode::kDangerous;
}
return ((download->GetDangerType() ==
download::DOWNLOAD_DANGER_TYPE_ASYNC_SCANNING) &&
(download->GetState() != download::DownloadItem::CANCELLED))
? DownloadItemMode::kDeepScanning
: DownloadItemMode::kNormal;
}
} // namespace download