X-Git-Url: https://git.decadent.org.uk/gitweb/?p=videolink.git;a=blobdiff_plain;f=style_sheets.hpp;fp=style_sheets.hpp;h=ef4aef34b7852a49292f2bd9ae70627763e289fe;hp=bb39b2286f03b98d369ebc4107917ee9f670ab69;hb=095c46b0de5edd5ae14b4e311d54c723eb73e11f;hpb=180cac3ff20c3a365c7f75f95b87a25229b1f1a4 diff --git a/style_sheets.hpp b/style_sheets.hpp index bb39b22..ef4aef3 100644 --- a/style_sheets.hpp +++ b/style_sheets.hpp @@ -9,12 +9,29 @@ class nsIPresShell; -// Load a CSS from an (absolute) URI. -// TODO: Support loading from an absolute, or better, relative filename. -already_AddRefed load_css(const char * uri); +// These functions load and apply a style-sheet as necessary, +// overriding the built-in "preferences". + +// init_agent_style_sheet() must be called once during startup +// apply_agent_style_sheet() must be called for each page + +#if MOZ_VERSION_MAJOR > 1 || (MOZ_VERSION_MAJOR == 1 && MOZ_VERSION_MINOR >= 8) + +struct agent_style_sheet_holder {}; + +// Load agent style sheet from an (absolute) URI, and register it if +// possible. +agent_style_sheet_holder init_agent_style_sheet(const char * uri); +inline void apply_agent_style_sheet(agent_style_sheet_holder, nsIPresShell *) +{} + +#else + +typedef nsCOMPtr agent_style_sheet_holder; +already_AddRefed init_agent_style_sheet(const char * uri); +void apply_agent_style_sheet(nsIStyleSheet *, nsIPresShell *); + +#endif -// Apply a style-sheet to a given presentation shell as the top-priority -// agent style-sheet and disable the preferences-derived style rules. -void apply_style_sheet(nsIStyleSheet *, nsIPresShell *); #endif // !INC_STYLESHEETS_HPP