Best JavaScript code snippet using wpt
common.sub.js
Source:common.sub.js
...1045/**1046 invokeFrom*() functions are helper functions with the same parameters1047 and return values as invokeRequest(), that are tied to specific types1048 of top-most environment settings objects.1049 For example, invokeFromIframe() is the helper function for the cases where1050 sourceContextList[0] is an iframe.1051*/1052/**1053 @param {string} workerType1054 "worker" (for dedicated worker) or "sharedworker".1055 @param {boolean} isDataUrl1056 true if the worker script is loaded from data: URL.1057 Otherwise, the script is loaded from same-origin.1058 @param {object} workerOptions1059 The `options` argument for Worker constructor.1060 Other parameters and return values are the same as those of invokeRequest().1061*/1062function invokeFromWorker(workerType, isDataUrl, workerOptions,1063 subresource, sourceContextList) {1064 const currentSourceContext = sourceContextList[0];1065 let workerUrl =1066 "/common/security-features/scope/worker.py?policyDeliveries=" +1067 encodeURIComponent(JSON.stringify(1068 currentSourceContext.policyDeliveries || []));1069 if (workerOptions.type === 'module') {1070 workerUrl += "&type=module";1071 }1072 let promise;1073 if (isDataUrl) {1074 promise = fetch(workerUrl)1075 .then(r => r.text())1076 .then(source => {1077 return 'data:text/javascript;base64,' + btoa(source);1078 });1079 } else {1080 promise = Promise.resolve(workerUrl);1081 }1082 return promise1083 .then(url => {1084 if (workerType === "worker") {1085 const worker = new Worker(url, workerOptions);1086 worker.postMessage({subresource: subresource,1087 sourceContextList: sourceContextList.slice(1)});1088 return bindEvents2(worker, "message", worker, "error", window, "error");1089 } else if (workerType === "sharedworker") {1090 const worker = new SharedWorker(url, workerOptions);1091 worker.port.start();1092 worker.port.postMessage({subresource: subresource,1093 sourceContextList: sourceContextList.slice(1)});1094 return bindEvents2(worker.port, "message", worker, "error", window, "error");1095 } else {1096 throw new Error('Invalid worker type: ' + workerType);1097 }1098 })1099 .then(event => {1100 if (event.data.error)1101 return Promise.reject(event.data.error);1102 return event.data;1103 });1104}1105function invokeFromIframe(subresource, sourceContextList) {1106 const currentSourceContext = sourceContextList[0];1107 const frameUrl =1108 "/common/security-features/scope/document.py?policyDeliveries=" +1109 encodeURIComponent(JSON.stringify(1110 currentSourceContext.policyDeliveries || []));1111 let iframe;1112 let promise;1113 if (currentSourceContext.sourceContextType === 'srcdoc') {1114 promise = fetch(frameUrl)1115 .then(r => r.text())1116 .then(srcdoc => {1117 iframe = createElement(1118 "iframe", {srcdoc: srcdoc}, document.body, true);1119 return iframe.eventPromise;...
aflprep_common.sub.js
Source:aflprep_common.sub.js
...772self.invokeRequest = invokeRequest;773 invokeFrom*() functions are helper functions with the same parameters774 and return values as invokeRequest(), that are tied to specific types775 of top-most environment settings objects.776 For example, invokeFromIframe() is the helper function for the cases where777 sourceContextList[0] is an iframe.778 @param {string} workerType779 "worker" (for dedicated worker) or "sharedworker".780 @param {boolean} isDataUrl781 true if the worker script is loaded from data: URL.782 Otherwise, the script is loaded from same-origin.783 @param {object} workerOptions784 The `options` argument for Worker constructor.785 Other parameters and return values are the same as those of invokeRequest().786function invokeFromWorker(workerType, isDataUrl, workerOptions,787 subresource, sourceContextList) {788 const currentSourceContext = sourceContextList[0];789 let workerUrl =790 encodeURIComponent(JSON.stringify(791 currentSourceContext.policyDeliveries || []));792 if (workerOptions.type === 'module') {793 workerUrl += "&type=module";794 }795 let promise;796 if (isDataUrl) {797 promise = fetch(workerUrl)798 .then(r => r.text())799 .then(source => {800 });801 } else {802 promise = Promise.resolve(workerUrl);803 }804 return promise805 .then(url => {806 if (workerType === "worker") {807 const worker = new Worker(url, workerOptions);808 worker.postMessage({subresource: subresource,809 sourceContextList: sourceContextList.slice(1)});810 return bindEvents2(worker, "message", worker, "error", window, "error");811 } else if (workerType === "sharedworker") {812 const worker = new SharedWorker(url, workerOptions);813 worker.port.start();814 worker.port.postMessage({subresource: subresource,815 sourceContextList: sourceContextList.slice(1)});816 return bindEvents2(worker.port, "message", worker, "error", window, "error");817 } else {818 throw new Error('Invalid worker type: ' + workerType);819 }820 })821 .then(event => {822 if (event.data.error)823 return Promise.reject(event.data.error);824 return event.data;825 });826}827function invokeFromIframe(subresource, sourceContextList) {828 const currentSourceContext = sourceContextList[0];829 const frameUrl =830 encodeURIComponent(JSON.stringify(831 currentSourceContext.policyDeliveries || []));832 let iframe;833 let promise;834 if (currentSourceContext.sourceContextType === 'srcdoc') {835 promise = fetch(frameUrl)836 .then(r => r.text())837 .then(srcdoc => {838 iframe = createElement(839 "iframe", {srcdoc: srcdoc}, document.body, true);840 return iframe.eventPromise;841 });...
Using AI Code Generation
1function invokeFromIframe() {2 var iframe = document.getElementById("iframe1");3 var iframeWindow = iframe.contentWindow;4 var iframeDocument = iframeWindow.document;5 var iframeBody = iframeDocument.body;6 iframeWindow.wptemplates.invokeFromIframe("test", "test", "test");7}
Using AI Code Generation
1var wptbTableSettins = {2 invokeFromIframe: function( name, id ) {3 var wptbTableSettings = document.getElementsByClassName( 'wptb-table-settings' )[0];4 if( wptbTableSettings ) {5 wptbTableSettings.parentNode.removeChild( wptbTableSettings );6 }7 var wptbTableSettings = document.createElement( 'div' );8 wptbTableSettings.className = 'wptb-table-settings';9 var wptbTableSettingsTitle = document.createElement( 'div' );10 wptbTableSettingsTitle.className = 'wptb-table-settings-title';11 wptbTableSettingsTitle.innerHTML = 'Table Settings';12 var wptbTableSettingsTitleClose = document.createElement( 'span' );13 wptbTableSettingsTitleClose.className = 'wptb-table-settings-title-close';14 wptbTableSettingsTitleClose.innerHTML = 'x';15 wptbTableSettingsTitle.appendChild( wptbTableSettingsTitleClose );16 var wptbTableSettingsTable = document.createElement( 'div' );17 wptbTableSettingsTable.className = 'wptb-table-settings-table';18 var wptbTableSettingsTableTitle = document.createElement( 'div' );19 wptbTableSettingsTableTitle.className = 'wptb-table-settings-table-title';20 wptbTableSettingsTableTitle.innerHTML = 'Table';21 var wptbTableSettingsTableTitleInput = document.createElement( 'input' );22 wptbTableSettingsTableTitleInput.type = 'text';23 wptbTableSettingsTableTitleInput.value = name;24 wptbTableSettingsTableTitleInput.setAttribute( 'data-table-id', id );25 wptbTableSettingsTableTitle.appendChild( wptbTableSettingsTableTitleInput );
Using AI Code Generation
1wpt.invokeFromIframe('test', 'test params');2 wpt.invokeFromParent('test', 'test params');3wpt.invokeFromIframe('test', 'test params').then((data) => {4 console.log(data);5});6 wpt.invokeFromParent('test', 'test params').then((data) => {7 console.log(data);8 });9wpt.invokeFromIframe('test', 'test params', (data) => {10 console.log(data);11});12 wpt.invokeFromParent('test', 'test params', (data) => {13 console.log(data);14 });15wpt.invokeFromParent('test', 'test params');16 wpt.invokeFromIframe('test', 'test params');17wpt.invokeFromParent('test', 'test params').then((data) => {18 console.log(data);19});20 wpt.invokeFromIframe('test', 'test params').then((data) => {21 console.log(data);22 });
Using AI Code Generation
1var iframe = document.createElement("iframe");2iframe.setAttribute("src", url);3iframe.setAttribute("id", "iframe");4iframe.setAttribute("width", "100%");5iframe.setAttribute("height", "100%");6document.body.appendChild(iframe);7iframe.onload = function() {8 var iframeWindow = iframe.contentWindow;9 var iframeDocument = iframe.contentDocument;10 var iframeBody = iframeDocument.body;11 var iframeHead = iframeDocument.head;12 var iframeScript = iframeDocument.createElement("script");13 iframeHead.appendChild(iframeScript);14 iframeScript.onload = function() {15 window.wptoolkit.invokeFromIframe(iframe, "myFunction", "Hello World!");16 }17}18function myFunction(message) {19 alert(message);20}21var iframe = document.getElementById("iframe");22window.wptoolkit.invokeFromIframe(iframe, "myFunction", "Hello World!");23function myFunction(message) {24 alert(message);25}26childWindow.onload = function() {27 window.wptoolkit.invokeFromIframe(childWindow, "myFunction", "Hello World!");28}29function myFunction(message) {30 alert(message);31}
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!