aboutsummaryrefslogtreecommitdiffstats
path: root/internal
diff options
context:
space:
mode:
authorTeddy Wing2023-11-17 00:22:50 +0100
committerTeddy Wing2023-11-17 00:22:50 +0100
commit765c7bc1d36b8c931f3a36c0c5e29d73b8b25652 (patch)
tree5db0c9215f2c38793cd744ed9d7604eca1ad98f2 /internal
parentb605a31b6d9f3793148ba2d70ee24c525a95c86b (diff)
downloadswextreload-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.go44
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