X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=videolink.cpp;h=bda78ce113c51bca35894e3db3e14795eb7455b6;hb=277a4f13736cd3eac53d1301dddc2e0eecba9dba;hp=f26bd5d2809a7a1dbf7d050a792f6c1d71efb1b4;hpb=194f5f8a53d16a8a07c61df2311a13b3cd3994bf;p=videolink.git diff --git a/videolink.cpp b/videolink.cpp index f26bd5d..bda78ce 100644 --- a/videolink.cpp +++ b/videolink.cpp @@ -194,7 +194,7 @@ namespace std::string output_dir_; mpeg_encoder encoder_; browser_widget browser_widget_; - nsCOMPtr stylesheet_; + agent_style_sheet_holder style_sheet_; dvd_contents contents_; typedef std::map resource_map_type; @@ -219,7 +219,8 @@ namespace : frame_params_(frame_params), output_dir_(output_dir), encoder_(encoder), - stylesheet_(load_css("file://" VIDEOLINK_SHARE_DIR "/videolink.css")), + style_sheet_(init_agent_style_sheet( + "file://"VIDEOLINK_SHARE_DIR"/videolink.css")), pending_window_update_(false), pending_req_count_(0), have_tweaked_page_(false), @@ -440,7 +441,7 @@ namespace // disable scrollbars. if (!have_tweaked_page_) { - apply_style_sheet(stylesheet_, pres_shell); + apply_agent_style_sheet(style_sheet_, pres_shell); // This actually only needs to be done once. nsCOMPtr dom_bar_prop; @@ -864,17 +865,16 @@ namespace check(CallGetService(pref_service_cid, getter_AddRefs(pref_service))); nsCOMPtr pref_branch; + check(pref_service->GetBranch("", getter_AddRefs(pref_branch))); - // Disable IE-compatibility kluge that causes backgrounds to - // sometimes/usually be missing from snapshots. This is only - // effective from Mozilla 1.8 onward. # if MOZ_VERSION_MAJOR > 1 \ || (MOZ_VERSION_MAJOR == 1 && MOZ_VERSION_MINOR >= 8) - check(pref_service->GetDefaultBranch("layout", - getter_AddRefs(pref_branch))); - check(pref_branch->SetBoolPref( - "fire_onload_after_image_background_loads", - true)); + // Disable IE-compatibility kluge that causes backgrounds to + // sometimes/usually be missing from snapshots. This is only + // effective from Mozilla 1.8 onward. + check(pref_branch->SetBoolPref( + "layout.fire_onload_after_image_background_loads", + true)); # endif // Set display resolution. With standard-definition video we @@ -885,9 +885,21 @@ namespace // slightly different but unfortunately Mozilla doesn't // support non-square pixels (and neither do fontconfig or Xft // anyway). - check(pref_service->GetDefaultBranch("browser.display", - getter_AddRefs(pref_branch))); - check(pref_branch->SetIntPref("screen_resolution", 40)); + + // The browser.display.screen_resolution preference sets the + // the nominal resolution for dimensions expressed in pixels. + // (They may be scaled!) In Mozilla 1.7 it also sets the + // assumed resolution of the display - hence pixel sizes are + // respected on-screen - but this is no longer the case in + // 1.8. Therefore it was renamed to layout.css.dpi in 1.8.1. + // In 1.8 we need to set the assumed screen resolution + // separately, but don't know how yet. Setting one to 40 + // but not the other is *bad*, so currently we set neither. + +# if MOZ_VERSION_MAJOR == 1 && MOZ_VERSION_MINOR < 8 + check(pref_branch->SetIntPref("browser.display.screen_resolution", + 40)); +# endif } } // namespace