Merge from Perforce
Migrate codes from the 2.5 branch