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=