One of the painful steps in doing image extensions - aside from extending the picture - is redoing all of the masks after the canvas size changes. Masks are usually going to contain gradients, and they're almost to impossible extend seamlessly without putting in a lot of time. Let Content Aware Fill help.
I've found that Content Aware Fill does a really good job of magically continuing mask gradients. It must be something about the simplicity of analyzing grayscale pixel information. Who knows, but here's how it works in the most basic form.
1. Here's your mask after the canvas extension.
2. Using a marquee, select the areas you'd like to extend
3. Edit >Fill (or Shift F5), select Content Aware
The example here is clearly the simplest gradient extension possible. Try it out on more complex grads and you'll find that it works really well.