Merge pull request #1766 from matrix-org/rxl881/iframePermissionsFix
Allow widget iframes to request camera and microphone permissions.pull/21833/head
						commit
						8ac02b34ef
					
				|  | @ -393,6 +393,10 @@ export default React.createClass({ | |||
|         const sandboxFlags = "allow-forms allow-popups allow-popups-to-escape-sandbox "+ | ||||
|             "allow-same-origin allow-scripts allow-presentation"; | ||||
| 
 | ||||
|         // Additional iframe feature pemissions
 | ||||
|         // (see - https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-permissions-in-cross-origin-iframes and https://wicg.github.io/feature-policy/)
 | ||||
|         const iframeFeatures = "microphone; camera; encrypted-media;"; | ||||
| 
 | ||||
|         if (this.props.show) { | ||||
|             const loadingElement = ( | ||||
|                 <div className='mx_AppTileBody mx_AppLoading'> | ||||
|  | @ -412,7 +416,13 @@ export default React.createClass({ | |||
|                     appTileBody = ( | ||||
|                         <div className={this.state.loading ? 'mx_AppTileBody mx_AppLoading' : 'mx_AppTileBody'}> | ||||
|                             { this.state.loading && loadingElement } | ||||
|                             { /* | ||||
|                                 The "is" attribute in the following iframe tag is needed in order to enable rendering of the | ||||
|                                 "allow" attribute, which is unknown to react 15. | ||||
|                             */ } | ||||
|                             <iframe | ||||
|                                 is | ||||
|                                 allow={iframeFeatures} | ||||
|                                 ref="appFrame" | ||||
|                                 src={this._getSafeUrl()} | ||||
|                                 allowFullScreen="true" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Richard Lewis
						Richard Lewis