2b30b55d6a5b71648296873b570b9d68b4901b6a galt Wed Feb 15 02:21:56 2017 -0800 CSP code cleanup. Using jsInlineF where needed for compact and efficient code, not using fixed-size local javascript strings which could overflow. diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 9bdc66c..c95267c 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -4941,34 +4941,32 @@ cgiMakeCheckBox(varName, option); printf("<BR>\n"); char *style = option ? "display:block" : "display:none"; printf("<DIV ID=\"densGraphOptions\" STYLE=\"%s\">\n", style); // we need to fool the wiggle dialog into defaulting to autoscale and maximum char *origType = tdb->type; tdb->type = "bedGraph"; if (hashFindVal(tdb->settingsHash, AUTOSCALE) == NULL) hashAdd(tdb->settingsHash, AUTOSCALE, "on"); if (hashFindVal(tdb->settingsHash, WINDOWINGFUNCTION) == NULL) hashAdd(tdb->settingsHash, WINDOWINGFUNCTION, wiggleWindowingEnumToString( wiggleWindowingMax)); wigCfgUi(cart,tdb,name,title,TRUE); tdb->type = origType; printf("</DIV>\n\n"); -char javascript[1024]; -safef(javascript, sizeof javascript, "$(\"input[name='%s']\").click( function() { $('#densGraphOptions').toggle();} );\n" +jsInlineF("$(\"input[name='%s']\").click( function() { $('#densGraphOptions').toggle();} );\n" , varName); // XSS FILTER? -jsInline(javascript); } void wiggleScaleDropDownJavascript(char *name) /* print some js that deactivates the min/max range if autoscaling is activated */ { struct dyString *dy = dyStringNew(1024); dyStringPrintf(dy, " $(\"[name='%s.autoScale']\").change(function()\n", name); dyStringPrintf(dy, " {\n"); dyStringPrintf(dy, " val= $(this).find(':selected').val(); \n"); dyStringPrintf(dy, " if (val==\"auto-scale to data view\")\n"); dyStringPrintf(dy, " {\n"); dyStringPrintf(dy, " $(\"[name='%s.minY']\")[0].disabled=true;\n", name); dyStringPrintf(dy, " $(\"[name='%s.maxY']\")[0].disabled=true;\n", name); dyStringPrintf(dy, " $(\".%sAutoScaleDesc\").attr('style', 'color:grey;');\n", name); dyStringPrintf(dy, " }\n"); @@ -5128,34 +5126,32 @@ safef(option, sizeof(option), "%s.%s", name, YLINEMARK ); cgiMakeDoubleVarInRange(option, yLineMark, "Indicator at Y", 0, NULL, NULL); safef(option, sizeof(option), "%s.%s", name, YLINEONOFF ); wiggleYLineMarkDropDown(option, yLineMarkOnOff); printf("</td>"); if (boxed) puts("</TD></TR></TABLE>"); else { puts("</TD></TR></TABLE>"); printf("<A HREF=\"%s\" TARGET=_blank>Graph configuration help</A>",WIGGLE_HELP_PAGE); } // add a little javascript call to make sure we don't get whiskers with stacks in multiwigs -char javascript[1024]; -safef(javascript, sizeof javascript, "$(function () { multiWigSetupOnChange('%s'); });\n", name); if (didAggregate) - jsInline(javascript); + jsInlineF("$(function () { multiWigSetupOnChange('%s'); });\n", name); cfgEndBox(boxed); } void filterButtons(char *filterTypeVar, char *filterTypeVal, boolean none) /* Put up some filter buttons. */ { printf("<B>Filter:</B> "); radioButton(filterTypeVar, filterTypeVal, "red"); radioButton(filterTypeVar, filterTypeVal, "green"); radioButton(filterTypeVar, filterTypeVal, "blue"); radioButton(filterTypeVar, filterTypeVal, "exclude"); radioButton(filterTypeVar, filterTypeVal, "include"); if (none)