Merge from Perforce
Migrate the codes from 2.5 branch