add canvas api support