Taking the toys out of Happy Meals does seem intrusive, even to many liberals. (A common reaction to the city legislators' ban: "Are they even allowed to do that?") On the other hand, it's tough and pragmatic in that it relies on McDonald's desire to make money, rather than on, say, the hope that kids will choose to eat apple slices or raw carrots while everyone else snarfs down French fries.
The problem with the San Francisco approach is not that it won't work -- it probably will. If you are trying to keep kids from eating big, fattening meals, so as not to become big and fat themselves, arm-twisting McDonald's into making its Happy Meals less caloric is one means by which to do so.