- add sources.
[platform/framework/web/crosswalk.git] / src / native_client_sdk / src / examples / api / var_array_buffer / example.js
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 }