Closed Bug 307557 Opened 19 years ago Closed 18 years ago

Only guess system timezone once per session

Categories

(Calendar :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Sunbird 0.3

People

(Reporter: jminta, Assigned: jminta)

Details

(Whiteboard: [good first bug])

Attachments

(1 file)

Currently, calendarUtils.js (used by both lightning and sunbird) has a
calendarDefaultTimezone() function that guesses the system timezone, if one is
not defined.  This is a rather expensive call to make though, as it iterates
through many timezones that have to be parsed from an ics file.  A better
solution would be to only guess the timezone on startup, and then cache that
value.  This would introduce the small downside that any changes to the system
timezone would require a restart to be recognized.  However, for an 0.x program,
that seems like a legitimate limitation, especially for the performance boost.
http://lxr.mozilla.org/seamonkey/source/calendar/resources/content/calendarUtils.js#205

That code already caches, so we really only guess once. The result of the
guessing isn't stored, so on the next run the guess is made again. But never
twice in the same session.

I think this bug is worksforme.
OK, this is somewhat worksforme.  Using the patch from Bug 307344, I see proper
caching in calendarWindow.  However, anytime the event dialog opens, the guess
is re-run.  We should improve that, but since that's the only problem I see,
this bug is much less of a priority.
Good first bug: gDefaultTimezone becomes -1 again, since global variables belong to a specific window.  Perf related, so we want this for 0.3b (or whatever it's going to be called)
Whiteboard: [good first bug]
Target Milestone: --- → Sunbird 0.3
Reassigning all automatically assigned bugs from Mostafa to nobody@m.o

Bugspam filter: TorontoMostafaMove
Assignee: mostafah → nobody
Attached patch use opener scope — — Splinter Review
This is a significant enough performance win that I'd like to get it for 0.3.  By calling calendarDefaultTimezone in the opener's scope, we can use that cached value, rather than re-guessing.  You should notice the performance win every time you open the event dialog.
Assignee: nobody → jminta
Status: NEW → ASSIGNED
Attachment #231035 - Flags: first-review?(dmose)
Comment on attachment 231035 [details] [diff] [review]
use opener scope

r=dmose
Attachment #231035 - Flags: first-review?(dmose) → first-review+
patch checked in.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: