He was first elected at the Îles-de-la-Madeleine riding in the 1949 general election. Cannon was re-elected for multiple terms in 1953 and 1957. After completing his final term in the 23rd Canadian Parliament, Cannon was defeated by James Russell Keays of the Progressive Conservative party.