Home | History | Annotate | Download | only in var_array_buffer
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Called by the common.js module.
      6 function attachListeners() {
      7   document.getElementById('fileInput').addEventListener('change',
      8       handleFileInput);
      9   document.getElementById('listener').addEventListener('drop',
     10       handleFileDrop, true);
     11 }
     12 
     13 function postFileContents(file) {
     14   var reader = new FileReader();
     15   reader.onload = function(load_event) {
     16     if (common.naclModule)
     17       common.naclModule.postMessage(load_event.target.result);
     18   }
     19   reader.readAsArrayBuffer(file);
     20 }
     21 
     22 // Handle a file being dropped on to the plugin's rectangle.
     23 function handleFileDrop(dropEvent) {
     24   if (!dropEvent.dataTransfer || !dropEvent.dataTransfer.files)
     25     return;
     26   dropEvent.stopPropagation();
     27   dropEvent.preventDefault();
     28   var files = dropEvent.dataTransfer.files;
     29   for(var i = 0; i < files.length; ++i)
     30     postFileContents(files[i]);
     31 }
     32 
     33 // Handle a file being chosen from the <input type=file...> tag.
     34 function handleFileInput() {
     35   var file_input = document.getElementById("fileInput");
     36   var files = file_input.files;
     37   for(var i = 0; i < files.length; ++i)
     38     postFileContents(files[i]);
     39 }
     40