As part of bug 26112 I broke WebCompletionController into a separate source file, but that made the patch way too big. So I'm doing that as a separate step.
Created attachment 30827 [details]
Comment on attachment 30827 [details]
r=me on the file split. I didn't review every line, but I assume you got it right.