#!/bin/bash
set -e
HERE="$(cd "$(dirname "$0")" && pwd)"
CHROME=${CHROME:-/chromium/chromium/src/out/asan/chrome}

# 1. Start HTTP server.
python3 "$HERE/server.py" >"$HERE/server.log" 2>&1 &
SRV=$!
trap 'kill $SRV 2>/dev/null; rm -rf "$PROFILE"' EXIT
sleep 1

PROFILE=$(mktemp -d /tmp/chrome-poc-profile.XXXXXX)

# 2. Launch patched Chrome.
#    --host-resolver-rules maps the two test eTLD+1s to localhost so they
#    are treated as distinct sites (=> victim.test gets its own OOPIF
#    renderer process under default site isolation).
timeout 25s "$CHROME" \
  --headless=new --no-sandbox \
  --no-first-run --no-default-browser-check --ignore-gpu-blocklist \
  --disable-gpu --enable-logging=stderr \
  --user-data-dir="$PROFILE" \
  --host-resolver-rules="MAP *.test 127.0.0.1" \
  --load-extension="$HERE/extension" \
  "http://site-a.test:8080/site-a.html" \
  2>&1 | tee "$HERE/chrome-output.log" | grep -E "POC-|ERROR.*victim|ScriptInjectionTracker" || true

echo
echo "==== Relevant POC log lines: ===="
grep -E "\[POC-" "$HERE/chrome-output.log" || true
