One seat was taken from the Conservatives, indicating public support for the PM after a confrontation with Donald Trump.
Liberals sweep three seats in boost for Carney after trade tensions with US