It is easy to condemn Yahoo! and Google and others for dealing with China and giving in to government pressure. But it is cheap as they would be even more criticized if they failed to generate the revenue they do in China.
The Chinese government must not jail people for their opinions just as Chinese workers should not be forced to work 14 hours a day for 2$.
The only way to effectively criticize a commercial company is with a boycott. If Nike or Google has more to loose than to win from doing business with China, then they will stop doing it.
Those who buy Matel toys and wearing cheap clothes should think about their own involvement and support to a totalitarian regime which has its usefulness in the global economy.
The companies who make profits in China pay the taxes which are used to pay the officials filing for claims at Yahoo and Google. It's a circle really, we are all guilty.
A more effective way would be to stop selling weapons and military equipment to China. That would hurt mostly the Communist Party and maybe move them to adopt gentler ways with their people.