I've written a small extension to make possible to switch themes without a restart.
It basically uses the dss.enabled feature and the reloadChrome method from nsIChromeRegistry: http://mxr.mozilla.org/mozilla-central/source/content/base/public/nsIChromeRegistry.idl#87
The extension is available at: https://addons.mozilla.org/en-US/firefox/addon/61769
With Namoroka builds after 2010-02-13 the scrollbars are not being updated as they should and have done until build 2010-02-12.
This issues is only present on Namoroka, not on Minefield.
The pushlog range of this regression is: http://hg.mozilla.org/releases/mozilla-1.9.2/pushloghtml?fromchange=7723073d61b2&tochange=ebba043bb505
So it seems it is a regression from Bug 535806
Ah, I bet the chrome registry uses a case-insensitive CSSLoader (which means that it was pretty broken to start with in terms of its stylesheet reloading).
Created attachment 427611 [details] [diff] [review]
Should probably land this on older branches too, right?
Comment on attachment 427611 [details] [diff] [review]
> static void LoadSheet(nsIURI* aURI, nsCOMPtr<nsICSSStyleSheet> &aSheet,
>- PRBool aEnableUnsafeRules);
>+ PRBool aEnableUnsafeRules,
>+ PRBool aUseCaseSensitiveLoader = PR_FALSE);
Can you avoid the default value and make all callers pass the boolean explicitly?
Created attachment 427637 [details] [diff] [review]
With that change
Requesting branch approvals. This patch is not necessary (or even possible) on trunk.
Comment on attachment 427637 [details] [diff] [review]
With that change
a=beltzner for all branches, thanks, bz!
Checked into CVS:
Checking in chrome/src/nsChromeRegistry.cpp;
/cvsroot/mozilla/chrome/src/nsChromeRegistry.cpp,v <-- nsChromeRegistry.cpp
new revision: 1.370; previous revision: 1.369
Checking in layout/style/nsLayoutStylesheetCache.h;
/cvsroot/mozilla/layout/style/nsLayoutStylesheetCache.h,v <-- nsLayoutStylesheetCache.h
new revision: 1.9; previous revision: 1.8
Checking in layout/style/nsLayoutStylesheetCache.cpp;
/cvsroot/mozilla/layout/style/nsLayoutStylesheetCache.cpp,v <-- nsLayoutStylesheetCache.cpp
new revision: 1.15; previous revision: 1.14
This looks like it was made on a relbranch and not the default branch, right?
Er... yes. I have no idea how that happened, but it's wrong. Fixing now.
Backed out from the relbranch:
Pushed to default branch:
Thank you Boris and Mike!
Is it possible to land this patch also on comm-1.9.1 branch?
I checked this in on mozilla-1.9.1. I would think that comm-1.9.1 just pulls that. Does it not?
Hmmm... I've checked again and it seems that it was landed:
But I'm still having this issue on Thunderbird Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:220.127.116.11) Gecko/20100302 Shredder/3.0.4pre
This landed after Gecko 18.104.22.168 branched. That's why the status1.9.1 flag above is set to ".9-fixed" (as in, fixed for 22.214.171.124).
Ah... I understand. Thanks!