Chrome упакованное приложение - загрузка файла из Webview

Я работаю над тем, чтобы существующее веб-приложение в стиле Ajax функционировало как приложение Chrome. Приложение Ajax работает в Webview внутри упакованного приложения и в основном работает отлично.

Приложение Ajax позволяет пользователям загружать документы, используя стандартную загрузку HTML 5 и перетаскивание. Загрузки работают нормально, ноЗагрузки не работают.

Это упрощенный пример логики в приложении Ajax. Он использует Javascript для обработки события click, выполняет некоторую логику, а затем, в конце концов, запускает загрузку, устанавливая местоположение скрытого IFrame.



  
  function downloadFile(url) {
    window.frames['dataTransfer'].location = url;
  }
  


  <a href="http://www.google.com" target="_blank">Google</a><br>
  <a href="https://s3.amazonaws.com/LYHKDevA1/2058e6cab4304af3a39eeb275eeac96d?response-content-disposition=attachment%3Bfilename%3D%22TestFile.pdf%22%3Bfilename*%3DUTF-8%27%27TestFile.pdf&Signature=FUlZZqNoJ%2F%2FvHIPX6CPDkvJ7uik%3D&Expires=1437854276&AWSAccessKeyId=1ZAN0NYFJ2DCQX8AN8G2" target="_blank">Download PDF</a><br>
  <a href="#" onclick="downloadFile('https://s3.amazonaws.com/LYHKDevA1/2058e6cab4304af3a39eeb275eeac96d?response-content-disposition=attachment%3Bfilename%3D%22TestFile.pdf%22%3Bfilename*%3DUTF-8%27%27TestFile.pdf&Signature=FUlZZqNoJ%2F%2FvHIPX6CPDkvJ7uik%3D&Expires=1437854276&AWSAccessKeyId=1ZAN0NYFJ2DCQX8AN8G2');return false;" target="_blank">Download PDF JS</a><br>
  <br>


Если вы запускаете это в стандартной вкладке Chrome, все 3 ссылки работают нормально. Однако в приложении Chrome работают только первые 2 ссылки - нажатие на третью ссылку ничего не дает. В сетевом разделе инструментов разработчика он фактически появляется для начала загрузки, но затем быстро отменяется.

Манифест приложения Chrome позволяет использовать Webview и соответствующие домены.

{
  "manifest_version": 2,
  "name": "Test Download",
  "version": "0.1.0",
  "permissions": [
    "webview",
    "",
    "https://s3.amazonaws.com/"
  ],
  "app": {
    "background": {
      "scripts": ["background.js"]
    }
  },
  "icons": {},
  "minimum_chrome_version": "28"
}

Приложение Chrome имеет несколько простыхnewwindow обработка в этом также.

window.onload = function() {
  var webview = document.querySelector('#app-webview');
  webview.src = '';
  webview.addEventListener('newwindow', function(e) {
    e.preventDefault();
    e.stopPropagation();
    window.open(e.targetUrl);
  });
};

Любые предложения о том, как заставить загрузки работать (надеюсь, не требуя значительных изменений в приложении Ajax)?

Ответы на вопрос(1)

Ваш ответ на вопрос