| 
									
										
										
										
											2017-12-29 23:34:40 +01:00
										 |  |  | async function main(){ | 
					
						
							|  |  |  |   if(Debug.debug) | 
					
						
							|  |  |  |     console.log("[uw-bg::main] setting up background script"); | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   await Settings.init(); | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   browser.runtime.onMessage.addListener(_uwbg_rcvmsg); | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   if(Debug.debug) | 
					
						
							|  |  |  |     console.log("[uw-bg::main] listeners registered"); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | async function sendMessage(message){ | 
					
						
							|  |  |  |   var tabs = await browser.tabs.query({currentWindow: true, active: true}); | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   if(Debug.debug) | 
					
						
							|  |  |  |     console.log("[uw-bg::sendMessage] trying to send message", message, " to tab ", tabs[0], ". (all tabs:", tabs,")"); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-30 02:58:24 +01:00
										 |  |  |   var response = await browser.tabs.sendMessage(tabs[0].id, message); | 
					
						
							|  |  |  |   return response; | 
					
						
							| 
									
										
										
										
											2017-12-29 23:34:40 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | async function _uwbg_rcvmsg(message){ | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   if(Debug.debug){ | 
					
						
							| 
									
										
										
										
											2017-12-30 02:58:24 +01:00
										 |  |  |     console.log("[uw-bg::_uwbg_rcvmsg] received message", message); | 
					
						
							| 
									
										
										
										
											2017-12-29 23:34:40 +01:00
										 |  |  |      | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2017-12-30 02:58:24 +01:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2017-12-29 23:34:40 +01:00
										 |  |  |   message.sender = "uwbg"; | 
					
						
							| 
									
										
										
										
											2017-12-30 02:58:24 +01:00
										 |  |  |   message.receiver = "uw"; | 
					
						
							| 
									
										
										
										
											2017-12-29 23:34:40 +01:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2017-12-30 02:58:24 +01:00
										 |  |  |   if(message.cmd == "has-videos"){ | 
					
						
							|  |  |  |     var response = await sendMessage(message); | 
					
						
							|  |  |  |     if(Debug.debug){ | 
					
						
							|  |  |  |       console.log("[uw-bg::_uwbg_rcvmsg] received response!", message); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     return Promise.resolve(response); | 
					
						
							| 
									
										
										
										
											2017-12-29 23:34:40 +01:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2017-12-30 18:36:08 +01:00
										 |  |  |   if(message.cmd == "get-config"){ | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     var config = {}; | 
					
						
							|  |  |  |     config.videoAlignment = Settings.miscFullscreenSettings.videoFloat; | 
					
						
							|  |  |  |     config.arConf = {}; | 
					
						
							|  |  |  |     config.arConf.enabled_global = Settings.arDetect.enabled == "global"; | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     // predvidevajmo, da je enako. Če je drugače, bomo popravili ko dobimo odgovor
 | 
					
						
							|  |  |  |     // assume current is same as global & change that when you get response from content script
 | 
					
						
							|  |  |  |     config.arConf.enabled_current = Settings.arDetect.enabled == "global"; | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     try{ | 
					
						
							|  |  |  |       message.cmd = "get-ardetect-active"; | 
					
						
							|  |  |  |       var response = await sendMessage(message); | 
					
						
							|  |  |  |       if(Debug.debug){ | 
					
						
							|  |  |  |         console.log("[uw-bg::_uwbg_rcvmsg] received response to get-ardetect-active!", {message: message, response: response}); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       config.arConf.enabled_current = response.response.arDetect_active; | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     catch(ex){ | 
					
						
							|  |  |  |       console.log("%c[uw-bg::_uwbg_rcvmsg] there was something wrong with request for get-ardetect-active.", "color: #f00", ex); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     return Promise.resolve({response: config}); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2017-12-29 23:34:40 +01:00
										 |  |  |   else if(message.cmd == "force-ar"){ | 
					
						
							|  |  |  |     sendMessage(message);  // args: {cmd: string, newAr: number/"auto"}
 | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   else if(message.cmd == "stop-autoar"){ | 
					
						
							|  |  |  |     sendMessage(message); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   else if(message.cmd == "force-video-float"){ | 
					
						
							|  |  |  |     if(message.global){ | 
					
						
							|  |  |  |       Settings.miscFullscreenSettings.videoFloat = message.newFloat; | 
					
						
							|  |  |  |       sendMessage(message); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else{ | 
					
						
							|  |  |  |       sendMessage(message); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   else if(message.cmd == "disable-autoar"){ | 
					
						
							|  |  |  |     Settings.arDetect.enabled = "no"; | 
					
						
							|  |  |  |     Settings.save(); | 
					
						
							|  |  |  |     sendMessage("reload-settings"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   else if(message.cmd == "disable-autoar-whitelist-only"){ | 
					
						
							|  |  |  |     Settings.arDetect.enabled = "whitelist"; | 
					
						
							|  |  |  |     Settings.save(); | 
					
						
							|  |  |  |     sendMessage("reload-settings"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   else if(message.cmd == "enable-autoar"){ | 
					
						
							|  |  |  |     Settings.arDetect.enabled = "global"; | 
					
						
							|  |  |  |     Settings.save(); | 
					
						
							|  |  |  |     sendMessage("reload-settings"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | main(); |