It is a layering violation for FileChooser to depend on Document, Frame and Page.
Created attachment 24530 [details]
Adele is working on changes to the FileChooser, so this patch may not apply cleanly after she is done. I will fix it up and attach a new one when she lands.
Created attachment 24667 [details]
Comment on attachment 24667 [details]
r=me. Please remove the old Gtk code.
Landed in r37880.