aboutsummaryrefslogtreecommitdiffstats
path: root/internal/swextreload.go
diff options
context:
space:
mode:
authorTeddy Wing2023-11-14 20:46:46 +0100
committerTeddy Wing2023-11-14 20:46:46 +0100
commit5611b8d2f99782ebf6e690a4d563be256b9c0762 (patch)
treee471272cc1a81f8e2496e728c13472d1890fe6e6 /internal/swextreload.go
parent6870f1670820eec7fd2aa9fa77a301c69ea944b6 (diff)
downloadswextreload-5611b8d2f99782ebf6e690a4d563be256b9c0762.tar.bz2
Make `--reload-current-tab` flag work
Make the tab reload work based on the flag instead of always reloading.
Diffstat (limited to 'internal/swextreload.go')
-rw-r--r--internal/swextreload.go72
1 files changed, 37 insertions, 35 deletions
diff --git a/internal/swextreload.go b/internal/swextreload.go
index 29a4931..a2b92e6 100644
--- a/internal/swextreload.go
+++ b/internal/swextreload.go
@@ -110,50 +110,52 @@ func reloadExtension(
log.Printf("Runtime: %v", string(runtimeResp))
}
- time.Sleep(200 * time.Millisecond)
+ if shouldReloadTab {
+ time.Sleep(200 * time.Millisecond)
+
+ targets, err = chromedp.Targets(ctx)
+ if err != nil {
+ return fmt.Errorf(
+ "swextreload: can't get targets for '%s' tab reload: %v",
+ extensionID,
+ err,
+ )
+ }
- targets, err = chromedp.Targets(ctx)
- if err != nil {
- return fmt.Errorf(
- "swextreload: can't get targets for '%s' tab reload: %v",
- extensionID,
- err,
- )
- }
+ if isDebug {
+ log.Printf("Targets: %#v", targets)
+ }
- if isDebug {
- log.Printf("Targets: %#v", targets)
- }
+ for _, target := range targets {
+ if strings.HasPrefix(target.URL, extensionURL) {
+ if isDebug {
+ log.Printf("Target: %#v", target)
+ }
- for _, target := range targets {
- if strings.HasPrefix(target.URL, extensionURL) {
- if isDebug {
- log.Printf("Target: %#v", target)
+ targetID = target.TargetID
+ break
}
-
- targetID = target.TargetID
- break
}
- }
- targetCtx, cancel = chromedp.NewContext(ctx, chromedp.WithTargetID(targetID))
- defer cancel()
+ targetCtx, cancel = chromedp.NewContext(ctx, chromedp.WithTargetID(targetID))
+ defer cancel()
- var tabsResp []byte
- err = chromedp.Run(
- targetCtx,
- chromedp.Evaluate(`chrome.tabs.reload();`, nil),
- )
- if err != nil {
- return fmt.Errorf(
- "swextreload: error reloading tab '%s': %v",
- extensionID,
- err,
+ var tabsResp []byte
+ err = chromedp.Run(
+ targetCtx,
+ chromedp.Evaluate(`chrome.tabs.reload();`, nil),
)
- }
+ if err != nil {
+ return fmt.Errorf(
+ "swextreload: error reloading tab '%s': %v",
+ extensionID,
+ err,
+ )
+ }
- if isDebug {
- log.Printf("Tabs: %v", string(tabsResp))
+ if isDebug {
+ log.Printf("Tabs: %v", string(tabsResp))
+ }
}
return nil