Closed Bug 141090 Opened 22 years ago Closed 20 years ago

New profiles do not display current theme w/ check flag

Categories

(SeaMonkey :: Themes, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.7final

People

(Reporter: jerry.tan, Assigned: jerry.tan)

References

Details

(Keywords: verified1.7)

Attachments

(1 file, 3 obsolete files)

From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0rc1)
Gecko/20020417
BuildID:    20020425

according to bug 127993, theme has one checked flag when mozilla startup.
but if start mozilla with new profile, theme doesnot have it.


Reproducible: Always
Steps to Reproduce:
1.startup mozilla with create new profile
2.chose the new created profile
3.View->Apply Theme


Actual Results:  No checked flag for the current theme

Expected Results:  There is one check flag for the current theme

if select one theme, restart mozilla, 
View->Apply Theme, you will see that there is a checked flag for the current
used theme.
related: bug 54681
I dont agree.
this bug is not dup of 54681.
this bug only happens when new profile is created.

if using existed profile, it is ok.
take it
Assignee: shliang → jerry.tan
Attached patch patch (obsolete) — Splinter Review
Attachment #133241 - Flags: superreview?(bryner)
Attachment #133241 - Flags: review?(blake)
Status: NEW → ASSIGNED
Attachment #133241 - Attachment is obsolete: true
Comment on attachment 133551 [details] [diff] [review]
patch (correct some format error)

bryner, can you give r?
Attachment #133551 - Flags: review?(bryner)
Attachment #133241 - Flags: superreview?(bryner)
Attachment #133241 - Flags: review?(blake)
Comment on attachment 133551 [details] [diff] [review]
patch (correct some format error)

After talking with bsmedberg, I think a better solution is to fix
isSkinSelected() to always work correctly.
Attachment #133551 - Flags: review?(bryner) → review-
when mozilla start with new profile, the new created prefs doesnot contain
selected skin info.

but for nsChromeRegistry::LoadProfileDataSource, it will check user prefs, 
if it contain selected skin info, mozilla will selectSkin for all package,
if not, it will just skip.

so patch 0.2 hack here, if prefs doesnot contain selected skin info, it will
query "global"'s skin, and selectSkin for all packages.
it goes in another way.

when mozilla create new profile, it will create chrome.rdf for the new profile,

it contains locale info, but lack skin info.

so I make patch 0.3, just handle skin like locale, 
when new profile, add selected skin info into chrome.rdf.
bryner and blaker, can you take a look at patch 0.2 and patch 0.3?

I prefer patch 0.3.
but for a existed profile, if user never use View->Apply Theme to set theme,
there will be still no check flag for all availble themes.

and I dont want to hack in nsChromeRegistry:IsSkinSelected(), 
because it can return FULL, partical, NONE, 
it could be used in the future.
From quick perusal, I think version 2 is better (and we should probably be doing
something similar for locale). The 'birds are moving towards
--enable-single-profile, which means that none of the code in nsProfile will be
present. That might be a red herring, though.
Comment on attachment 134467 [details] [diff] [review]
patch 0.2 (fix in nsChromeRegistry::LoadProfileDataSource)

blake, can you review it?
Attachment #134467 - Flags: review?(blake)
Comment on attachment 134467 [details] [diff] [review]
patch 0.2 (fix in nsChromeRegistry::LoadProfileDataSource)

bryner, can you review it?
Attachment #134467 - Flags: review?(blake) → review?(bryner)
Comment on attachment 134467 [details] [diff] [review]
patch 0.2 (fix in nsChromeRegistry::LoadProfileDataSource)

I like patch 0.3 better... this one will impact startup time by calling
SelectSkin on every startup.
Attachment #134467 - Flags: review?(bryner) → review-
Comment on attachment 134473 [details] [diff] [review]
patch 0.3 (hacking in nsProfile and nsChromeRegistry)

r/sr=bryner for this patch.
Attachment #134473 - Flags: superreview+
Attachment #134467 - Attachment is obsolete: true
Attachment #133551 - Attachment is obsolete: true
Attachment #134473 - Flags: review?(bsmedberg)
Comment on attachment 134473 [details] [diff] [review]
patch 0.3 (hacking in nsProfile and nsChromeRegistry)

If you alter an interface you *must* change the IID of the interface: generate
a new IID and insert it into the nsIXULChromeRegistry interface and r=me

Please don't check this in yet... I need to move the nsIChromeRegistry.idl to
content/base/public, so I will check this in once that is done. (see bug
219233)
Attachment #134473 - Flags: review?(bsmedberg) → review+
(In reply to comment #16)
> Please don't check this in yet... I need to move the nsIChromeRegistry.idl to
> content/base/public, so I will check this in once that is done. (see bug
> 219233)
> 

bug 219233 has been fixed, have you checked this in?
adding depends per bsmedberg, flagging for 1.7f, allplats

I verified the previous bug, which fixes the problem in everything except the
default state of a newly created profile.


I'd really like to see this fixed for 1.7.
Depends on: 219233
Flags: blocking1.7?
OS: Windows 2000 → All
QA Contact: pmac → benc
Hardware: PC → All
Summary: when new profile, theme doesnot have check flag → New profiles do not display current theme w/ check flag
Comment on attachment 134473 [details] [diff] [review]
patch 0.3 (hacking in nsProfile and nsChromeRegistry)

I'm vaguely worried about the possible regressions here, but with several
release candidates I think this should probably go in.
Attachment #134473 - Flags: approval1.7?
Jerry: just so I understand...

This patch has the effect of forcing new profiles to have the same theme
selection state that they get after you select a theme via the menu?

I have seen some theme weirdness in a new Mac profile that goes away after you
re-select the theme...
bsmedberg, if we're going to consider this for 1.7, can you help us identify the
things that might be impacted -- what areas of the app we should pay particular
testing attention to after it lands? Has it landed on the trunk yet? Any fallout
there?
Jerry: Is this patch bitrotted? I had someone try to build w/ the patch today,
and they said that the idl file had moved.
the patch does not in trunk.

Due to patch for  bug 219233
nsIChromeRegistry.idl has been moved into content, 

I think just modify the patch 0.3, set nsIChromeRegistry.idl to the currently
place, the patch still work.
Comment on attachment 134473 [details] [diff] [review]
patch 0.3 (hacking in nsProfile and nsChromeRegistry)

a=asa (on behalf of drivers) for checkin to 1.7
Attachment #134473 - Flags: approval1.7? → approval1.7+
Checked in on trunk and 1.7 branch.

The kinds of regressions we're looking for are:
1) If you install a non-default theme, and use the profile manager, the correct
theme is applied
2) If you uninstall a theme, it reverts to some other theme sanely.
3) Other similar theme+profile combinations.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Keywords: fixed1.7
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.7final
Blocks: 241783
Flags: blocking1.7?
Thanks.
Keywords: fixed1.7verified1.7
Product: Core → SeaMonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: