| 1085 | 1085 | |
| 1086 | 1086 | const originLink = extensionBlock.querySelector('a'); |
| 1087 | 1087 | if (originLink) { |
| 1088 | | - originLink.href = origin; |
| 1088 | + try { |
| 1089 | | - originLink.target = '_blank'; |
| 1089 | + const url = new URL(origin); |
| 1090 | | - originLink.rel = 'noopener noreferrer'; |
| 1090 | + if (!['https:', 'http:'].includes(url.protocol)) { |
| 1091 | + throw new Error('Invalid protocol'); |
| 1092 | + } |
| 1093 | + originLink.href = url.href; |
| 1094 | + originLink.target = '_blank'; |
| 1095 | + originLink.rel = 'noopener noreferrer'; |
| 1096 | + } catch (error) { |
| 1097 | + console.log('Error setting origin link', originLink, error); |
| 1098 | + } |
| 1091 | 1099 | } |
| 1092 | 1100 | |
| 1093 | 1101 | const versionElement = extensionBlock.querySelector('.extension_version'); |