"Why don't you tell him what you want for Christmas. Instead of hoping people will notice from complaints and comments you make."
Because gifts are about showing that you are interested in someone and pay attention to what they want or need?
You see I can see both sides of this. Dh is caring, attentive, listens, sends me links to things he knows I am interested in or talked about etc so when it comes to Christmas gifts I have probably already talked about what I want or shown him stuff. So most times my gifts are not surprises but I know that I am listened to so it is not a big deal.
This year he bought me a Dyson Airwrap, I got it early as I need the long barrels and he was worried it would go out of stock plus it came with a 30 day money back guarantee so he told me in advance that I would need to open it and use it to make sure I am happy with it, I am. It is that kind of thought that people should put into gifts.
My DH basically checks out of December Christmas. It's a manic time if year at work, and he literally cant think about anything else. Until last year, hed never bought either of our DC a gift (they are tween/teen)
My Dh also has a job that isn't 9-5 and has been incredibly busy working parts of the weekends for months on end, on call at nights on a rota but he still buys gifts for the children. I think lots of people have done online shopping, hardly difficult.
He knows that you will step in every time, just like you did this year, again "so I ended up getting the items" but why? Why did you not make him do this? If he knows that every December they are busy, why is he not buying stuff early? Because you will rescue it every, single, time. It is sad. Do you buy him gifts?
OP, I completely understand why you are sad and frustrated by his actions. The chocolate thing is awful. He did it to make himself feel good, I got her a gift, not the recipient of the gift.