* @param {!JsonObject} config * @param {!Array } urls
(config, urls)
| 719 | * @param {!Array<string>} urls |
| 720 | */ |
| 721 | function generateActiveViewRequest(config, urls) { |
| 722 | config['triggers']['continuousVisible'] = { |
| 723 | 'request': [], |
| 724 | 'on': 'visible', |
| 725 | 'visibilitySpec': { |
| 726 | 'selector': 'amp-ad', |
| 727 | 'selectionMethod': 'closest', |
| 728 | 'visiblePercentageMin': 50, |
| 729 | 'continuousTimeMin': 1000, |
| 730 | }, |
| 731 | }; |
| 732 | for (let idx = 0; idx < urls.length; idx++) { |
| 733 | // TODO: Ensure url is valid and not freeform JS? |
| 734 | config['requests'][`visibility${idx + 1}`] = `${urls[idx]}`; |
| 735 | config['triggers']['continuousVisible']['request'].push( |
| 736 | `visibility${idx + 1}` |
| 737 | ); |
| 738 | } |
| 739 | } |
| 740 | |
| 741 | /** |
| 742 | * @param {!JsonObject} config |
no test coverage detected