diff options
author | Teddy Wing | 2023-11-14 20:46:46 +0100 |
---|---|---|
committer | Teddy Wing | 2023-11-14 20:46:46 +0100 |
commit | 5611b8d2f99782ebf6e690a4d563be256b9c0762 (patch) | |
tree | e471272cc1a81f8e2496e728c13472d1890fe6e6 /internal/swextreload.go | |
parent | 6870f1670820eec7fd2aa9fa77a301c69ea944b6 (diff) | |
download | swextreload-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.go | 72 |
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 |