Commit 7766b199 authored by Daniel Rubery's avatar Daniel Rubery Committed by Commit Bot

Respect DelayDeliveryUntilVerdict policy on chrome://downloads

This CL makes the presence of the "Open Now" button during deep scanning
dependent on whether policy has allowed pending scans to be opened.

Fixed: 1068649
Change-Id: I5d640f45d0c8d5275fd75f135312de4667d61061
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2297979
Commit-Queue: Daniel Rubery <drubery@chromium.org>
Reviewed-by: default avatardpapad <dpapad@chromium.org>
Reviewed-by: default avatarShakti Sahu <shaktisahu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#789649}
parent fba16497
......@@ -362,7 +362,7 @@
</cr-button>
</div>
</template>
<template is="dom-if" if="[[showOpenNow_]]">
<template is="dom-if" if="[[showOpenNow_]]" restamp>
<div role="gridcell">
<cr-button on-click="onOpenNowTap_" id="openNow" class="action-button"
focus-row-control focus-type="open">
......
......@@ -498,7 +498,8 @@ Polymer({
* @private
*/
computeShowOpenNow_() {
return this.data.state === States.ASYNC_SCANNING;
const allowOpenNow = loadTimeData.getBoolean('allowOpenNow');
return this.data.state === States.ASYNC_SCANNING && allowOpenNow;
},
/**
......
......@@ -14,6 +14,7 @@
#include "base/threading/thread.h"
#include "base/values.h"
#include "chrome/browser/defaults.h"
#include "chrome/browser/enterprise/connectors/connectors_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/safe_browsing/advanced_protection_status_manager.h"
#include "chrome/browser/safe_browsing/advanced_protection_status_manager_factory.h"
......@@ -169,6 +170,12 @@ content::WebUIDataSource* CreateDownloadsUIHTMLSource(Profile* profile) {
source->AddResourcePath("downloads.mojom-lite.js",
IDR_DOWNLOADS_MOJO_LITE_JS);
source->AddBoolean(
"allowOpenNow",
!enterprise_connectors::ConnectorsManager::GetInstance()
->DelayUntilVerdict(
enterprise_connectors::AnalysisConnector::FILE_DOWNLOADED));
return source;
}
......
......@@ -85,4 +85,24 @@ suite('item tests', function() {
assertEquals(item.computeIcon_(), 'cr:warning');
assertFalse(item.useFileIcon_);
});
test('open now button controlled by load time data', async () => {
loadTimeData.overrideValues({'allowOpenNow': true});
item.set('data', createDownload({
filePath: 'unique1',
hideDate: false,
state: States.ASYNC_SCANNING,
}));
flush();
assertNotEquals(item.$$('#openNow'), null);
loadTimeData.overrideValues({'allowOpenNow': false});
item.set('data', createDownload({
filePath: 'unique1',
hideDate: false,
state: States.ASYNC_SCANNING,
}));
flush();
assertEquals(item.$$('#openNow'), null);
});
});
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment