From 0fc6f35dcdca6aeec42bac6e90134b9e5920d4e2 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Tue, 14 Nov 2023 00:31:23 +0100 Subject: Move code from `main()` to `swextreload.Reload()` Move everything to our library. --- internal/swextreload.go | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) (limited to 'internal') 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 } -- cgit v1.2.3