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 | |
| 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')
| -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 | 
