This question already has an answer here:
I am flying next month from Mumbai-Zurich-Toronto. The layover at Zurich airport is 3 hrs and then I have a connecting flight to Toronto. Do I need a Schengen Visa?
There is also another flight from Mumbai - London-Toronto, so if there is a layover of 3 hours in London do I need any transit visa?