diff options
| author | Teddy Wing | 2023-11-17 00:22:50 +0100 | 
|---|---|---|
| committer | Teddy Wing | 2023-11-17 00:22:50 +0100 | 
| commit | 765c7bc1d36b8c931f3a36c0c5e29d73b8b25652 (patch) | |
| tree | 5db0c9215f2c38793cd744ed9d7604eca1ad98f2 /internal | |
| parent | b605a31b6d9f3793148ba2d70ee24c525a95c86b (diff) | |
| download | swextreload-765c7bc1d36b8c931f3a36c0c5e29d73b8b25652.tar.bz2 | |
swextreload: Reload all targets matching a given extension ID
There may be multiple instances of the same extension ID. Ensure all of
them are reloaded.
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/swextreload.go | 44 | 
1 files changed, 20 insertions, 24 deletions
| diff --git a/internal/swextreload.go b/internal/swextreload.go index 7db896b..2f333a3 100644 --- a/internal/swextreload.go +++ b/internal/swextreload.go @@ -101,40 +101,36 @@ func reloadExtension(  ) error {  	extensionURL := "chrome-extension://" + extensionID + "/" -	var targetID target.ID  	for _, target := range targets {  		if strings.HasPrefix(target.URL, extensionURL) {  			if isDebug {  				log.Printf("Target: %#v", target)  			} -			targetID = target.TargetID -			break -		} -	} +			targetCtx, _ := chromedp.NewContext(ctx, chromedp.WithTargetID(target.TargetID)) +			// defer cancel() -	targetCtx, _ := chromedp.NewContext(ctx, chromedp.WithTargetID(targetID)) -	// defer cancel() +			log.Printf("Connected to target '%s'", target.TargetID) -	log.Printf("Connected to target '%s'", targetID) - -	var runtimeResp []byte -	err := chromedp.Run( -		targetCtx, -		chromedp.Evaluate(`chrome.runtime.reload();`, nil), -	) -	if err != nil { -		return fmt.Errorf( -			"swextreload: error reloading extension '%s': %v", -			extensionID, -			err, -		) -	} +			var runtimeResp []byte +			err := chromedp.Run( +				targetCtx, +				chromedp.Evaluate(`chrome.runtime.reload();`, nil), +			) +			if err != nil { +				return fmt.Errorf( +					"swextreload: error reloading extension '%s': %v", +					extensionID, +					err, +				) +			} -	log.Printf("Reloaded extension") +			log.Printf("Reloaded extension") -	if isDebug { -		log.Printf("Runtime: %v", string(runtimeResp)) +			if isDebug { +				log.Printf("Runtime: %v", string(runtimeResp)) +			} +		}  	}  	return nil | 
