blob: bfc40ec5a9cb17425355df401f014a74b7950f72 [file] [log] [blame]
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
function getOpeningIds() {
var ids = [];
try {
ids = JSON.parse(localStorage.openWhenComplete);
} catch (e) {
localStorage.openWhenComplete = JSON.stringify(ids);
}
return ids;
}
function setOpeningIds(ids) {
localStorage.openWhenComplete = JSON.stringify(ids);
}
chrome.downloads.onChanged.addListener(function(delta) {
if (!delta.state ||
(delta.state.current != 'complete')) {
return;
}
var ids = getOpeningIds();
if (ids.indexOf(delta.id) < 0) {
return;
}
chrome.downloads.open(delta.id);
ids.splice(ids.indexOf(delta.id), 1);
setOpeningIds(ids);
});
chrome.contextMenus.onClicked.addListener(function(info, tab) {
chrome.downloads.download({url: info.linkUrl}, function(downloadId) {
var ids = getOpeningIds();
if (ids.indexOf(downloadId) >= 0) {
return;
}
ids.push(downloadId);
setOpeningIds(ids);
});
});
chrome.contextMenus.create({
id: 'open',
title: chrome.i18n.getMessage('openContextMenuTitle'),
contexts: ['link'],
});