I'll break it down into steps.
- Buy 90 usd for 100 cad, no tax but record the adjusted cost base(ACB) of 90 USD as 100 CAD. Note, if you already had some USD, this is where the 'adjusted' needs to be done.
- Buy stock with USD, a disposition of USD which is a capital gain/loss. However, most people do this on the same day* so the proceeds of disposition (90 USD) converted to CAD (which you use for reporting) is the same as the ACB. If you already had a balance of USD (positive or negative), the ACB won't match and you technically should report a gain or loss but I doubt many do.
- Sell stock, receive USD. This is capital gain/loss and a time to record the new ACB of your USD. Calculate the profit in USD and convert it back to CAD. In your example it's 10 USD gain with the new exchange rate you used would be 10*105/100 = 10.50 CAD to report as a capital gain. You also now have 100 USD with an ACB of 100(original) + 10.50(just acquired) = 110.50
- Sell USD. Report the gain or loss on the currency transaction^. Proceeds of disposition(105 CAD) - ACB(110.50) = -5.50, so you lost 5.50 CAD on the currency.
Total gain/ loss for the whole thing is 5 CAD.
You only have to worry about these calculations if you keep some USD and convert it at your leisure. Or if you have a US dollar in your wallet from your last vacation.
Don't forget to subtract commissions (converted to CAD of course).
*Some people just use an average exchange rate for the whole year, which you can also get from the BoC.
^There's $200 of tax free gains allowed for pure currency transactions. This allows small gains to be ignored.