profile support for kiosk mode.

VERIFIED FIXED in mozilla0.8.1


Core Graveyard
Profile: BackEnd
17 years ago
2 years ago


(Reporter: Judson Valeski, Assigned: Conrad Carlen (not reading bugmail))



Windows 2000

Firefox Tracking Flags

(Not tracked)



(3 attachments)



17 years ago
Here are a couple bugs talking about "full screen/kiosk mode":

They address the UI/chrome look and feel of such a mode which is different from 
providing a "roating" profile in the backend. 

User's need the ability to walk up to a "kiosk" machine (say in a library) and 
log in/out ad-naseum.

We could do this by hooking up profile data caches (cookies, wallet, chrome, 
etc) to another listener (say CLEAR_PROFILE_CACHE or something), or by blowing 
away the default profile dir, then recreating it (considering that an operation 
that occurs for each log out).

Comment 1

17 years ago
nominating 0.8
Blocks: 64833
Severity: normal → major
Keywords: embed, mozilla0.8


17 years ago

Comment 2

17 years ago
Mozilla 0.8 builds started today. We would consider taking reviewed low risk 
fixes if they are available today (Wednesday, 7/Feb/01) or tomorrow (Thursday, 
8/Feb/01). Otherwise, please set the target milestone to Mozilla 0.9. Thanks.


17 years ago
Keywords: mozilla0.8
Target Milestone: --- → mozilla0.9

Comment 3

17 years ago
*** Bug 68471 has been marked as a duplicate of this bug. ***


17 years ago
Blocks: 3341

Comment 4

17 years ago
Created attachment 25597 [details] [diff] [review]
patch to provide profile logout

Comment 5

17 years ago
The patch provides the ability to log out of the current profile. There are two
supported modes of logging out:
(1) SHUTDOWN_PERSIST in which profile change observers write their data out
before the current profile goes away.
(2) SHUTDOWN_CLEANSE in which profile change observers delete their persistent
data from the current profile.

The kiosk app will use SHUTDOWN_CLEANSE. It should have one profile for this
purpose called "guest" (or whatever) When the user logs out, the app will call
nsIProfile::ShutDownCurrentProfile(SHUTDOWN_CLEANSE). This will wipe clean the
current profile. Then the kiosk app will modally wait for the next user and then
call nsIProfile::SetCurrentProfile("guest"). That profile will now be completely

Comment 6

17 years ago
These changes look good to me. The only question is whether or not the Topic 
dependencies should be made explicit via #includes. we'll be hashing this out on 
pork. Whatever we decide there, should be integrated into these patches, then 
we're good to go. r=valeski.

Comment 7

17 years ago
Whatever we decide about where to declare observer topics can be dealt with by
some copy/paste and adjusting the REQUIRES line of Unix makefiles. Shouldn't
cause much change. Whatever change that does cause, I'll put up an updated patch.

Comment 8

17 years ago
FYI: One thing we may want to consider in the PROFILE_CLEANSE case is to ensure 
that the profiles also get blown away on restart of the client, as it's possible 
that a prematurely exiting client would cause the cleanup routines to not be 
called, and therefore leave data hanging around (this is a lesson learned from 
the previous "roaming" exercise in Nav 4.5)

Comment 9

17 years ago
Good point. I'll look into that. Something could be written into the profile's
registry entry that it needed to be cleansed until we succeeded in doing so.
That would require adding an additional routine to nsIProfile - say
createGuestProfile(), which would mark the profile as such. That's the only way
I can see to tag such a profile to be marked for cleanup later. Right now,
client code can call shutDownCurrentProfile(SHUTDOWN_CLEANSE) on any profile.
It's up to the client code to make sure it's on the right "temp" profile which
it created for this purpose.

Comment 10

17 years ago
Created attachment 25779 [details] [diff] [review]
updated patch - replaces previous

Comment 11

17 years ago
The updated patch also changes the use of observer topics to no longer be
#defined in nsIProfileChangeStatus.idl. This allowed the removal of "profile"
from many REQUIRES sections in Unix makefiles. In doing this, I found serveral
extraneous includes of nsIProfile which caused further dependencies and removed
them. Tested this by building on Linux with MOZ_TRACK_MODULE_DEPS=1 in the build

Comment 12

17 years ago

Comment 13

17 years ago
Created attachment 25806 [details] [diff] [review]
partial update to updated patch

Comment 14

17 years ago
The partial update fixes a bug in nsProfile.cpp (in an untested path of
execution) and clarifies some comments.

Comment 15

17 years ago

Comment 16

17 years ago
sorry for the delay - I reviewed this the other day but got bitten by SERA &
bugzilla logins, so my comments never appeared here.

Comment 17

17 years ago
targeting 0.8.1
It's reviewed and ready to go - just have to land it.
Priority: -- → P1
Target Milestone: mozilla0.9 → mozilla0.8.1

Comment 18

17 years ago
This just landed, marking fixed
Last Resolved: 17 years ago
Resolution: --- → FIXED

Comment 19

17 years ago
What's the UI for the guest profile?  Has anyone filed a bug about that?  I
assume we'd make it work like it did in 4.x.  (Permanent selection, can't delete
it, shown outside the grouping of user created profiles, etc.)

Comment 20

17 years ago
no UI, the underlying functionality is there though. embedding clients needed
the support, but they're using their own UI. If 6.x needs this exposed via UI,
I'm not sure who would own that.

Comment 21

17 years ago
verified code fix


16 years ago
No longer blocks: 64833

Comment 22

16 years ago
UI for "guest mode": bug 155300.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.