According to Firefox, the selector has errors; unrecognised pseudo classes. So the rule is ignored in its entirety, as per the definition.
Ditto for webkit and IE.
So the solution is to split these across multiple rules, as the answer to the other question indicates.
::-webkit-input-placeholder {
color: #999;
}
:-moz-placeholder,::-moz-placeholder {
color: #999;
}
:-ms-input-placeholder {
color: #999;
}
As you can see, you can put both the -moz- ones in the same rule, because Firefox recognises them both. (They also mean the same thing, so having them both in the rule is redundant, but it works, so it doesn't matter.)
Fiddle
Edit: as shown in the comments, the single-colon version of the Mozilla selectors doesn't work, only the double colon version does. (in the latest version that is, don't have older versions here). But the single-colon version is not considered an error, otherwise this CSS wouldn't have worked.