diff options
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 | 
