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/pubs.c src/hg/hgc/pubs.c
index 0371475..08badda 100644
--- src/hg/hgc/pubs.c
+++ src/hg/hgc/pubs.c
@@ -1096,33 +1096,34 @@
     {
     AllocVar(seq);
     seq->name = cloneString(id);
     seq->dna = cloneString(row[0]);
     seq->size = strlen(seq->dna);
     }
 sqlFreeResult(&sr);
 
 return seq;
 }
 
 void pubsAli(struct sqlConnection *conn, char *pslTable, char *seqTable, char *item)
 /* this is just a ripoff from htcCdnaAli, similar to markd's transMapAli */
 {
 bioSeq *oSeq = NULL;
-writeFramesetType();
-puts("<HTML>");
-printf("<HEAD>\n<TITLE>Literature Sequence vs Genomic</TITLE>\n</HEAD>\n\n");
+
+char title[1024];
+safef(title, sizeof title, "Literature Sequence vs Genomic");
+htmlFramesetStart(title);
 
 struct psl *psl = getAlignments(conn, pslTable, item);
 if (psl == NULL)
     errAbort("Couldn't find alignment at %s:%s", pslTable, item);
 
 oSeq = getSeq(conn, seqTable, item);
 
 if (oSeq == NULL)  
     errAbort("%s is in pslTable but not in sequence table. Internal error.", item);
 
 enum gfType qt;
 if (psl->qSize!=oSeq->size) 
     {
     qt = gftProt;
     // trying to correct pslMap's changes to qSize/qStarts and blockSizes