Ok, I took a few minutes and reviewed a couple relevant Bugzilla bugs. I'm not a Firefox dev or anything, just someone that needed something to occupy time. From a cursory reading of a couple Bugzilla bugs (which if you follow a the right links from the OP, you will find. I won't link them here because then people will spam them. It took me less than 5 minutes to find them.), I found the following:
Mozilla is not sending browsing history to the server. What they are doing is getting lists of "Suggested Tiles" along with a list of URLs from the server. If by some algorithm, your history matches that list well enough, they show the tile and notify Mozilla. (I'm not sure about this last part...someone correct me if I'm wrong)
They prevent Mozilla from passing a list with one item and discovering history by requiring the lists to be long. If I'm reading correctly (I haven't looked at the code), there are a bunch of allowable lists hardcoded into Firefox. The list the server sends with the tiles must be one of those.
So the only info Mozilla gets is (a) whether your browsing history matches one of the lists of URLs (seemingly hardcoded in Firefox) that shows a tile and (b) whether you clicked on it.
Do I think this is a good idea? It seems like a step down the wrong path... but at least they considered privacy. That's better than all the other major players, and they still do need to make enough money to exist.
There's a way to opt out, and it looks like they're automatically opting some people out if they have Do Not Track enabled (even though they point out that they aren't tracking anyone anyway).
Source:
https://www.reddit.com/r/linux/comments/36txe4/firefox_will_show_ads_based_on_your_browsing/crh4tus