@gaochun please try your code with web apps before merging this into trunk. thanks.