Semantically, it is more correct to encode the fragment in the URL instead of the URL-encoded `file` query parameter. This shouldn't matter in practice, because `rewriteUrlClosure` in `chromecom.js` decodes the `file` parameter and restores the fragment. However, as #16625 shows, there was a case where this did not work as expected.