Merge from dartlang-master