You need to go further back. Cameron delayed calling a referendum as long as he could, the public desire to call a referendum was irresistable by that point and was largely due to Blair and Brown reneging on their pledge to hold a referendum on Lisbon because they knew they'd lose it.