038c31ecb2bd9e59311bb3009646ddc5374fa9d6
galt
  Fri Jul 13 23:06:35 2018 -0700
hgc functions using framesets and a few other odd places that make their own html head were tweaked to include the CSP header. Thisis also helpful with early errors. refs #21729

diff --git src/hg/hgc/transMapClick.c src/hg/hgc/transMapClick.c
index a768b36..e4a37ed 100644
--- src/hg/hgc/transMapClick.c
+++ src/hg/hgc/transMapClick.c
@@ -420,22 +420,22 @@
     {
     bag = transMapBagLoadDb(tdb, mappedId);
     seq = getCdnaSeqDb(tdb, transMapIdToSeqId(mappedId));
     }
 else
     {
     bag = transMapBagLoadBig(tdb, mappedId);
     seq = newDnaSeq(cloneString(bag->meta->oSequence), strlen(bag->meta->oSequence),
                     mappedId);
     }
 
 struct genbankCds cds;
 if (isEmpty(bag->meta->oCDS) || !genbankCdsParse(bag->meta->oCDS, &cds))
     ZeroVar(&cds);  /* can't get or parse CDS, so zero it */
 
-writeFramesetType();
-puts("<HTML>");
-printf("<HEAD>\n<TITLE>%s vs Genomic</TITLE>\n</HEAD>\n\n", mappedId);
+char title[1024];
+safef(title, sizeof title, "%s vs Genomic", mappedId);
+htmlFramesetStart(title);
 showSomeAlignment(bag->psl, seq, gftDna, 0, seq->size, NULL, cds.start, cds.end);
 dnaSeqFree(&seq);
 transMapBagFree(&bag);
 }