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 |