mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 03:35:33 +00:00
8bbeee69cf
--HG-- rename : dom/base/BlobSet.cpp => dom/file/BlobSet.cpp rename : dom/base/BlobSet.h => dom/file/BlobSet.h rename : dom/base/File.cpp => dom/file/File.cpp rename : dom/base/File.h => dom/file/File.h rename : dom/base/FileList.cpp => dom/file/FileList.cpp rename : dom/base/FileList.h => dom/file/FileList.h rename : dom/base/FileReader.cpp => dom/file/FileReader.cpp rename : dom/base/FileReader.h => dom/file/FileReader.h rename : dom/base/MultipartBlobImpl.cpp => dom/file/MultipartBlobImpl.cpp rename : dom/base/MultipartBlobImpl.h => dom/file/MultipartBlobImpl.h rename : dom/base/MutableBlobStorage.cpp => dom/file/MutableBlobStorage.cpp rename : dom/base/MutableBlobStorage.h => dom/file/MutableBlobStorage.h rename : dom/base/MutableBlobStreamListener.cpp => dom/file/MutableBlobStreamListener.cpp rename : dom/base/MutableBlobStreamListener.h => dom/file/MutableBlobStreamListener.h rename : dom/ipc/Blob.cpp => dom/file/ipc/Blob.cpp rename : dom/ipc/BlobChild.h => dom/file/ipc/BlobChild.h rename : dom/ipc/BlobParent.h => dom/file/ipc/BlobParent.h rename : dom/ipc/BlobTypes.ipdlh => dom/file/ipc/BlobTypes.ipdlh rename : dom/ipc/PBlob.ipdl => dom/file/ipc/PBlob.ipdl rename : dom/ipc/PBlobStream.ipdl => dom/file/ipc/PBlobStream.ipdl rename : dom/ipc/nsIRemoteBlob.h => dom/file/ipc/nsIRemoteBlob.h rename : dom/base/nsHostObjectProtocolHandler.cpp => dom/file/nsHostObjectProtocolHandler.cpp rename : dom/base/nsHostObjectProtocolHandler.h => dom/file/nsHostObjectProtocolHandler.h rename : dom/base/nsHostObjectURI.cpp => dom/file/nsHostObjectURI.cpp rename : dom/base/nsHostObjectURI.h => dom/file/nsHostObjectURI.h rename : dom/base/nsIDOMBlob.idl => dom/file/nsIDOMBlob.idl rename : dom/base/nsIDOMFileList.idl => dom/file/nsIDOMFileList.idl rename : dom/base/test/create_file_objects.js => dom/file/tests/create_file_objects.js rename : dom/base/test/file_blobURL_expiring.html => dom/file/tests/file_blobURL_expiring.html rename : dom/base/test/file_mozfiledataurl_audio.ogg => dom/file/tests/file_mozfiledataurl_audio.ogg rename : dom/base/test/file_mozfiledataurl_doc.html => dom/file/tests/file_mozfiledataurl_doc.html rename : dom/base/test/file_mozfiledataurl_img.jpg => dom/file/tests/file_mozfiledataurl_img.jpg rename : dom/base/test/file_mozfiledataurl_inner.html => dom/file/tests/file_mozfiledataurl_inner.html rename : dom/base/test/file_mozfiledataurl_text.txt => dom/file/tests/file_mozfiledataurl_text.txt rename : dom/base/test/file_nonascii_blob_url.html => dom/file/tests/file_nonascii_blob_url.html rename : dom/base/test/fileapi_chromeScript.js => dom/file/tests/fileapi_chromeScript.js rename : dom/base/test/fileutils.js => dom/file/tests/fileutils.js rename : dom/base/test/test_blobURL_expiring.html => dom/file/tests/test_blobURL_expiring.html rename : dom/base/test/test_blob_fragment_and_query.html => dom/file/tests/test_blob_fragment_and_query.html rename : dom/base/test/test_blobconstructor.html => dom/file/tests/test_blobconstructor.html rename : dom/base/test/test_file_from_blob.html => dom/file/tests/test_file_from_blob.html rename : dom/base/test/test_file_negative_date.html => dom/file/tests/test_file_negative_date.html rename : dom/base/test/test_fileapi.html => dom/file/tests/test_fileapi.html rename : dom/base/test/test_fileapi_slice.html => dom/file/tests/test_fileapi_slice.html rename : dom/base/test/test_ipc_messagemanager_blob.html => dom/file/tests/test_ipc_messagemanager_blob.html rename : dom/base/test/test_mozfiledataurl.html => dom/file/tests/test_mozfiledataurl.html rename : dom/base/test/test_nonascii_blob_url.html => dom/file/tests/test_nonascii_blob_url.html
77 lines
1.6 KiB
HTML
77 lines
1.6 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<script type="application/javascript;version=1.8">
|
|
var img;
|
|
var audio;
|
|
var iframe;
|
|
|
|
addEventListener("message", function(e) {
|
|
mess = JSON.parse(e.data);
|
|
|
|
if ("img" in mess)
|
|
img.src = mess.img;
|
|
else if ("audio" in mess)
|
|
audio.src = mess.audio
|
|
else if ("iframe" in mess)
|
|
iframe.src = mess.iframe;
|
|
else if ("xhr" in mess) {
|
|
let xhr = new XMLHttpRequest();
|
|
xhr.onerror = function() {
|
|
sendItUp({ didError: true });
|
|
}
|
|
xhr.onload = function() {
|
|
sendItUp({ text: xhr.responseText });
|
|
}
|
|
try {
|
|
xhr.open("GET", mess.xhr);
|
|
xhr.send();
|
|
}
|
|
catch (ex) {
|
|
sendItUp({ didThrow: true });
|
|
}
|
|
}
|
|
|
|
}, false);
|
|
|
|
function sendItUp(obj) {
|
|
window.parent.postMessage(JSON.stringify(obj), "*");
|
|
}
|
|
|
|
function audioNotifyParent(e) {
|
|
sendItUp({ type: e.type });
|
|
}
|
|
|
|
function imgNotifyParent(e) {
|
|
sendItUp({ type: e.type,
|
|
width: e.target.width,
|
|
height: e.target.height });
|
|
}
|
|
|
|
function iframeNotifyParent(e) {
|
|
res = { type: e.type };
|
|
try {
|
|
res.text = e.target.contentDocument.getElementsByTagName("p")[0].textContent;
|
|
} catch (ex) {}
|
|
try {
|
|
res.imgWidth = e.target.contentDocument.getElementById("img").width;
|
|
} catch (ex) {}
|
|
|
|
sendItUp(res);
|
|
}
|
|
|
|
onload = function() {
|
|
img = document.getElementById('img');
|
|
img.onerror = img.onload = imgNotifyParent;
|
|
iframe = document.getElementById('iframe');
|
|
iframe.onerror = iframe.onload = iframeNotifyParent;
|
|
audio = document.getElementById('audio');
|
|
audio.onerror = audio.onloadeddata = audioNotifyParent;
|
|
}
|
|
|
|
</script>
|
|
<body>
|
|
<img id=img>
|
|
<audio id=audio>
|
|
<iframe id=iframe></iframe>
|
|
</html>
|