in resources/perf.webkit.org/public/v3/models/uploaded-file.js [34:57]
static fetchUploadedFileWithIdenticalHash(file)
{
if (file.size > UploadedFile.fileUploadSizeLimit)
return Promise.reject('FileSizeLimitExceeded');
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onload = () => resolve(reader.result);
reader.onerror = () => reject();
reader.readAsArrayBuffer(file);
}).then((content) => {
return this._computeSHA256Hash(content);
}).then((sha256) => {
const map = this.namedStaticMap('sha256');
if (map && sha256 in map)
return map[sha256];
return RemoteAPI.getJSON(`../api/uploaded-file?sha256=${sha256}`).then((rawData) => {
if (rawData['status'] == 'NotFound' || !rawData['uploadedFile'])
return null;
if (rawData['status'] != 'OK')
return Promise.reject(rawData['status']);
return UploadedFile.ensureSingleton(rawData['uploadedFile'].id, rawData['uploadedFile']);
});
});
}