9V, 300mAh gives us 2.7Wh.
So you want to generate 2.7Whrs in 3-4hrs, so you need to generate 2.7/3 = 0.9W or 2.7/4 = 0.675W constantly for that time.
You want to do this from a PV panel. This is where we have a lot of unknowns. A PV panel's rating is under ideal conditions. You will not have ideal conditions. My rule of thumb would be to get something rated at least 250% of the required value. To simplify the maths, let's use 1W requirement, so that's 2.5W panel. And that would require a very bright sunny day with nothing shading the panel. While also making sure the panel doesn't get too hot.
However that is all irrelevant if you're going to "just plug the panel onto the battery". To get anything close to the requried power out of the panels you'll need a maximum power point tracking unit, and then you'll need a charger to make sure you can push the power into the battery, and that all assumes you've found a PV panel which matches your battery.
If you use a MPPT, a decent charger and get the PV panel to be in very close to ideal conditions, I think you could get a 2.5W panel to charge your battery in about 4 hours.
Without those things, you might be able to get your battery charged up "eventually" with a good 5W panel and quite a bit of luck (as long as the panel has suitable output for the battery). Clearly doing it this way also gives you a lot of issues with wastage (the battery draining into the panel for example) and the lack of saftey features makes the whole thing a very bad idea indeed.