allow user decision when some action fails
This commit is contained in:
		| @ -1,7 +1,12 @@ | ||||
| (function () { | ||||
|     let asleep = false; | ||||
|     chrome.runtime.onMessage.addListener( | ||||
|         function (request, sender, sendResponse) { | ||||
|             if (!request.action) return; | ||||
|             if (asleep && ACTION_WAKEUP != request.action) { | ||||
|                 sendResponse && sendResponse(undefined); | ||||
|                 return; | ||||
|             } | ||||
|             // console.log("Recieved request:",request); | ||||
|             doAction(request, sender).then(r => sendResponse && sendResponse(r)); | ||||
|             // return true to indicate you wish to send a response asynchronously | ||||
| @ -16,6 +21,8 @@ | ||||
|                 return data; | ||||
|             case ACTION_GOTO_URL: | ||||
|                 window.location.replace(request.url); | ||||
|                 // should not recieve any request until the page & script reload | ||||
|                 asleep = true; | ||||
|                 return request.url; | ||||
|             case ACTION_REPORT_IN: | ||||
|                 return request.action; | ||||
| @ -29,6 +36,12 @@ | ||||
|                     1000, | ||||
|                     10 | ||||
|                 ) | ||||
|             case ACTION_SLEEP: | ||||
|                 asleep = true; | ||||
|                 return "Content script is sleeping."; | ||||
|             case ACTION_WAKEUP: | ||||
|                 asleep = false; | ||||
|                 return "Content script is available."; | ||||
|             default: | ||||
|                 break; | ||||
|         } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user