]> git.decadent.org.uk Git - videolink.git/blobdiff - style_sheets.hpp
Changed style-sheet application in Mozila/XULRunner 1.8 to override built-in preferen...
[videolink.git] / style_sheets.hpp
index bb39b2286f03b98d369ebc4107917ee9f670ab69..ef4aef34b7852a49292f2bd9ae70627763e289fe 100644 (file)
@@ -9,12 +9,29 @@
 
 class nsIPresShell;
 
 
 class nsIPresShell;
 
-// Load a CSS from an (absolute) URI.
-// TODO: Support loading from an absolute, or better, relative filename.
-already_AddRefed<nsIStyleSheet> 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<nsIStyleSheet> agent_style_sheet_holder;
+already_AddRefed<nsIStyleSheet> 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
 
 #endif // !INC_STYLESHEETS_HPP