There is a product called 303, which is recommended for marine canvas waterproofing. I have used this on convertible tops before- it is a flourocarbon product, NOT silicone, so it can be sprayed around shops that do bodywork etc, and it works very well. You can get it at marine supply stores such as BoatUS and West Marine. It is also recommended for acrylic fabrics such as Sunbrella. I used it on my Ferrari convertible to re-waterproof the top and it did a good job. total cost about fifteen or twenty dollars, plus a few moments with tape and paper so it didn't get all over.