d0c37ab6f0269c790d237ea37f9d4873136aec97
max
  Tue Jan 21 02:16:18 2025 -0800
defaulting to filename when there is no browser line, refs #35085

diff --git src/hg/inc/customFactory.h src/hg/inc/customFactory.h
index 362448a..47d36e8 100644
--- src/hg/inc/customFactory.h
+++ src/hg/inc/customFactory.h
@@ -65,35 +65,35 @@
 void customFactorySetupDbTrack(struct customTrack *track);
 /* Fill in fields most database-resident custom tracks need. */
 
 /*** Interface to custom factory system. ***/
 
 struct customFactory *customFactoryFind(char *genomeDb, struct customPp *cpp,
 	char *type, struct customTrack *track);
 /* Figure out factory that can handle this track.  The track is
  * loaded from the track line if any, and type is the type element
  * if any from that track. */
 
 void customFactoryAdd(struct customFactory *fac);
 /* Add factory to global custom track factory list. */
 
 struct customTrack *customFactoryParse(char *genomeDb, char *text, boolean isFile,
-	struct slName **retBrowserLines);
+	char* fileName, struct slName **retBrowserLines);
 /* Parse text into a custom set of tracks.  Text parameter is a
  * file name if 'isFile' is set.  Die if the track is not for genomeDb. */
 
-struct customTrack *customFactoryParseAnyDb(char *genomeDb, char *text, boolean isFile,
+struct customTrack *customFactoryParseAnyDb(char *genomeDb, char *text, boolean isFile, char* fileName,
 					    struct slName **retBrowserLines, boolean doParallelLoad);
 /* Parse text into a custom set of tracks.  Text parameter is a
  * file name if 'isFile' is set.  Track does not have to be for hGetDb(). 
  * If doParallelLoad is true, load the big tracks */
 
 void customFactoryTestExistence(char *genomeDb, char *fileName,
                                 boolean *retGotLive, boolean *retGotExpired, struct customTrack **retTrackList);
 /* Test existence of custom track fileName.  If it exists, parse it just 
  * enough to tell whether it refers to database tables and if so, whether 
  * they are alive or have expired.  If they are live, touch them to keep 
  * them active. */
 
 /*  HACK ALERT - The table browser needs to be able to encode its wiggle
  *	data.  This function is temporarily global until a proper method
  *	is used to work this business into the table browser custom