Updating cdproto
diff --git a/chromedp_test.go b/chromedp_test.go index 1b12be6..8fdcaf6 100644 --- a/chromedp_test.go +++ b/chromedp_test.go
@@ -15,6 +15,7 @@ "os" "path" "path/filepath" + "slices" "strings" "sync" "sync/atomic" @@ -905,7 +906,7 @@ t.Fatal(err) } - disposed := !contains(ids, want) + disposed := !slices.Contains(ids, want) if disposed != tt.wantDisposed { t.Errorf("browser context disposed = %v, want %v", disposed, tt.wantDisposed) @@ -1516,7 +1517,7 @@ t.Fatal(err) } - want := []byte("PDF Template -- about:blank" + "(1 / 1)" + "Hello World!") + want := []byte("Hello World!PDF Template -- about:blank(1 / 1)") l := len(want) // try to reuse buf if len(buf) >= l { @@ -1535,11 +1536,39 @@ } } -func contains(v []cdp.BrowserContextID, id cdp.BrowserContextID) bool { - for _, i := range v { - if i == id { - return true - } +// regression test for https://github.com/chromedp/chromedp/issues/1551 +func TestPDFBackground(t *testing.T) { + t.Parallel() + + ctx, cancel := testAllocate(t, "") + defer cancel() + + var buf []byte + if err := Run(ctx, + Navigate("about:blank"), + ActionFunc(func(ctx context.Context) error { + frameTree, err := page.GetFrameTree().Do(ctx) + if err != nil { + return err + } + return page.SetDocumentContent(frameTree.Frame.ID, ` + <html lang="en"> + <head></head> + <body style="background-color:green"> + <p>Lorem ipsum</p> + </body> + </html> + `).Do(ctx) + }), + ActionFunc(func(ctx context.Context) error { + var err error + buf, _, err = page.PrintToPDF().Do(ctx) + return err + }), + ); err != nil { + t.Fatal(err) } - return false + if err := os.WriteFile("background.pdf", buf, 0o644); err != nil { + t.Fatal(err) + } }
diff --git a/example_test.go b/example_test.go index 0bdb0d4..8b117e4 100644 --- a/example_test.go +++ b/example_test.go
@@ -740,7 +740,6 @@ // Output: // 3 // encountered an undefined value - // encountered a null value // <nil> // [1 2] // slice is nil: true
diff --git a/go.mod b/go.mod index 2bb6b16..42f095c 100644 --- a/go.mod +++ b/go.mod
@@ -3,7 +3,7 @@ go 1.23 require ( - github.com/chromedp/cdproto v0.0.0-20250319231242-a755498943c8 + github.com/chromedp/cdproto v0.0.0-20250401205909-91afd104e2b8 github.com/go-json-experiment/json v0.0.0-20250211171154-1ae217ad3535 github.com/gobwas/ws v1.4.0 github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80
diff --git a/go.sum b/go.sum index 9decdf1..fdd0599 100644 --- a/go.sum +++ b/go.sum
@@ -1,5 +1,5 @@ -github.com/chromedp/cdproto v0.0.0-20250319231242-a755498943c8 h1:AqW2bDQf67Zbq6Tpop/+yJSIknxhiQecO2B8jNYTAPs= -github.com/chromedp/cdproto v0.0.0-20250319231242-a755498943c8/go.mod h1:NItd7aLkcfOA/dcMXvl8p1u+lQqioRMq/SqDp71Pb/k= +github.com/chromedp/cdproto v0.0.0-20250401205909-91afd104e2b8 h1:k5Q26sl2euPK4oyhfIC+84SYKrr+JCRtjYFlDS71s1c= +github.com/chromedp/cdproto v0.0.0-20250401205909-91afd104e2b8/go.mod h1:NItd7aLkcfOA/dcMXvl8p1u+lQqioRMq/SqDp71Pb/k= github.com/chromedp/sysutil v1.1.0 h1:PUFNv5EcprjqXZD9nJb9b/c9ibAbxiYo4exNWZyipwM= github.com/chromedp/sysutil v1.1.0/go.mod h1:WiThHUdltqCNKGc4gaU50XgYjwjYIhKWoHGPTUfWTJ8= github.com/go-json-experiment/json v0.0.0-20250211171154-1ae217ad3535 h1:yE7argOs92u+sSCRgqqe6eF+cDaVhSPlioy1UkA0p/w=