Two from review.
1. _whenReady's own comment said a SecurityError means the pop-out is not
reachable from this realm and "no amount of waiting will fix it" — and then
it waited the full 10s deadline anyway. Ten seconds of a detached panel and a
half-popped-out UI, for a condition we had already diagnosed as fatal.
It now gives up after a 1s grace instead. Not instantly, deliberately: a
throw *during* the navigation from about:blank to /pane would otherwise take
down a pop-out that was about to work perfectly. A second is far more than
that transition needs and far less than a user should spend staring at a
detached panel.
2. attachChip() took opts.header on trust. It's a public plugin API, and a
truthy non-Element header (a selector string, a wrapper object, a ref) is an
easy mistake — one that surfaced as a confusing DOM exception from deep
inside core instead of a TypeError naming the offending pane.
Signed-off-by: topkoa <topkoa@gmail.com>