Your mainlayout has to be full sized.
VerticalLayout vlMain = new VerticalLayout();
vlMain.setSizeFull();
vlMain.addComponent(content);
vlMain.setExpandRatio(content, 1.0f);
VerticalLayout footer = new VerticalLayout();
vlMain.addComponent(footer);