aboutsummaryrefslogtreecommitdiffstats
path: root/internal/swextreload.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/swextreload.go')
-rw-r--r--internal/swextreload.go99
1 files changed, 99 insertions, 0 deletions
diff --git a/internal/swextreload.go b/internal/swextreload.go
index 65edbe0..5a5dab1 100644
--- a/internal/swextreload.go
+++ b/internal/swextreload.go
@@ -1,9 +1,108 @@
package swextreload
+import (
+ "context"
+ "log"
+ "time"
+
+ "github.com/chromedp/cdproto/target"
+ "github.com/chromedp/chromedp"
+)
+
// TODO
func Reload(
url string,
extensionID string,
shouldReloadTab bool,
) error {
+ allocatorContext, cancel := chromedp.NewRemoteAllocator(
+ context.Background(),
+ "ws://127.0.0.1:55755/devtools/browser/4536efdf-6ddf-40b6-9a16-258a1935d866",
+ )
+ defer cancel()
+
+ ctx, cancel := chromedp.NewContext(allocatorContext)
+ defer cancel()
+
+ targets, err := chromedp.Targets(ctx)
+ if err != nil {
+ log.Fatalf("error: targets: %v", err)
+ }
+
+ log.Printf("Targets: %#v", targets)
+ println()
+
+ var targetID target.ID
+ for _, target := range targets {
+ if target.URL == "chrome-extension://imcibeelfmccdpnnlemllnepgbfdbkgo/background.bundle.js" {
+ log.Printf("Target: %#v", target)
+ targetID = target.TargetID
+ break
+ }
+ }
+
+ targetCtx, cancel := chromedp.NewContext(ctx, chromedp.WithTargetID(targetID))
+ defer cancel()
+
+ var runtimeResp []byte
+ err = chromedp.Run(
+ targetCtx,
+ // chromedp.Evaluate(`chrome.runtime.reload();`, &runtimeResp),
+ // chromedp.Evaluate(`chrome.tabs.reload();`, &tabsResp),
+ // chromedp.Evaluate(`chrome.runtime.reload();`, nil),
+ // chromedp.EvaluateAsDevTools(`chrome.runtime.reload();`, nil),
+ chromedp.Evaluate(`chrome.runtime.reload();`, nil),
+ // chromedp.Evaluate(`chrome.tabs.reload();`, nil),
+ )
+ if err != nil {
+ log.Fatalf("error: run: %v", err)
+ }
+
+ // var tabsResp []byte
+ // err = chromedp.Run(
+ // targetCtx,
+ // // chromedp.Evaluate(`chrome.tabs.reload();`, &tabsResp),
+ // // chromedp.Evaluate(`chrome.tabs.reload();`, nil),
+ // chromedp.EvaluateAsDevTools(`chrome.tabs.reload();`, nil),
+ // )
+ // if err != nil {
+ // log.Fatalf("error: run tabs: %v", err)
+ // }
+
+ log.Printf("Runtime: %v", string(runtimeResp))
+ // log.Printf("Tabs: %v", string(tabsResp))
+
+ time.Sleep(200 * time.Millisecond)
+
+ targets, err = chromedp.Targets(ctx)
+ if err != nil {
+ log.Fatalf("error: targets2: %v", err)
+ }
+
+ log.Printf("Targets: %#v", targets)
+ println()
+
+ for _, target := range targets {
+ if target.URL == "chrome-extension://imcibeelfmccdpnnlemllnepgbfdbkgo/background.bundle.js" {
+ log.Printf("Target: %#v", target)
+ targetID = target.TargetID
+ break
+ }
+ }
+
+ 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 {
+ log.Fatalf("error: run tabs: %v", err)
+ }
+
+ log.Printf("Tabs: %v", string(tabsResp))
+
+ return nil
}