(resource_url, destination, attrs)
| 59 | } |
| 60 | |
| 61 | function buildElementFromDestination(resource_url, destination, attrs) { |
| 62 | // Assert: |destination| is a valid destination. |
| 63 | let element; |
| 64 | |
| 65 | // The below switch is responsible for: |
| 66 | // 1. Creating the correct subresource element |
| 67 | // 2. Setting said element's href, src, or fetch-instigating property |
| 68 | // appropriately. |
| 69 | switch (destination) { |
| 70 | case "script": |
| 71 | element = document.createElement(destination); |
| 72 | set_extra_attributes(element, attrs); |
| 73 | element.src = resource_url; |
| 74 | break; |
| 75 | case "style": |
| 76 | element = document.createElement('link'); |
| 77 | set_extra_attributes(element, attrs); |
| 78 | element.rel = 'stylesheet'; |
| 79 | element.href = resource_url; |
| 80 | break; |
| 81 | case "image": |
| 82 | element = document.createElement('img'); |
| 83 | set_extra_attributes(element, attrs); |
| 84 | element.src = resource_url; |
| 85 | break; |
| 86 | default: |
| 87 | assert_unreached("INVALID DESTINATION"); |
| 88 | } |
| 89 | |
| 90 | return element; |
| 91 | } |
| 92 | |
| 93 | // When using SRIPreloadTest, also include /preload/resources/preload_helper.js |
| 94 | // |number_of_requests| is used to ensure that preload requests are actually |
no test coverage detected