From 3843c13c465479d734f3ade79814b396d4f2e552 Mon Sep 17 00:00:00 2001 From: Michael Mac-Vicar Date: Thu, 27 Feb 2025 01:15:39 -0300 Subject: [PATCH] Add explanation and source for Pattern implementation --- .../src/server/socksClientCertificatesInterceptor.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts b/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts index 45cd5a1f6e..e7c34e898c 100644 --- a/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts +++ b/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts @@ -432,6 +432,16 @@ export function rewriteOpenSSLErrorIfNeeded(error: Error): Error { ].join('\n')); } +/* + Pattern is a pattern that matches a URL. Based on the Chromium + implementation, used in content policies: + https://source.chromium.org/chromium/chromium/src/+/main:components/content_settings/core/common/content_settings_pattern.h;l=248;drc=20799f4c32d950ce93d495f44eec648400f38a19 + + Example: "https://[*.].hello.com/path" + + The only difference is that we don't support the precedence rules and + paths patterns are not implemented. +*/ export class Pattern { private readonly _scheme: string; private readonly _isSchemeWildcard: boolean;