Bug 1209777 - part3: adapt comm-central for bug 589199 (top level const/let change). r=mconley, fallen, jcranmer, aleth. a=mkmelin on CLOSED TREE
authorMagnus Melin <mkmelin+mozilla@iki.fi>
Sun, 11 Oct 2015 00:23:56 +0300
changeset 23491 78ab64eb195b9ab21ee75f3d64adc9e58a72f434
parent 23490 d09fd3bc81697fe1b498f8ae01bec3a89a03ecb5
child 23492 eecce9d6df787535c4339299b838d457dcbcc9af
push id1538
push userclokep@gmail.com
push dateMon, 14 Dec 2015 22:26:08 +0000
treeherdercomm-beta@1d71b57e0749 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmconley, fallen, jcranmer, aleth, mkmelin
bugs1209777, 589199
Bug 1209777 - part3: adapt comm-central for bug 589199 (top level const/let change). r=mconley, fallen, jcranmer, aleth. a=mkmelin on CLOSED TREE Created by this script: find mail/ mailnews/ calendar/ chat/ im/ testing/ -type f -iname *.js* -exec sed -i -E 's/^(const|let) /var /g' {} \;
calendar/base/backend/calBackendLoader.js
calendar/base/backend/icaljs/calDateTime.js
calendar/base/backend/icaljs/calDuration.js
calendar/base/backend/icaljs/calICALJSComponents.js
calendar/base/backend/icaljs/calICSService-worker.js
calendar/base/backend/icaljs/calICSService.js
calendar/base/backend/icaljs/calPeriod.js
calendar/base/backend/icaljs/calRecurrenceRule.js
calendar/base/content/dialogs/calendar-migration-dialog.js
calendar/base/content/import-export.js
calendar/base/modules/calAsyncUtils.jsm
calendar/base/src/calAlarm.js
calendar/base/src/calAlarmMonitor.js
calendar/base/src/calAlarmService.js
calendar/base/src/calAttachment.js
calendar/base/src/calAttendee.js
calendar/base/src/calCachedCalendar.js
calendar/base/src/calCalendarManager.js
calendar/base/src/calCalendarSearchService.js
calendar/base/src/calDateTimeFormatter.js
calendar/base/src/calDefaultACLManager.js
calendar/base/src/calDeletedItems.js
calendar/base/src/calEvent.js
calendar/base/src/calFreeBusyService.js
calendar/base/src/calIcsParser.js
calendar/base/src/calIcsSerializer.js
calendar/base/src/calItemModule.js
calendar/base/src/calItipItem.js
calendar/base/src/calProtocolHandler.js
calendar/base/src/calRecurrenceDate.js
calendar/base/src/calRecurrenceInfo.js
calendar/base/src/calRelation.js
calendar/base/src/calSleepMonitor.js
calendar/base/src/calStartupService.js
calendar/base/src/calTimezone.js
calendar/base/src/calTimezoneService.js
calendar/base/src/calTodo.js
calendar/base/src/calTransactionManager.js
calendar/base/src/calWeekInfoService.js
calendar/import-export/calHtmlExport.js
calendar/import-export/calIcsImportExport.js
calendar/import-export/calImportExportModule.js
calendar/import-export/calListFormatter.js
calendar/import-export/calMonthGridPrinter.js
calendar/import-export/calOutlookCSVImportExport.js
calendar/import-export/calWeekPrinter.js
calendar/itip/calItipEmailTransport.js
calendar/lightning/components/calItipProtocolHandler.js
calendar/lightning/components/lightningTextCalendarConverter.js
calendar/lightning/content/messenger-overlay-sidebar.js
calendar/providers/caldav/calDavCalendar.js
calendar/providers/composite/calCompositeCalendar.js
calendar/providers/gdata/components/calGoogleCalendar.js
calendar/providers/gdata/content/browserRequest.js
calendar/providers/gdata/modules/OAuth2.jsm
calendar/providers/gdata/modules/gdataRequest.jsm
calendar/providers/gdata/modules/gdataSession.jsm
calendar/providers/gdata/modules/gdataUtils.jsm
calendar/providers/gdata/modules/shim/Calendar.jsm
calendar/providers/gdata/modules/shim/Http.jsm
calendar/providers/gdata/modules/shim/Promise.jsm
calendar/providers/gdata/modules/shim/Task.jsm
calendar/providers/ics/calICSCalendar.js
calendar/providers/memory/calMemoryCalendar.js
calendar/providers/storage/calStorageCalendar.js
calendar/providers/wcap/calWcapCalendar.js
calendar/providers/wcap/calWcapCalendarItems.js
calendar/providers/wcap/calWcapCalendarModule.js
calendar/providers/wcap/calWcapErrors.js
calendar/providers/wcap/calWcapRequest.js
calendar/providers/wcap/calWcapSession.js
calendar/test/mozmill/eventDialog/testEventDialogModificationPrompt.js
calendar/test/mozmill/recurrence/testAnnualRecurrence.js
calendar/test/mozmill/recurrence/testBiweeklyRecurrence.js
calendar/test/mozmill/recurrence/testDailyRecurrence.js
calendar/test/mozmill/recurrence/testLastDayOfMonthRecurrence.js
calendar/test/mozmill/recurrence/testWeeklyNRecurrence.js
calendar/test/mozmill/recurrence/testWeeklyUntilRecurrence.js
calendar/test/mozmill/recurrence/testWeeklyWithExceptionRecurrence.js
calendar/test/mozmill/recurrenceRotated/testAnnualRecurrence.js
calendar/test/mozmill/recurrenceRotated/testBiweeklyRecurrence.js
calendar/test/mozmill/recurrenceRotated/testDailyRecurrence.js
calendar/test/mozmill/recurrenceRotated/testLastDayOfMonthRecurrence.js
calendar/test/mozmill/recurrenceRotated/testWeeklyNRecurrence.js
calendar/test/mozmill/recurrenceRotated/testWeeklyUntilRecurrence.js
calendar/test/mozmill/recurrenceRotated/testWeeklyWithExceptionRecurrence.js
calendar/test/mozmill/shared-modules/calendar-utils.js
calendar/test/mozmill/shared-modules/timezone-utils.js
calendar/test/mozmill/testBasicFunctionality.js
calendar/test/mozmill/testLocalICS.js
calendar/test/mozmill/testTodayPane.js
calendar/test/mozmill/timezoneTests/test10.js
calendar/test/mozmill/timezoneTests/test2.js
calendar/test/mozmill/timezoneTests/test3.js
calendar/test/mozmill/timezoneTests/test4.js
calendar/test/mozmill/timezoneTests/test5.js
calendar/test/mozmill/timezoneTests/test6.js
calendar/test/mozmill/timezoneTests/test7.js
calendar/test/mozmill/timezoneTests/test8.js
calendar/test/mozmill/timezoneTests/test9.js
calendar/test/unit/head_consts.js
calendar/test/unit/test_alarmservice.js
calendar/test/unit/test_freebusy_service.js
calendar/test/unit/test_ics.js
calendar/test/unit/test_search_service.js
chat/components/src/imAccounts.js
chat/components/src/imCommands.js
chat/components/src/imContacts.js
chat/components/src/imConversations.js
chat/components/src/imCore.js
chat/components/src/logger.js
chat/components/src/smileProtocolHandler.js
chat/components/src/test/test_accounts.js
chat/components/src/test/test_commands.js
chat/components/src/test/test_conversations.js
chat/components/src/test/test_logger.js
chat/content/browserRequest.js
chat/modules/imContentSink.jsm
chat/modules/imSmileys.jsm
chat/modules/imStatusUtils.jsm
chat/modules/imTextboxUtils.jsm
chat/modules/imThemes.jsm
chat/modules/imXPCOMUtils.jsm
chat/modules/jsProtoHelper.jsm
chat/modules/socket.jsm
chat/modules/test/appInfoUtils.jsm
chat/modules/test/test_filtering.js
chat/protocols/facebook/facebook.js
chat/protocols/gtalk/gtalk.js
chat/protocols/irc/irc.js
chat/protocols/irc/ircBase.jsm
chat/protocols/irc/ircCAP.jsm
chat/protocols/irc/ircCTCP.jsm
chat/protocols/irc/ircCommands.jsm
chat/protocols/irc/ircDCC.jsm
chat/protocols/irc/ircHandlers.jsm
chat/protocols/irc/ircISUPPORT.jsm
chat/protocols/irc/ircNonStandard.jsm
chat/protocols/irc/ircSASL.jsm
chat/protocols/irc/ircServices.jsm
chat/protocols/irc/ircUtils.jsm
chat/protocols/irc/ircWatchMonitor.jsm
chat/protocols/irc/test/test_ctcpColoring.js
chat/protocols/irc/test/test_ctcpDequote.js
chat/protocols/irc/test/test_ctcpFormatting.js
chat/protocols/irc/test/test_ctcpQuote.js
chat/protocols/irc/test/test_ircMessage.js
chat/protocols/irc/test/test_splitLongMessages.js
chat/protocols/irc/test/test_tryNewNick.js
chat/protocols/jsTest/jsTestProtocol.js
chat/protocols/odnoklassniki/odnoklassniki.js
chat/protocols/skype/skype.js
chat/protocols/skype/test/test_MagicSha256.js
chat/protocols/skype/test/test_contactUrlToName.js
chat/protocols/twitter/twitter.js
chat/protocols/xmpp/test/test_parseJidAndNormalization.js
chat/protocols/xmpp/xmpp-authmechs.jsm
chat/protocols/xmpp/xmpp-commands.jsm
chat/protocols/xmpp/xmpp-session.jsm
chat/protocols/xmpp/xmpp-xml.jsm
chat/protocols/xmpp/xmpp.js
chat/protocols/xmpp/xmpp.jsm
chat/protocols/yahoo/test/test_yahooLoginHelper.js
chat/protocols/yahoo/test/test_yahoopacket.js
chat/protocols/yahoo/yahoo-session.jsm
chat/protocols/yahoo/yahoo.js
im/components/contentHandler.js
im/components/ibCommandLineHandler.js
im/components/ibConvStatsService.js
im/components/ibDockBadge.js
im/components/ibStatusCommandLineHandler.js
im/components/profileMigrator.js
im/content/account.js
im/content/accountWizard.js
im/content/accounts.js
im/content/blist.js
im/content/debug/debug.js
im/content/debug/fake/fake.js
im/content/engineManager.js
im/content/extensions-discover.js
im/content/extensions.js
im/content/joinchat.js
im/content/menus.js
im/content/preferences/applications.js
im/content/preferences/themes.js
im/content/utilities.js
im/content/viewlog.js
im/modules/ibCore.jsm
im/modules/ibTagMenu.jsm
im/modules/ibWinJumpList.jsm
im/modules/imWindows.jsm
mail/base/content/FilterListDialog.js
mail/base/content/aboutDialog.js
mail/base/content/browserRequest.js
mail/base/content/folderPane.js
mail/base/content/glodaFacetView.js
mail/base/content/mailContextMenus.js
mail/base/content/mailWindowOverlay.js
mail/base/content/messageWindow.js
mail/base/content/msgHdrViewOverlay.js
mail/base/content/msgMail3PaneWindow.js
mail/base/content/multimessageview.js
mail/base/content/phishingDetector.js
mail/base/content/sanitizeDialog.js
mail/base/content/specialTabs.js
mail/base/modules/MailUtils.js
mail/base/modules/MsgHdrSyntheticView.js
mail/base/modules/Windows8WindowFrameColor.jsm
mail/base/modules/dbViewWrapper.js
mail/base/modules/distribution.js
mail/base/modules/mailInstrumentation.js
mail/base/modules/mailMigrator.js
mail/base/modules/mailViewManager.js
mail/base/modules/oauth.jsm
mail/base/modules/quickFilterManager.js
mail/base/modules/searchSpec.js
mail/base/modules/sessionStoreManager.js
mail/base/test/unit/test_windows_font_migration.js
mail/components/DownloadsStartup.js
mail/components/about-support/aboutSupport.js
mail/components/about-support/aboutSupportUnix.js
mail/components/about-support/aboutSupportWin32.js
mail/components/about-support/content/crashes.js
mail/components/about-support/content/init.js
mail/components/about-support/content/prefs.js
mail/components/aboutRedirector.js
mail/components/activity/content/activity.js
mail/components/activity/modules/alertHook.js
mail/components/activity/modules/autosync.js
mail/components/activity/modules/glodaIndexer.js
mail/components/activity/modules/moveCopy.js
mail/components/activity/modules/pop3Download.js
mail/components/activity/modules/sendLater.js
mail/components/activity/nsActivity.js
mail/components/activity/nsActivityManager.js
mail/components/activity/nsActivityManagerUI.js
mail/components/addrbook/content/abCardOverlay.js
mail/components/addrbook/content/abCommon.js
mail/components/addrbook/content/abTrees.js
mail/components/addrbook/content/addressbook.js
mail/components/appIdleManager.js
mail/components/cloudfile/cloudFileAccounts.js
mail/components/cloudfile/content/Hightail/fileExceedsQuota.js
mail/components/cloudfile/content/addAccountDialog.js
mail/components/cloudfile/nsBox.js
mail/components/cloudfile/nsHightail.js
mail/components/compose/content/MsgComposeCommands.js
mail/components/compose/content/bigFileObserver.js
mail/components/devtools/extension/bootstrap.js
mail/components/downloads/content/aboutDownloads.js
mail/components/im/content/am-im.js
mail/components/im/content/imAccountWizard.js
mail/components/im/content/imAccounts.js
mail/components/im/content/joinchat.js
mail/components/im/imIncomingServer.js
mail/components/im/imProtocolInfo.js
mail/components/im/modules/chatNotifications.jsm
mail/components/im/modules/index_im.js
mail/components/im/modules/search_im.js
mail/components/mailContentHandler.js
mail/components/mailGlue.js
mail/components/migration/content/migration.js
mail/components/newmailaccount/content/accountProvisioner.js
mail/components/nsMailDefaultHandler.js
mail/components/preferences/actionsshared.js
mail/components/preferences/applications.js
mail/components/preferences/chat.js
mail/components/preferences/cookies.js
mail/components/preferences/fonts.js
mail/components/preferences/offline.js
mail/components/preferences/permissions.js
mail/components/search/SpotlightIntegration.js
mail/components/search/WinSearchIntegration.js
mail/components/search/content/searchCommon.js
mail/components/shell/nsSetDefaultMail.js
mail/components/wintaskbar/windowsJumpLists.js
mail/extensions/mailviews/content/msgViewPickerOverlay.js
mail/extensions/smime/content/msgCompSMIMEOverlay.js
mail/extensions/smime/content/msgHdrViewSMIMEOverlay.js
mail/steel/steelApplication.js
mail/steel/test/head_steel.js
mail/test/mozmill/account/test-account-actions.js
mail/test/mozmill/account/test-account-port-setting.js
mail/test/mozmill/account/test-account-settings-infrastructure.js
mail/test/mozmill/account/test-account-tree.js
mail/test/mozmill/account/test-account-values.js
mail/test/mozmill/account/test-mail-account-setup-wizard.js
mail/test/mozmill/attachment/test-attachment-events.js
mail/test/mozmill/attachment/test-attachment-menus.js
mail/test/mozmill/attachment/test-attachment-size.js
mail/test/mozmill/attachment/test-attachment.js
mail/test/mozmill/cloudfile/test-cloudfile-add-account-dialog.js
mail/test/mozmill/cloudfile/test-cloudfile-attachment-item.js
mail/test/mozmill/cloudfile/test-cloudfile-attachment-urls.js
mail/test/mozmill/cloudfile/test-cloudfile-backend-hightail.js
mail/test/mozmill/cloudfile/test-cloudfile-manager.js
mail/test/mozmill/cloudfile/test-cloudfile-notifications.js
mail/test/mozmill/composition/test-address-widgets.js
mail/test/mozmill/composition/test-attachment-reminder.js
mail/test/mozmill/composition/test-attachment.js
mail/test/mozmill/composition/test-charset-edit.js
mail/test/mozmill/composition/test-charset-upgrade.js
mail/test/mozmill/composition/test-drafts.js
mail/test/mozmill/composition/test-eml-actions.js
mail/test/mozmill/composition/test-forward-headers.js
mail/test/mozmill/composition/test-forwarded-content.js
mail/test/mozmill/composition/test-forwarded-eml-actions.js
mail/test/mozmill/composition/test-multipart-related.js
mail/test/mozmill/composition/test-newmsg-compose-identity.js
mail/test/mozmill/composition/test-reply-addresses.js
mail/test/mozmill/composition/test-reply-signature.js
mail/test/mozmill/composition/test-save-changes-on-quit.js
mail/test/mozmill/composition/test-send-button.js
mail/test/mozmill/composition/test-signature-init.js
mail/test/mozmill/composition/test-signature-updating.js
mail/test/mozmill/content-policy/test-dns-prefetch.js
mail/test/mozmill/content-policy/test-exposed-in-content-tabs.js
mail/test/mozmill/content-policy/test-general-content-policy.js
mail/test/mozmill/content-policy/test-js-content-policy.js
mail/test/mozmill/content-policy/test-plugins-policy.js
mail/test/mozmill/content-policy/test-view-source.js
mail/test/mozmill/content-tabs/test-about-support.js
mail/test/mozmill/content-tabs/test-install-xpi.js
mail/test/mozmill/content-tabs/test-lwthemes.js
mail/test/mozmill/content-tabs/test-plugin-blocked.js
mail/test/mozmill/content-tabs/test-plugin-crashing.js
mail/test/mozmill/content-tabs/test-plugin-outdated.js
mail/test/mozmill/downloads/test-about-downloads.js
mail/test/mozmill/folder-display/test-archive-messages.js
mail/test/mozmill/folder-display/test-display-name.js
mail/test/mozmill/folder-display/test-displaying-messages-in-folder-tabs.js
mail/test/mozmill/folder-display/test-message-commands-on-msgstore.js
mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js
mail/test/mozmill/folder-display/test-opening-messages.js
mail/test/mozmill/folder-display/test-watch-ignore-thread.js
mail/test/mozmill/folder-pane/test-display-message-with-folder-modes.js
mail/test/mozmill/folder-pane/test-folder-names-in-recent-mode.js
mail/test/mozmill/folder-pane/test-folder-pane.js
mail/test/mozmill/folder-tree-modes/test-custom-folder-tree-mode.js
mail/test/mozmill/folder-tree-modes/test-custom-smart-folder.js
mail/test/mozmill/folder-tree-modes/test-mode-switching.js
mail/test/mozmill/folder-tree-modes/test-smart-folders.js
mail/test/mozmill/folder-tree-modes/test-unread-folders.js
mail/test/mozmill/im/test-toolbar-buttons.js
mail/test/mozmill/junk-commands/test-junk-commands.js
mail/test/mozmill/message-header/test-header-toolbar.js
mail/test/mozmill/message-header/test-phishing-bar.js
mail/test/mozmill/message-header/test-reply-identity.js
mail/test/mozmill/message-header/test-return-receipt.js
mail/test/mozmill/message-reader/test-bug594646.js
mail/test/mozmill/message-window/test-eml-subject.js
mail/test/mozmill/migration-to-rdf-ui-5/test-migrate-to-rdf-ui-5.js
mail/test/mozmill/newmailaccount/test-newmailaccount.js
mail/test/mozmill/pref-window/test-font-chooser.js
mail/test/mozmill/quick-filter-bar/test-display-issues.js
mail/test/mozmill/quick-filter-bar/test-filter-logic.js
mail/test/mozmill/quick-filter-bar/test-keyboard-interface.js
mail/test/mozmill/quick-filter-bar/test-sticky-filter-logic.js
mail/test/mozmill/quick-filter-bar/test-toggle-bar.js
mail/test/mozmill/search-window/test-search-window.js
mail/test/mozmill/session-store/test-session-store.js
mail/test/mozmill/shared-modules/test-account-manager-helpers.js
mail/test/mozmill/shared-modules/test-address-book-helpers.js
mail/test/mozmill/shared-modules/test-attachment-helpers.js
mail/test/mozmill/shared-modules/test-cloudfile-backend-helpers.js
mail/test/mozmill/shared-modules/test-cloudfile-helpers.js
mail/test/mozmill/shared-modules/test-cloudfile-hightail-helpers.js
mail/test/mozmill/shared-modules/test-compose-helpers.js
mail/test/mozmill/shared-modules/test-content-tab-helpers.js
mail/test/mozmill/shared-modules/test-customization-helpers.js
mail/test/mozmill/shared-modules/test-dom-helpers.js
mail/test/mozmill/shared-modules/test-folder-display-helpers.js
mail/test/mozmill/shared-modules/test-junk-helpers.js
mail/test/mozmill/shared-modules/test-keyboard-helpers.js
mail/test/mozmill/shared-modules/test-message-helpers.js
mail/test/mozmill/shared-modules/test-mock-object-helpers.js
mail/test/mozmill/shared-modules/test-mouse-event-helpers.js
mail/test/mozmill/shared-modules/test-newmailaccount-helpers.js
mail/test/mozmill/shared-modules/test-nntp-helpers.js
mail/test/mozmill/shared-modules/test-notificationbox-helpers.js
mail/test/mozmill/shared-modules/test-observer-helpers.js
mail/test/mozmill/shared-modules/test-pref-window-helpers.js
mail/test/mozmill/shared-modules/test-prompt-helpers.js
mail/test/mozmill/shared-modules/test-quick-filter-bar-helper.js
mail/test/mozmill/shared-modules/test-search-window-helpers.js
mail/test/mozmill/shared-modules/test-subscribe-window-helper.js
mail/test/mozmill/shared-modules/test-window-helpers.js
mail/test/mozmill/subscribe/test-subscribe-news-filter.js
mail/test/mozmill/tabmail/test-tabmail-closing.js
mail/test/mozmill/tabmail/test-tabmail-dragndrop.js
mail/test/mozmill/utils/test-iteratorUtils.js
mail/test/resources/jsbridge/jsbridge/extension/components/cmdarg.js
mail/test/resources/jsbridge/jsbridge/extension/resource/modules/server.js
mail/test/resources/mozmill/mozmill/extension/resource/modules/init.js
mail/test/resources/mozmill/mozmill/extension/resource/modules/utils.js
mail/test/resources/mozmill/mozmill/extension/resource/stdlib/httpd.js
mail/test/resources/mozmill/test/test_staleelement.js
mail/test/resources/mozmill/test/test_waitForPageLoad.js
mailnews/addrbook/content/abAddressBookNameDialog.js
mailnews/addrbook/content/abResultsPane.js
mailnews/addrbook/prefs/content/pref-directory-add.js
mailnews/addrbook/src/nsAbAutoCompleteMyDomain.js
mailnews/addrbook/src/nsAbAutoCompleteSearch.js
mailnews/addrbook/src/nsAbLDAPAttributeMap.js
mailnews/addrbook/src/nsAbLDAPAutoCompleteSearch.js
mailnews/addrbook/test/unit/test_basic_nsIAbCard.js
mailnews/addrbook/test/unit/test_collection.js
mailnews/addrbook/test/unit/test_collection_2.js
mailnews/addrbook/test/unit/test_ldap1.js
mailnews/addrbook/test/unit/test_ldap2.js
mailnews/addrbook/test/unit/test_ldapOffline.js
mailnews/addrbook/test/unit/test_nsAbAutoCompleteMyDomain.js
mailnews/addrbook/test/unit/test_nsAbAutoCompleteSearch1.js
mailnews/addrbook/test/unit/test_nsAbAutoCompleteSearch2.js
mailnews/addrbook/test/unit/test_nsAbAutoCompleteSearch3.js
mailnews/addrbook/test/unit/test_nsAbAutoCompleteSearch4.js
mailnews/addrbook/test/unit/test_nsAbAutoCompleteSearch5.js
mailnews/addrbook/test/unit/test_nsAbAutoCompleteSearch6.js
mailnews/addrbook/test/unit/test_nsAbAutoCompleteSearch7.js
mailnews/addrbook/test/unit/test_nsAbManager1.js
mailnews/addrbook/test/unit/test_nsAbManager2.js
mailnews/base/content/markByDate.js
mailnews/base/content/msgPrintEngine.js
mailnews/base/content/newFolderDialog.js
mailnews/base/content/newmailalert.js
mailnews/base/content/virtualFolderProperties.js
mailnews/base/prefs/content/AccountWizard.js
mailnews/base/prefs/content/accountcreation/guessConfig.js
mailnews/base/prefs/content/smtpEditOverlay.js
mailnews/base/search/content/FilterEditor.js
mailnews/base/search/src/nsMsgTraitService.js
mailnews/base/src/folderLookupService.js
mailnews/base/src/msgAsyncPrompter.js
mailnews/base/src/msgOAuth2Module.js
mailnews/base/src/newMailNotificationService.js
mailnews/base/src/nsMailNewsCommandLineHandler.js
mailnews/base/src/virtualFolderWrapper.js
mailnews/base/test/unit/test_autoconfigFetchDisk.js
mailnews/base/test/unit/test_bug366491.js
mailnews/base/test/unit/test_bug404489.js
mailnews/base/test/unit/test_bug428427.js
mailnews/base/test/unit/test_bug465805.js
mailnews/base/test/unit/test_bug471682.js
mailnews/base/test/unit/test_compactColumnSave.js
mailnews/base/test/unit/test_copyChaining.js
mailnews/base/test/unit/test_copyThenMoveManual.js
mailnews/base/test/unit/test_emptyTrash.js
mailnews/base/test/unit/test_folderCompact.js
mailnews/base/test/unit/test_folderLookupService.js
mailnews/base/test/unit/test_formatFileSize.js
mailnews/base/test/unit/test_getMsgTextFromStream.js
mailnews/base/test/unit/test_imapPump.js
mailnews/base/test/unit/test_iteratorUtils.js
mailnews/base/test/unit/test_junkWhitelisting.js
mailnews/base/test/unit/test_junkingWhenDisabled.js
mailnews/base/test/unit/test_newMailNotification.js
mailnews/base/test/unit/test_nsIMsgFolderListener.js
mailnews/base/test/unit/test_nsIMsgFolderListenerLocal.js
mailnews/base/test/unit/test_nsMsgMailSession_Listeners.js
mailnews/base/test/unit/test_nsMsgTraitService.js
mailnews/base/test/unit/test_postPluginFilters.js
mailnews/base/test/unit/test_quarantineFilterMove.js
mailnews/base/test/unit/test_search.js
mailnews/base/test/unit/test_searchAddressInAb.js
mailnews/base/test/unit/test_searchBody.js
mailnews/base/test/unit/test_searchBoolean.js
mailnews/base/test/unit/test_searchCustomTerm.js
mailnews/base/test/unit/test_searchJunk.js
mailnews/base/test/unit/test_searchLocalizationStrings.js
mailnews/base/test/unit/test_searchTag.js
mailnews/base/test/unit/test_searchUint32HdrProperty.js
mailnews/base/test/unit/test_testsuite_fakeserverAuth.js
mailnews/base/test/unit/test_viewSortByAddresses.js
mailnews/base/util/IOUtils.js
mailnews/base/util/JXON.js
mailnews/base/util/OAuth2.jsm
mailnews/base/util/OAuth2Providers.jsm
mailnews/base/util/hostnameUtils.jsm
mailnews/base/util/iteratorUtils.jsm
mailnews/base/util/jsTreeSelection.js
mailnews/base/util/mailnewsMigrator.js
mailnews/base/util/msgDBCacheManager.js
mailnews/base/util/templateUtils.js
mailnews/base/util/traceHelper.js
mailnews/compose/src/nsSMTPProtocolHandler.js
mailnews/compose/test/unit/test_attachment.js
mailnews/compose/test/unit/test_attachment_intl.js
mailnews/compose/test/unit/test_bug155172.js
mailnews/compose/test/unit/test_bug235432.js
mailnews/compose/test/unit/test_bug474774.js
mailnews/compose/test/unit/test_expandMailingLists.js
mailnews/compose/test/unit/test_mailtoURL.js
mailnews/compose/test/unit/test_nsMsgCompose1.js
mailnews/compose/test/unit/test_nsMsgCompose2.js
mailnews/compose/test/unit/test_nsMsgCompose3.js
mailnews/compose/test/unit/test_nsMsgCompose4.js
mailnews/compose/test/unit/test_nsSmtpService1.js
mailnews/compose/test/unit/test_sendBackground.js
mailnews/compose/test/unit/test_sendMailAddressIDN.js
mailnews/compose/test/unit/test_sendMailMessage.js
mailnews/compose/test/unit/test_sendMessageFile.js
mailnews/compose/test/unit/test_sendMessageLater.js
mailnews/compose/test/unit/test_sendMessageLater2.js
mailnews/compose/test/unit/test_sendMessageLater3.js
mailnews/compose/test/unit/test_smtp8bitMime.js
mailnews/compose/test/unit/test_smtpAuthMethods.js
mailnews/compose/test/unit/test_smtpPassword.js
mailnews/compose/test/unit/test_smtpPassword2.js
mailnews/compose/test/unit/test_smtpPasswordFailure1.js
mailnews/compose/test/unit/test_smtpPasswordFailure2.js
mailnews/compose/test/unit/test_smtpPasswordFailure3.js
mailnews/compose/test/unit/test_smtpProtocols.js
mailnews/compose/test/unit/test_smtpURL.js
mailnews/compose/test/unit/test_splitRecipients.js
mailnews/db/gloda/components/glautocomp.js
mailnews/db/gloda/components/jsmimeemitter.js
mailnews/db/gloda/modules/collection.js
mailnews/db/gloda/modules/connotent.js
mailnews/db/gloda/modules/databind.js
mailnews/db/gloda/modules/datamodel.js
mailnews/db/gloda/modules/datastore.js
mailnews/db/gloda/modules/dbview.js
mailnews/db/gloda/modules/everybody.js
mailnews/db/gloda/modules/explattr.js
mailnews/db/gloda/modules/facet.js
mailnews/db/gloda/modules/fundattr.js
mailnews/db/gloda/modules/gloda.js
mailnews/db/gloda/modules/index_ab.js
mailnews/db/gloda/modules/index_msg.js
mailnews/db/gloda/modules/indexer.js
mailnews/db/gloda/modules/log4moz.js
mailnews/db/gloda/modules/mimemsg.js
mailnews/db/gloda/modules/msg_search.js
mailnews/db/gloda/modules/noun_freetag.js
mailnews/db/gloda/modules/noun_mimetype.js
mailnews/db/gloda/modules/noun_tag.js
mailnews/db/gloda/modules/public.js
mailnews/db/gloda/modules/query.js
mailnews/db/gloda/modules/utils.js
mailnews/db/gloda/test/unit/base_index_junk.js
mailnews/db/gloda/test/unit/base_query_messages.js
mailnews/db/gloda/test/unit/resources/glodaTestHelper.js
mailnews/db/gloda/test/unit/test_corrupt_database.js
mailnews/db/gloda/test/unit/test_index_addressbook.js
mailnews/db/gloda/test/unit/test_index_bad_messages.js
mailnews/db/gloda/test/unit/test_index_sweep_folder.js
mailnews/db/gloda/test/unit/test_mime_attachments_size.js
mailnews/db/gloda/test/unit/test_mime_emitter.js
mailnews/db/gloda/test/unit/test_query_core.js
mailnews/db/gloda/test/unit/test_smime_mimemsg_representation.js
mailnews/db/msgdb/test/unit/test_enumerator_cleanup.js
mailnews/db/msgdb/test/unit/test_filter_enumerator.js
mailnews/db/msgdb/test/unit/test_maildb.js
mailnews/db/msgdb/test/unit/test_references_parsing.js
mailnews/extensions/bayesian-spam-filter/test/unit/test_bug228675.js
mailnews/extensions/bayesian-spam-filter/test/unit/test_customTokenization.js
mailnews/extensions/bayesian-spam-filter/test/unit/test_junkAsTraits.js
mailnews/extensions/bayesian-spam-filter/test/unit/test_traitAliases.js
mailnews/extensions/bayesian-spam-filter/test/unit/test_traits.js
mailnews/extensions/dsn/src/dsn-service.js
mailnews/extensions/mdn/src/mdn-service.js
mailnews/extensions/offline-startup/js/offlineStartup.js
mailnews/extensions/smime/content/am-smime.js
mailnews/extensions/smime/content/certFetchingStatus.js
mailnews/extensions/smime/content/msgCompSMIMEOverlay.js
mailnews/extensions/smime/content/msgCompSecurityInfo.js
mailnews/extensions/smime/content/msgHdrViewSMIMEOverlay.js
mailnews/extensions/smime/content/msgReadSecurityInfo.js
mailnews/extensions/smime/src/smime-service.js
mailnews/imap/test/unit/test_bccProperty.js
mailnews/imap/test/unit/test_bug460636.js
mailnews/imap/test/unit/test_chunkLastLF.js
mailnews/imap/test/unit/test_compactOfflineStore.js
mailnews/imap/test/unit/test_customCommandReturnsFetchResponse.js
mailnews/imap/test/unit/test_downloadOffline.js
mailnews/imap/test/unit/test_fetchCustomAttribute.js
mailnews/imap/test/unit/test_filterNeedsBody.js
mailnews/imap/test/unit/test_gmailAttributes.js
mailnews/imap/test/unit/test_gmailOfflineMsgStore.js
mailnews/imap/test/unit/test_imapAttachmentSaves.js
mailnews/imap/test/unit/test_imapAutoSync.js
mailnews/imap/test/unit/test_imapChunks.js
mailnews/imap/test/unit/test_imapContentLength.js
mailnews/imap/test/unit/test_imapFilterActions.js
mailnews/imap/test/unit/test_imapFilterActionsPostplugin.js
mailnews/imap/test/unit/test_imapHdrChunking.js
mailnews/imap/test/unit/test_imapHdrStreaming.js
mailnews/imap/test/unit/test_imapID.js
mailnews/imap/test/unit/test_imapPasswordFailure.js
mailnews/imap/test/unit/test_imapProtocols.js
mailnews/imap/test/unit/test_imapSearch.js
mailnews/imap/test/unit/test_imapStoreMsgOffline.js
mailnews/imap/test/unit/test_imapUndo.js
mailnews/imap/test/unit/test_localToImapFilter.js
mailnews/imap/test/unit/test_localToImapFilterQuarantine.js
mailnews/imap/test/unit/test_nsIMsgFolderListenerIMAP.js
mailnews/imap/test/unit/test_offlineCopy.js
mailnews/imap/test/unit/test_offlinePlayback.js
mailnews/imap/test/unit/test_preserveDataOnMove.js
mailnews/imap/test/unit/test_subfolderLocation.js
mailnews/imap/test/unit/test_trustSpamAssassin.js
mailnews/import/content/importDialog.js
mailnews/import/test/unit/resources/TestMailImporter.js
mailnews/intl/test/unit/CharsetConversionTests.js
mailnews/intl/test/unit/test_decode_utf-7.js
mailnews/intl/test/unit/test_decode_utf-7_internal.js
mailnews/intl/test/unit/test_encode_utf-7.js
mailnews/intl/test/unit/test_encode_utf-7_internal.js
mailnews/local/test/unit/test_mailboxProtocol.js
mailnews/local/test/unit/test_msgCopy.js
mailnews/local/test/unit/test_nsIMsgParseMailMsgState.js
mailnews/local/test/unit/test_over2GBMailboxes.js
mailnews/local/test/unit/test_over4GBMailboxes.js
mailnews/local/test/unit/test_pop3FilterActions.js
mailnews/local/test/unit/test_pop3MoveFilter.js
mailnews/local/test/unit/test_pop3MoveFilter2.js
mailnews/local/test/unit/test_pop3Password3.js
mailnews/local/test/unit/test_pop3PasswordFailure.js
mailnews/local/test/unit/test_pop3PasswordFailure2.js
mailnews/local/test/unit/test_pop3PasswordFailure3.js
mailnews/local/test/unit/test_pop3ServerBrokenCRAMDisconnect.js
mailnews/local/test/unit/test_pop3ServerBrokenCRAMFail.js
mailnews/local/test/unit/test_preview.js
mailnews/local/test/unit/test_saveMessage.js
mailnews/local/test/unit/test_undoDelete.js
mailnews/local/test/unit/test_verifyLogon.js
mailnews/mime/jsmime/jsmime.js
mailnews/mime/src/jsmime.jsm
mailnews/mime/src/mimeParser.jsm
mailnews/mime/test/unit/test_alternate_p7m_handling.js
mailnews/mime/test/unit/test_attachment_size.js
mailnews/mime/test/unit/test_badContentType.js
mailnews/mime/test/unit/test_hidden_attachments.js
mailnews/mime/test/unit/test_message_attachment.js
mailnews/mime/test/unit/test_parser.js
mailnews/mime/test/unit/test_rfc822_body.js
mailnews/mime/test/unit/test_text_attachment.js
mailnews/news/src/nsNewsAutoCompleteSearch.js
mailnews/news/test/unit/head_server_setup.js
mailnews/news/test/unit/test_newsAutocomplete.js
mailnews/news/test/unit/test_nntpPassword3.js
mailnews/news/test/unit/test_nntpPasswordFailure.js
mailnews/news/test/unit/test_nntpProtocols.js
mailnews/test/fakeserver/auth.js
mailnews/test/fakeserver/imapd.js
mailnews/test/fakeserver/maild.js
mailnews/test/fakeserver/nntpd.js
mailnews/test/fakeserver/pop3d.js
mailnews/test/fakeserver/smtpd.js
mailnews/test/resources/MockFactory.js
mailnews/test/resources/PromiseTestUtils.jsm
mailnews/test/resources/abSetup.js
mailnews/test/resources/asyncTestUtils.js
mailnews/test/resources/logHelper.js
mailnews/test/resources/messageGenerator.js
mailnews/test/resources/messageInjection.js
mailnews/test/resources/msgFolderListenerSetup.js
--- a/calendar/base/backend/calBackendLoader.js
+++ b/calendar/base/backend/calBackendLoader.js
@@ -9,18 +9,18 @@ function calBackendLoader() {
     this.wrappedJSObject = this;
     try {
         this.loadBackend();
     } catch (e) {
         dump("### Error loading backend: " + e + "\n");
     }
 }
 
-const calBackendLoaderClassID = Components.ID("{0314c271-7168-40fa-802e-83c8c46a557e}");
-const calBackendLoaderInterfaces = [Components.interfaces.nsIObserver];
+var calBackendLoaderClassID = Components.ID("{0314c271-7168-40fa-802e-83c8c46a557e}");
+var calBackendLoaderInterfaces = [Components.interfaces.nsIObserver];
 calBackendLoader.prototype = {
     classID: calBackendLoaderClassID,
     QueryInterface: XPCOMUtils.generateQI(calBackendLoaderInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calBackendLoaderClassID,
         contractID: "@mozilla.org/calendar/backend-loader;1",
         classDescription: "Calendar Backend Loader",
         interfaces: calBackendLoaderInterfaces,
--- a/calendar/base/backend/icaljs/calDateTime.js
+++ b/calendar/base/backend/icaljs/calDateTime.js
@@ -1,25 +1,25 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://calendar/modules/ical.js");
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
-const UNIX_TIME_TO_PRTIME = 1000000;
+var UNIX_TIME_TO_PRTIME = 1000000;
 
 function calDateTime(innerObject) {
     this.wrappedJSObject = this;
     this.innerObject = innerObject || ICAL.Time.epochTime.clone();
 }
 
-const calDateTimeInterfaces = [Components.interfaces.calIDateTime];
-const calDateTimeClassID = Components.ID("{36783242-ec94-4d8a-9248-d2679edd55b9}");
+var calDateTimeInterfaces = [Components.interfaces.calIDateTime];
+var calDateTimeClassID = Components.ID("{36783242-ec94-4d8a-9248-d2679edd55b9}");
 calDateTime.prototype = {
     QueryInterface: XPCOMUtils.generateQI(calDateTimeInterfaces),
     classID: calDateTimeClassID,
     classInfo: XPCOMUtils.generateCI({
         contractID: "@mozilla.org/calendar/datetime;1",
         classDescription: "Describes a Date/Time Object",
         classID: calDateTimeClassID,
         interfaces: calDateTimeInterfaces
--- a/calendar/base/backend/icaljs/calDuration.js
+++ b/calendar/base/backend/icaljs/calDuration.js
@@ -5,18 +5,18 @@
 Components.utils.import("resource://calendar/modules/ical.js");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 function calDuration(innerObject) {
     this.innerObject = innerObject || new ICAL.Duration();
     this.wrappedJSObject = this;
 }
 
-const calDurationInterfaces = [Components.interfaces.calIDuration];
-const calDurationClassID = Components.ID("{7436f480-c6fc-4085-9655-330b1ee22288}");
+var calDurationInterfaces = [Components.interfaces.calIDuration];
+var calDurationClassID = Components.ID("{7436f480-c6fc-4085-9655-330b1ee22288}");
 calDuration.prototype = {
     QueryInterface: XPCOMUtils.generateQI(calDurationInterfaces),
     classID: calDurationClassID,
     classInfo: XPCOMUtils.generateCI({
         contractID: "@mozilla.org/calendar/duration;1",
         classDescription: "Calendar Duration Object",
         classID: calDurationClassID,
         interfaces: calDurationInterfaces
--- a/calendar/base/backend/icaljs/calICALJSComponents.js
+++ b/calendar/base/backend/icaljs/calICALJSComponents.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 
-const scriptLoadOrder = [
+var scriptLoadOrder = [
     "calTimezone.js",
     "calDateTime.js",
     "calDuration.js",
     "calICSService.js",
     "calPeriod.js",
     "calRecurrenceRule.js",
 ];
 
--- a/calendar/base/backend/icaljs/calICSService-worker.js
+++ b/calendar/base/backend/icaljs/calICSService-worker.js
@@ -1,19 +1,19 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /**
  * ChromeWorker for parseICSAsync method in calICSService.js
  */
 
-const NS_OK = 0;
-const NS_ERROR_FAILURE = 2147500037;
-const ICS_ERROR_BASE = 2152333568;
+var NS_OK = 0;
+var NS_ERROR_FAILURE = 2147500037;
+var ICS_ERROR_BASE = 2152333568;
 
 importScripts("resource://calendar/modules/ical.js");
 
 onmessage = function onmessage(event) {
     try {
         let comp = ICAL.parse(event.data);
         postMessage({ rc: NS_OK, data: comp });
     } catch (e) {
--- a/calendar/base/backend/icaljs/calICSService.js
+++ b/calendar/base/backend/icaljs/calICSService.js
@@ -6,18 +6,18 @@ Components.utils.import("resource://cale
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 
 function calIcalProperty(innerObject) {
     this.innerObject = innerObject || new ICAL.Property();
     this.wrappedJSObject = this;
 }
 
-const calIcalPropertyInterfaces = [Components.interfaces.calIIcalProperty];
-const calIcalPropertyClassID = Components.ID("{423ac3f0-f612-48b3-953f-47f7f8fd705b}");
+var calIcalPropertyInterfaces = [Components.interfaces.calIIcalProperty];
+var calIcalPropertyClassID = Components.ID("{423ac3f0-f612-48b3-953f-47f7f8fd705b}");
 calIcalProperty.prototype = {
     QueryInterface: XPCOMUtils.generateQI(calIcalPropertyInterfaces),
     classID: calIcalPropertyClassID,
     classInfo: XPCOMUtils.generateCI({
         contractID: "@mozilla.org/calendar/ical-property;1",
         classDescription: "Wrapper for a libical property",
         classID: calIcalPropertyClassID,
         interfaces: calIcalPropertyInterfaces
@@ -201,18 +201,18 @@ calIcalProperty.prototype = {
 };
 
 function calIcalComponent(innerObject) {
     this.innerObject = innerObject || new ICAL.Component();
     this.wrappedJSObject = this;
     this.mReferencedZones = {};
 }
 
-const calIcalComponentInterfaces = [Components.interfaces.calIIcalComponent];
-const calIcalComponentClassID = Components.ID("{51ac96fd-1279-4439-a85b-6947b37f4cea}");
+var calIcalComponentInterfaces = [Components.interfaces.calIIcalComponent];
+var calIcalComponentClassID = Components.ID("{51ac96fd-1279-4439-a85b-6947b37f4cea}");
 calIcalComponent.prototype = {
     QueryInterface: XPCOMUtils.generateQI(calIcalComponentInterfaces),
     classID: calIcalComponentClassID,
     classInfo: XPCOMUtils.generateCI({
         contractID: "@mozilla.org/calendar/ical-component;1",
         classDescription: "Wrapper for a icaljs component",
         classID: calIcalComponentClassID,
         interfaces: calIcalComponentInterfaces
@@ -435,18 +435,18 @@ calIcalComponent.prototype = {
         return unicodeConverter.convertToInputStream(this.innerObject.toString());
     }
 };
 
 function calICSService() {
     this.wrappedJSObject = this;
 }
 
-const calICSServiceInterfaces = [Components.interfaces.calIICSService];
-const calICSServiceClassID = Components.ID("{c61cb903-4408-41b3-bc22-da0b27efdfe1}");
+var calICSServiceInterfaces = [Components.interfaces.calIICSService];
+var calICSServiceClassID = Components.ID("{c61cb903-4408-41b3-bc22-da0b27efdfe1}");
 calICSService.prototype = {
     QueryInterface: XPCOMUtils.generateQI(calICSServiceInterfaces),
     classID: calICSServiceClassID,
     classInfo: XPCOMUtils.generateCI({
         contractID: "@mozilla.org/calendar/ics-service;1",
         classDescription: "ICS component and property service",
         classID: calICSServiceClassID,
         interfaces: [Components.interfaces.calIICSService]
--- a/calendar/base/backend/icaljs/calPeriod.js
+++ b/calendar/base/backend/icaljs/calPeriod.js
@@ -5,18 +5,18 @@
 Components.utils.import("resource://calendar/modules/ical.js");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 function calPeriod(innerObject) {
     this.innerObject = innerObject || new ICAL.Period({});
     this.wrappedJSObject = this;
 }
 
-const calPeriodInterfaces = [Components.interfaces.calIPeriod];
-const calPeriodClassID = Components.ID("{394a281f-7299-45f7-8b1f-cce21258972f}");
+var calPeriodInterfaces = [Components.interfaces.calIPeriod];
+var calPeriodClassID = Components.ID("{394a281f-7299-45f7-8b1f-cce21258972f}");
 calPeriod.prototype = {
     QueryInterface: XPCOMUtils.generateQI(calPeriodInterfaces),
     classID: calPeriodClassID,
     classInfo: XPCOMUtils.generateCI({
         contractID: "@mozilla.org/calendar/period;1",
         classDescription: "A period between two dates",
         classID: calPeriodClassID,
         interfaces: calPeriodInterfaces
--- a/calendar/base/backend/icaljs/calRecurrenceRule.js
+++ b/calendar/base/backend/icaljs/calRecurrenceRule.js
@@ -6,18 +6,18 @@ Components.utils.import("resource://cale
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 function calRecurrenceRule(innerObject) {
     this.innerObject = innerObject || new ICAL.Recur();
     this.wrappedJSObject = this;
 }
 
-const calRecurrenceRuleInterfaces = [Components.interfaces.calIRecurrenceRule];
-const calRecurrenceRuleClassID = Components.ID("{df19281a-5389-4146-b941-798cb93a7f0d}");
+var calRecurrenceRuleInterfaces = [Components.interfaces.calIRecurrenceRule];
+var calRecurrenceRuleClassID = Components.ID("{df19281a-5389-4146-b941-798cb93a7f0d}");
 calRecurrenceRule.prototype = {
     QueryInterface: XPCOMUtils.generateQI(calRecurrenceRuleInterfaces),
     classID: calRecurrenceRuleClassID,
     classInfo: XPCOMUtils.generateCI({
         contractID: "@mozilla.org/calendar/recurrence-rule;1",
         classDescription: "Calendar Recurrence Rule",
         classID: calRecurrenceRuleClassID,
         interfaces: calRecurrenceRuleInterfaces
--- a/calendar/base/content/dialogs/calendar-migration-dialog.js
+++ b/calendar/base/content/dialogs/calendar-migration-dialog.js
@@ -1,14 +1,14 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const SUNBIRD_UID = "{718e30fb-e89b-41dd-9da7-e25a45638b28}";
-const FIREFOX_UID = "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}";
+var SUNBIRD_UID = "{718e30fb-e89b-41dd-9da7-e25a45638b28}";
+var FIREFOX_UID = "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}";
 
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://gre/modules/Services.jsm");
 Components.utils.import("resource://gre/modules/Preferences.jsm");
 
 //
 // The front-end wizard bits.
 //
--- a/calendar/base/content/import-export.js
+++ b/calendar/base/content/import-export.js
@@ -1,23 +1,23 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 // File constants copied from file-utils.js
-const MODE_RDONLY   = 0x01;
-const MODE_WRONLY   = 0x02;
-const MODE_RDWR     = 0x04;
-const MODE_CREATE   = 0x08;
-const MODE_APPEND   = 0x10;
-const MODE_TRUNCATE = 0x20;
-const MODE_SYNC     = 0x40;
-const MODE_EXCL     = 0x80;
+var MODE_RDONLY   = 0x01;
+var MODE_WRONLY   = 0x02;
+var MODE_RDWR     = 0x04;
+var MODE_CREATE   = 0x08;
+var MODE_APPEND   = 0x10;
+var MODE_TRUNCATE = 0x20;
+var MODE_SYNC     = 0x40;
+var MODE_EXCL     = 0x80;
 
 /**
  * Shows a file dialog, reads the selected file(s) and tries to parse events from it.
  *
  * @param aCalendar  (optional) If specified, the items will be imported directly
  *                              into the calendar
  */
 function loadEventsFromFile(aCalendar) {
--- a/calendar/base/modules/calAsyncUtils.jsm
+++ b/calendar/base/modules/calAsyncUtils.jsm
@@ -7,20 +7,20 @@ Components.utils.import("resource://gre/
 Components.utils.import("resource://gre/modules/PromiseUtils.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 /*
  * Asynchronous tools for handling calendar operations.
  */
 
 this.EXPORTED_SYMBOLS = ["cal"]; // even though it's defined in calUtils.jsm, import needs this
-const cIOL = Components.interfaces.calIOperationListener;
-const cIC = Components.interfaces.calICalendar;
+var cIOL = Components.interfaces.calIOperationListener;
+var cIC = Components.interfaces.calICalendar;
 
-const promisifyProxyHandler = {
+var promisifyProxyHandler = {
     promiseOperation: function(target, name, args) {
         let deferred = PromiseUtils.defer();
         let listener = cal.async.promiseOperationListener(deferred);
         args.push(listener);
         target[name].apply(target, args);
         return deferred.promise;
     },
     get: function(target, name) {
--- a/calendar/base/src/calAlarm.js
+++ b/calendar/base/src/calAlarm.js
@@ -1,30 +1,30 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://gre/modules/PluralForm.jsm");
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
-const ALARM_RELATED_ABSOLUTE = Components.interfaces.calIAlarm.ALARM_RELATED_ABSOLUTE;
-const ALARM_RELATED_START = Components.interfaces.calIAlarm.ALARM_RELATED_START;
-const ALARM_RELATED_END = Components.interfaces.calIAlarm.ALARM_RELATED_END;
+var ALARM_RELATED_ABSOLUTE = Components.interfaces.calIAlarm.ALARM_RELATED_ABSOLUTE;
+var ALARM_RELATED_START = Components.interfaces.calIAlarm.ALARM_RELATED_START;
+var ALARM_RELATED_END = Components.interfaces.calIAlarm.ALARM_RELATED_END;
 
 function calAlarm() {
     this.wrappedJSObject = this;
     this.mProperties = new calPropertyBag();
     this.mPropertyParams = {};
     this.mAttendees = [];
     this.mAttachments = [];
 }
 
-const calAlarmClassID = Components.ID("{b8db7c7f-c168-4e11-becb-f26c1c4f5f8f}");
-const calAlarmInterfaces = [Components.interfaces.calIAlarm];
+var calAlarmClassID = Components.ID("{b8db7c7f-c168-4e11-becb-f26c1c4f5f8f}");
+var calAlarmInterfaces = [Components.interfaces.calIAlarm];
 calAlarm.prototype = {
 
     mProperties: null,
     mPropertyParams: null,
     mAction: null,
     mAbsoluteDate: null,
     mOffset: null,
     mDuration: null,
--- a/calendar/base/src/calAlarmMonitor.js
+++ b/calendar/base/src/calAlarmMonitor.js
@@ -19,18 +19,18 @@ function peekAlarmWindow() {
 function calAlarmMonitor() {
     this.wrappedJSObject = this;
     this.mAlarms = [];
 
     this.mSound = Components.classes["@mozilla.org/sound;1"]
                             .createInstance(Components.interfaces.nsISound);
 }
 
-const calAlarmMonitorClassID = Components.ID("{4b7ae030-ed79-11d9-8cd6-0800200c9a66}");
-const calAlarmMonitorInterfaces = [
+var calAlarmMonitorClassID = Components.ID("{4b7ae030-ed79-11d9-8cd6-0800200c9a66}");
+var calAlarmMonitorInterfaces = [
     Components.interfaces.nsIObserver,
     Components.interfaces.calIAlarmServiceObserver
 ];
 calAlarmMonitor.prototype = {
     mAlarms: null,
 
     // This is a work-around for the fact that there is a delay between when
     // we call openWindow and when it appears via getMostRecentWindow.  If an
--- a/calendar/base/src/calAlarmService.js
+++ b/calendar/base/src/calAlarmService.js
@@ -5,19 +5,19 @@
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://calendar/modules/calAlarmUtils.jsm");
 Components.utils.import("resource://gre/modules/Services.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 Components.utils.import("resource://gre/modules/Preferences.jsm");
 Components.utils.import("resource://gre/modules/Promise.jsm");
 Components.utils.import("resource://gre/modules/PromiseUtils.jsm");
 
-const kHoursBetweenUpdates = 6;
-const kSleepMonitorInterval = 60000;
-const kSleepMonitorTolerance = 1000;
+var kHoursBetweenUpdates = 6;
+var kSleepMonitorInterval = 60000;
+var kSleepMonitorTolerance = 1000;
 
 function nowUTC() {
     return cal.jsDateToDateTime(new Date()).getInTimezone(cal.UTC());
 }
 
 function newTimerWithCallback(aCallback, aDelay, aRepeating) {
     let timer = Components.classes["@mozilla.org/timer;1"]
                           .createInstance(Components.interfaces.nsITimer);
@@ -96,18 +96,18 @@ function calAlarmService() {
             // there may still be dangling items (-> alarm dialog),
             // dismissing those alarms may write data...
             this.alarmService.unobserveCalendar(aCalendar);
         },
         onCalendarDeleting: function(aCalendar) {}
     };
 }
 
-const calAlarmServiceClassID = Components.ID("{7a9200dd-6a64-4fff-a798-c5802186e2cc}");
-const calAlarmServiceInterfaces = [
+var calAlarmServiceClassID = Components.ID("{7a9200dd-6a64-4fff-a798-c5802186e2cc}");
+var calAlarmServiceInterfaces = [
     Components.interfaces.calIAlarmService,
     Components.interfaces.nsIObserver
 ];
 calAlarmService.prototype = {
     mRangeStart: null,
     mRangeEnd: null,
     mUpdateTimer: null,
     mStarted: false,
--- a/calendar/base/src/calAttachment.js
+++ b/calendar/base/src/calAttachment.js
@@ -9,18 +9,18 @@ Components.utils.import("resource://gre/
 //
 // calAttachment.js
 //
 function calAttachment() {
     this.wrappedJSObject = this;
     this.mProperties = new cal.calPropertyBag();
 }
 
-const calAttachmentClassID = Components.ID("{5f76b352-ab75-4c2b-82c9-9206dbbf8571}");
-const calAttachmentInterfaces = [Components.interfaces.calIAttachment];
+var calAttachmentClassID = Components.ID("{5f76b352-ab75-4c2b-82c9-9206dbbf8571}");
+var calAttachmentInterfaces = [Components.interfaces.calIAttachment];
 calAttachment.prototype = {
     mData: null,
     mHashId: null,
 
     classID: calAttachmentClassID,
     QueryInterface: XPCOMUtils.generateQI(calAttachmentInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calAttachmentClassID,
--- a/calendar/base/src/calAttendee.js
+++ b/calendar/base/src/calAttendee.js
@@ -6,18 +6,18 @@ Components.utils.import("resource://cale
 Components.utils.import("resource://calendar/modules/calIteratorUtils.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 function calAttendee() {
     this.wrappedJSObject = this;
     this.mProperties = new calPropertyBag();
 }
 
-const calAttendeeClassID = Components.ID("{5c8dcaa3-170c-4a73-8142-d531156f664d}");
-const calAttendeeInterfaces = [Components.interfaces.calIAttendee];
+var calAttendeeClassID = Components.ID("{5c8dcaa3-170c-4a73-8142-d531156f664d}");
+var calAttendeeInterfaces = [Components.interfaces.calIAttendee];
 calAttendee.prototype = {
     classID: calAttendeeClassID,
     QueryInterface: XPCOMUtils.generateQI(calAttendeeInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calAttendeeClassID,
         contractID: "@mozilla.org/calendar/attendee;1",
         classDescription: "Calendar Attendee",
         interfaces: calAttendeeInterfaces
--- a/calendar/base/src/calCachedCalendar.js
+++ b/calendar/base/src/calCachedCalendar.js
@@ -2,19 +2,19 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://calendar/modules/calProviderUtils.jsm");
 Components.utils.import("resource://gre/modules/Services.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 Components.utils.import("resource://gre/modules/Preferences.jsm");
 
-const calICalendar = Components.interfaces.calICalendar;
-const cICL = Components.interfaces.calIChangeLog;
-const cIOL = Components.interfaces.calIOperationListener;
+var calICalendar = Components.interfaces.calICalendar;
+var cICL = Components.interfaces.calIChangeLog;
+var cIOL = Components.interfaces.calIOperationListener;
 
 var gNoOpListener = {
     QueryInterface: XPCOMUtils.generateQI([Components.interfaces.calIOperationListener]),
     onGetResult: function(calendar, status, itemType, detail, count, items) {
     },
 
     onOperationComplete: function(calendar, status, opType, id, detail) {
     }
--- a/calendar/base/src/calCalendarManager.js
+++ b/calendar/base/src/calCalendarManager.js
@@ -3,29 +3,29 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://gre/modules/AddonManager.jsm");
 Components.utils.import("resource://gre/modules/Services.jsm");
 Components.utils.import("resource://gre/modules/Preferences.jsm");
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://calendar/modules/calProviderUtils.jsm");
 
-const REGISTRY_BRANCH = "calendar.registry.";
-const DB_SCHEMA_VERSION = 10;
-const MAX_INT = Math.pow(2, 31) - 1;
-const MIN_INT = -MAX_INT;
+var REGISTRY_BRANCH = "calendar.registry.";
+var DB_SCHEMA_VERSION = 10;
+var MAX_INT = Math.pow(2, 31) - 1;
+var MIN_INT = -MAX_INT;
 
 function calCalendarManager() {
     this.wrappedJSObject = this;
     this.mObservers = new calListenerBag(Components.interfaces.calICalendarManagerObserver);
     this.mCalendarObservers = new calListenerBag(Components.interfaces.calIObserver);
 }
 
-const calCalendarManagerClassID = Components.ID("{f42585e7-e736-4600-985d-9624c1c51992}");
-const calCalendarManagerInterfaces = [
+var calCalendarManagerClassID = Components.ID("{f42585e7-e736-4600-985d-9624c1c51992}");
+var calCalendarManagerInterfaces = [
     Components.interfaces.calICalendarManager,
     Components.interfaces.calIStartupService,
     Components.interfaces.nsIObserver,
 ];
 calCalendarManager.prototype = {
     classID: calCalendarManagerClassID,
     QueryInterface: XPCOMUtils.generateQI(calCalendarManagerInterfaces),
     classInfo: XPCOMUtils.generateCI({
--- a/calendar/base/src/calCalendarSearchService.js
+++ b/calendar/base/src/calCalendarSearchService.js
@@ -43,18 +43,18 @@ calCalendarSearchListener.prototype = {
         }
     }
 };
 
 function calCalendarSearchService() {
     this.wrappedJSObject = this;
     this.mProviders = new calInterfaceBag(Components.interfaces.calICalendarSearchProvider);
 }
-const calCalendarSearchServiceClassID = Components.ID("{f5f743cd-8997-428e-bc1b-644e73f61203}");
-const calCalendarSearchServiceInterfaces = [
+var calCalendarSearchServiceClassID = Components.ID("{f5f743cd-8997-428e-bc1b-644e73f61203}");
+var calCalendarSearchServiceInterfaces = [
     Components.interfaces.calICalendarSearchProvider,
     Components.interfaces.calICalendarSearchService
 ];
 calCalendarSearchService.prototype = {
     mProviders: null,
 
     classID: calCalendarSearchServiceClassID,
     QueryInterface: XPCOMUtils.generateQI(calCalendarSearchServiceInterfaces),
--- a/calendar/base/src/calDateTimeFormatter.js
+++ b/calendar/base/src/calDateTimeFormatter.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://gre/modules/Services.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 Components.utils.import("resource://gre/modules/Preferences.jsm");
 
-const nsIScriptableDateFormat = Components.interfaces.nsIScriptableDateFormat;
+var nsIScriptableDateFormat = Components.interfaces.nsIScriptableDateFormat;
 
 function calDateTimeFormatter() {
     this.wrappedJSObject = this;
     this.mDateStringBundle = Services.strings.createBundle("chrome://calendar/locale/dateFormat.properties");
 
     this.mDateService =
         Components.classes["@mozilla.org/intl/scriptabledateformat;1"]
                   .getService(nsIScriptableDateFormat);
@@ -60,18 +60,18 @@ function calDateTimeFormatter() {
         if (longProbeString == null ||
             longProbeString.length < 4 ||
             longProbeString == probeStringA)
            this.mUseLongDateService = false;
     } catch (e) {
         this.mUseLongDateService = false;
     }
 }
-const calDateTimeFormatterClassID = Components.ID("{4123da9a-f047-42da-a7d0-cc4175b9f36a}");
-const calDateTimeFormatterInterfaces = [Components.interfaces.calIDateTimeFormatter];
+var calDateTimeFormatterClassID = Components.ID("{4123da9a-f047-42da-a7d0-cc4175b9f36a}");
+var calDateTimeFormatterInterfaces = [Components.interfaces.calIDateTimeFormatter];
 calDateTimeFormatter.prototype = {
     classID: calDateTimeFormatterClassID,
     QueryInterface: XPCOMUtils.generateQI(calDateTimeFormatterInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calDateTimeFormatterClassID,
         contractID: "@mozilla.org/calendar/datetime-formatter;1",
         classDescription: "Formats Dates and Times",
         interfaces: calDateTimeFormatterInterfaces,
--- a/calendar/base/src/calDefaultACLManager.js
+++ b/calendar/base/src/calDefaultACLManager.js
@@ -7,18 +7,18 @@ Components.utils.import("resource://gre/
 
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 
 /* calDefaultACLManager */
 function calDefaultACLManager() {
     this.mCalendarEntries = {};
 }
 
-const calDefaultACLManagerClassID = Components.ID("{7463258c-6ef3-40a2-89a9-bb349596e927}");
-const calDefaultACLManagerInterfaces = [Components.interfaces.calICalendarACLManager];
+var calDefaultACLManagerClassID = Components.ID("{7463258c-6ef3-40a2-89a9-bb349596e927}");
+var calDefaultACLManagerInterfaces = [Components.interfaces.calICalendarACLManager];
 calDefaultACLManager.prototype = {
     mCalendarEntries: null,
 
     /* nsISupports, nsIClassInfo */
     classID: calDefaultACLManagerClassID,
     QueryInterface: XPCOMUtils.generateQI(calDefaultACLManagerInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calDefaultACLManagerClassID,
--- a/calendar/base/src/calDeletedItems.js
+++ b/calendar/base/src/calDeletedItems.js
@@ -18,18 +18,18 @@ function calDeletedItems() {
 
     this.completedNotifier = {
       handleResult: function() {},
       handleError: function() {},
       handleCompletion: function() {},
     };
 }
 
-const calDeletedItemsClassID = Components.ID("{8e6799af-e7e9-4e6c-9a82-a2413e86d8c3}");
-const calDeletedItemsInterfaces = [
+var calDeletedItemsClassID = Components.ID("{8e6799af-e7e9-4e6c-9a82-a2413e86d8c3}");
+var calDeletedItemsInterfaces = [
     Components.interfaces.calIDeletedItems,
     Components.interfaces.nsIObserver,
     Components.interfaces.calIObserver
 ];
 calDeletedItems.prototype = {
 
     classID: calDeletedItemsClassID,
     QueryInterface: XPCOMUtils.generateQI(calDeletedItemsInterfaces),
--- a/calendar/base/src/calEvent.js
+++ b/calendar/base/src/calEvent.js
@@ -12,18 +12,18 @@ function calEvent() {
     this.initItemBase();
 
     this.eventPromotedProps = {
         "DTSTART": true,
         "DTEND": true,
         __proto__: this.itemBasePromotedProps
     }
 }
-const calEventClassID = Components.ID("{974339d5-ab86-4491-aaaf-2b2ca177c12b}");
-const calEventInterfaces = [
+var calEventClassID = Components.ID("{974339d5-ab86-4491-aaaf-2b2ca177c12b}");
+var calEventInterfaces = [
     Components.interfaces.calIItemBase,
     Components.interfaces.calIEvent,
     Components.interfaces.calIInternalShallowCopy
 ];
 calEvent.prototype = {
     __proto__: calItemBase.prototype,
 
     classID: calEventClassID,
--- a/calendar/base/src/calFreeBusyService.js
+++ b/calendar/base/src/calFreeBusyService.js
@@ -50,18 +50,18 @@ calFreeBusyListener.prototype = {
         }
     }
 };
 
 function calFreeBusyService() {
     this.wrappedJSObject = this;
     this.mProviders = new calInterfaceBag(Components.interfaces.calIFreeBusyProvider);
 }
-const calFreeBusyServiceClassID = Components.ID("{29c56cd5-d36e-453a-acde-0083bd4fe6d3}");
-const calFreeBusyServiceInterfaces = [
+var calFreeBusyServiceClassID = Components.ID("{29c56cd5-d36e-453a-acde-0083bd4fe6d3}");
+var calFreeBusyServiceInterfaces = [
     Components.interfaces.calIFreeBusyProvider,
     Components.interfaces.calIFreeBusyService
 ];
 calFreeBusyService.prototype = {
     mProviders: null,
 
     classID: calFreeBusyServiceClassID,
     QueryInterface: XPCOMUtils.generateQI(calFreeBusyServiceInterfaces),
--- a/calendar/base/src/calIcsParser.js
+++ b/calendar/base/src/calIcsParser.js
@@ -8,18 +8,18 @@ Components.utils.import("resource://gre/
 
 function calIcsParser() {
     this.wrappedJSObject = this;
     this.mItems = new Array();
     this.mParentlessItems = new Array();
     this.mComponents = new Array();
     this.mProperties = new Array();
 }
-const calIcsParserClassID = Components.ID("{6fe88047-75b6-4874-80e8-5f5800f14984}");
-const calIcsParserInterfaces = [Components.interfaces.calIIcsParser];
+var calIcsParserClassID = Components.ID("{6fe88047-75b6-4874-80e8-5f5800f14984}");
+var calIcsParserInterfaces = [Components.interfaces.calIIcsParser];
 calIcsParser.prototype = {
     classID: calIcsParserClassID,
     QueryInterface: XPCOMUtils.generateQI(calIcsParserInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calIcsParserClassID,
         contractID: "@mozilla.org/calendar/ics-parser;1",
         classDescription: "Calendar ICS Parser",
         interfaces: calIcsParserInterfaces,
--- a/calendar/base/src/calIcsSerializer.js
+++ b/calendar/base/src/calIcsSerializer.js
@@ -6,18 +6,18 @@ Components.utils.import("resource://cale
 Components.utils.import("resource://calendar/modules/calIteratorUtils.jsm");
 
 function calIcsSerializer() {
     this.wrappedJSObject = this;
     this.mItems = [];
     this.mProperties = [];
     this.mComponents = [];
 }
-const calIcsSerializerClassID = Components.ID("{207a6682-8ff1-4203-9160-729ec28c8766}");
-const calIcsSerializerInterfaces = [Components.interfaces.calIIcsSerializer];
+var calIcsSerializerClassID = Components.ID("{207a6682-8ff1-4203-9160-729ec28c8766}");
+var calIcsSerializerInterfaces = [Components.interfaces.calIIcsSerializer];
 calIcsSerializer.prototype = {
     classID: calIcsSerializerClassID,
     QueryInterface: XPCOMUtils.generateQI(calIcsSerializerInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calIcsSerializerClassID,
         contractID: "@mozilla.org/calendar/ics-serializer;1",
         classDescription: "Calendar ICS Serializer",
         interfaces: calIcsSerializerInterfaces,
--- a/calendar/base/src/calItemModule.js
+++ b/calendar/base/src/calItemModule.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 
-const scriptLoadOrder = [
+var scriptLoadOrder = [
     "calItemBase.js",
     "calUtils.js",
     "calCachedCalendar.js",
 
     "calAlarm.js",
     "calAlarmService.js",
     "calAlarmMonitor.js",
     "calAttendee.js",
--- a/calendar/base/src/calItipItem.js
+++ b/calendar/base/src/calItipItem.js
@@ -9,18 +9,18 @@ Components.utils.import("resource://gre/
 
 /**
  * Constructor of calItipItem object
  */
 function calItipItem() {
     this.wrappedJSObject = this;
     this.mCurrentItemIndex = 0;
 }
-const calItipItemClassID = Components.ID("{f41392ab-dcad-4bad-818f-b3d1631c4d93}");
-const calItipItemInterfaces = [Components.interfaces.calIItipItem];
+var calItipItemClassID = Components.ID("{f41392ab-dcad-4bad-818f-b3d1631c4d93}");
+var calItipItemInterfaces = [Components.interfaces.calIItipItem];
 calItipItem.prototype = {
     mIsInitialized: false,
 
     classID: calItipItemClassID,
     QueryInterface: XPCOMUtils.generateQI(calItipItemInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calItipItemClassID,
         contractID: "@mozilla.org/calendar/itip-item;1",
--- a/calendar/base/src/calProtocolHandler.js
+++ b/calendar/base/src/calProtocolHandler.js
@@ -63,32 +63,32 @@ calProtocolHandler.prototype = {
         channel.originalURI = aUri;
         return channel;
     },
 
     // We are not overriding any special ports
     allowPort: function cph_allowPort(aPort, aScheme) { return false; }
 };
 
-const calProtocolHandlerWebcalClassID = Components.ID("{1153c73a-39be-46aa-9ba9-656d188865ca}");
-const calProtocolHandlerWebcalInterfaces = [Components.interfaces.nsIProtocolHandler];
+var calProtocolHandlerWebcalClassID = Components.ID("{1153c73a-39be-46aa-9ba9-656d188865ca}");
+var calProtocolHandlerWebcalInterfaces = [Components.interfaces.nsIProtocolHandler];
 calProtocolHandlerWebcal.prototype = {
     __proto__: calProtocolHandler.prototype,
     classID: calProtocolHandlerWebcalClassID,
     QueryInterface: XPCOMUtils.generateQI(calProtocolHandlerWebcalInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calProtocolHandlerWebcalClassID,
         contractID: "@mozilla.org/network/protocol;1?name=webcal",
         classDescription: "Calendar webcal protocal handler",
         interfaces: calProtocolHandlerWebcalInterfaces
     }),
 };
 
-const calProtocolHandlerWebcalsClassID = Components.ID("{bdf71224-365d-4493-856a-a7e74026f766}");
-const calProtocolHandlerWebcalsInterfaces = [Components.interfaces.nsIProtocolHandler];
+var calProtocolHandlerWebcalsClassID = Components.ID("{bdf71224-365d-4493-856a-a7e74026f766}");
+var calProtocolHandlerWebcalsInterfaces = [Components.interfaces.nsIProtocolHandler];
 calProtocolHandlerWebcals.prototype = {
     __proto__: calProtocolHandler.prototype,
     classID: calProtocolHandlerWebcalsClassID,
     QueryInterface: XPCOMUtils.generateQI(calProtocolHandlerWebcalsInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calProtocolHandlerWebcalsClassID,
         contractID: "@mozilla.org/network/protocol;1?name=webcals",
         classDescription: "Calendar webcals protocal handler",
--- a/calendar/base/src/calRecurrenceDate.js
+++ b/calendar/base/src/calRecurrenceDate.js
@@ -4,18 +4,18 @@
 
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 
 function calRecurrenceDate() {
     this.wrappedJSObject = this;
 }
 
-const calRecurrenceDateClassID = Components.ID("{806b6423-3aaa-4b26-afa3-de60563e9cec}");
-const calRecurrenceDateInterfaces = [Components.interfaces.calIRecurrenceDate];
+var calRecurrenceDateClassID = Components.ID("{806b6423-3aaa-4b26-afa3-de60563e9cec}");
+var calRecurrenceDateInterfaces = [Components.interfaces.calIRecurrenceDate];
 calRecurrenceDate.prototype = {
     isMutable: true,
 
     mIsNegative: false,
     mDate: null,
 
     classID: calRecurrenceDateClassID,
     QueryInterface: XPCOMUtils.generateQI(calRecurrenceDateInterfaces),
--- a/calendar/base/src/calRecurrenceInfo.js
+++ b/calendar/base/src/calRecurrenceInfo.js
@@ -18,18 +18,18 @@ function getRidKey(dt) {
 
 function calRecurrenceInfo() {
     this.mRecurrenceItems = [];
     this.mExceptionMap = {};
 
     this.wrappedJSObject = this;
 }
 
-const calRecurrenceInfoClassID = Components.ID("{04027036-5884-4a30-b4af-f2cad79f6edf}");
-const calRecurrenceInfoInterfaces = [Components.interfaces.calIRecurrenceInfo];
+var calRecurrenceInfoClassID = Components.ID("{04027036-5884-4a30-b4af-f2cad79f6edf}");
+var calRecurrenceInfoInterfaces = [Components.interfaces.calIRecurrenceInfo];
 calRecurrenceInfo.prototype = {
     mImmutable: false,
     mBaseItem: null,
     mRecurrenceItems: null,
     mPositiveRules: null,
     mNegativeRules: null,
     mExceptionMap: null,
 
--- a/calendar/base/src/calRelation.js
+++ b/calendar/base/src/calRelation.js
@@ -11,18 +11,18 @@ Components.utils.import("resource://gre/
  *
  * @implements calIRelation
  * @constructor
  */
 function calRelation() {
     this.wrappedJSObject = this;
     this.mProperties = new calPropertyBag();
 }
-const calRelationClassID = Components.ID("{76810fae-abad-4019-917a-08e95d5bbd68}");
-const calRelationInterfaces = [Components.interfaces.calIRelation];
+var calRelationClassID = Components.ID("{76810fae-abad-4019-917a-08e95d5bbd68}");
+var calRelationInterfaces = [Components.interfaces.calIRelation];
 calRelation.prototype = {
     mType: null,
     mId: null,
 
     classID: calRelationClassID,
     QueryInterface: XPCOMUtils.generateQI(calRelationInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calRelationClassID,
--- a/calendar/base/src/calSleepMonitor.js
+++ b/calendar/base/src/calSleepMonitor.js
@@ -1,18 +1,18 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://gre/modules/Services.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
-const calSleepMonitorClassID = Components.ID("9b987a8d-c2ef-4cb9-9602-1261b4b2f6fa");
-const calSleepMonitorInterfaces = [Components.interfaces.nsIObserver];
+var calSleepMonitorClassID = Components.ID("9b987a8d-c2ef-4cb9-9602-1261b4b2f6fa");
+var calSleepMonitorInterfaces = [Components.interfaces.nsIObserver];
 
 function calSleepMonitor() {
 }
 
 calSleepMonitor.prototype = {
     classID: calSleepMonitorClassID,
     QueryInterface: XPCOMUtils.generateQI(calSleepMonitorInterfaces),
     classInfo: XPCOMUtils.generateCI({
--- a/calendar/base/src/calStartupService.js
+++ b/calendar/base/src/calStartupService.js
@@ -25,18 +25,18 @@ function callOrderedServices(method, ser
     }
 }
 
 function calStartupService() {
     this.wrappedJSObject = this;
     this.setupObservers();
 }
 
-const calStartupServiceInterfaces = [Components.interfaces.nsIObserver];
-const calStartupServiceClassID = Components.ID("{2547331f-34c0-4a4b-b93c-b503538ba6d6}");
+var calStartupServiceInterfaces = [Components.interfaces.nsIObserver];
+var calStartupServiceClassID = Components.ID("{2547331f-34c0-4a4b-b93c-b503538ba6d6}");
 calStartupService.prototype = {
     QueryInterface: XPCOMUtils.generateQI(calStartupServiceInterfaces),
     classID: calStartupServiceClassID,
     classInfo: XPCOMUtils.generateCI({
         contractID: "@mozilla.org/calendar/startup-service;1",
         classDescription: "Calendar Startup Service",
         classID: calStartupServiceClassID,
         interfaces: calStartupServiceInterfaces,
--- a/calendar/base/src/calTimezone.js
+++ b/calendar/base/src/calTimezone.js
@@ -6,18 +6,18 @@ Components.utils.import("resource://gre/
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://calendar/modules/ical.js");
 
 function calICALJSTimezone(innerObject) {
     this.innerObject = innerObject || new ICAL.Timezone();
     this.wrappedJSObject = this;
 }
 
-const calTimezoneInterfaces = [Components.interfaces.calITimezone];
-const calTimezoneClassID =  Components.ID("{6702eb17-a968-4b43-b562-0d0c5f8e9eb5}");
+var calTimezoneInterfaces = [Components.interfaces.calITimezone];
+var calTimezoneClassID =  Components.ID("{6702eb17-a968-4b43-b562-0d0c5f8e9eb5}");
 calICALJSTimezone.prototype = {
     QueryInterface: XPCOMUtils.generateQI(calTimezoneInterfaces),
     classID: calTimezoneClassID,
     classInfo: XPCOMUtils.generateCI({
         contractID: "@mozilla.org/calendar/timezone;1",
         classDescription: "Calendar Timezone",
         classID: calTimezoneClassID,
         interfaces: calTimezoneInterfaces
--- a/calendar/base/src/calTimezoneService.js
+++ b/calendar/base/src/calTimezoneService.js
@@ -33,18 +33,18 @@ var g_stringBundle = null;
 
 function calTimezoneService() {
     this.wrappedJSObject = this;
 
     this.mZones = new Map();
 
     ICAL.TimezoneService = this.wrappedJSObject;
 }
-const calTimezoneServiceClassID = Components.ID("{e736f2bd-7640-4715-ab35-887dc866c587}");
-const calTimezoneServiceInterfaces = [
+var calTimezoneServiceClassID = Components.ID("{e736f2bd-7640-4715-ab35-887dc866c587}");
+var calTimezoneServiceInterfaces = [
     Components.interfaces.calITimezoneService,
     Components.interfaces.calITimezoneProvider,
     Components.interfaces.calIStartupService
 ];
 calTimezoneService.prototype = {
     mDefaultTimezone: null,
     mHasSetupObservers: false,
     mVersion: null,
--- a/calendar/base/src/calTodo.js
+++ b/calendar/base/src/calTodo.js
@@ -15,18 +15,18 @@ function calTodo() {
         "DTSTART": true,
         "DTEND": true,
         "DUE": true,
         "COMPLETED": true,
         __proto__: this.itemBasePromotedProps
     };
 }
 
-const calTodoClassID = Components.ID("{7af51168-6abe-4a31-984d-6f8a3989212d}");
-const calTodoInterfaces = [
+var calTodoClassID = Components.ID("{7af51168-6abe-4a31-984d-6f8a3989212d}");
+var calTodoInterfaces = [
     Components.interfaces.calIItemBase,
     Components.interfaces.calITodo,
     Components.interfaces.calIInternalShallowCopy
 ];
 calTodo.prototype = {
     __proto__: calItemBase.prototype,
 
     classID: calTodoClassID,
--- a/calendar/base/src/calTransactionManager.js
+++ b/calendar/base/src/calTransactionManager.js
@@ -9,18 +9,18 @@ function calTransactionManager() {
     this.wrappedJSObject = this;
     if (!this.transactionManager) {
         this.transactionManager =
             Components.classes["@mozilla.org/transactionmanager;1"]
                       .createInstance(Components.interfaces.nsITransactionManager);
     }
 }
 
-const calTransactionManagerClassID = Components.ID("{40a1ccf4-5f54-4815-b842-abf06f84dbfd}");
-const calTransactionManagerInterfaces = [Components.interfaces.calITransactionManager];
+var calTransactionManagerClassID = Components.ID("{40a1ccf4-5f54-4815-b842-abf06f84dbfd}");
+var calTransactionManagerInterfaces = [Components.interfaces.calITransactionManager];
 calTransactionManager.prototype = {
 
     classID: calTransactionManagerClassID,
     QueryInterface: XPCOMUtils.generateQI(calTransactionManagerInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calTransactionManagerClassID,
         classDescription: "Calendar Transaction Manager",
         contractID: "mozilla.org/calendar/transactionmanager;1",
@@ -84,18 +84,18 @@ function calTransaction(aAction, aItem, 
     this.wrappedJSObject = this;
     this.mAction = aAction;
     this.mItem = aItem;
     this.mCalendar = aCalendar;
     this.mOldItem = aOldItem;
     this.mListener = aListener;
 }
 
-const calTransactionClassID = Components.ID("{fcb54c82-2fb9-42cb-bf44-1e197a55e520}");
-const calTransactionInterfaces = [
+var calTransactionClassID = Components.ID("{fcb54c82-2fb9-42cb-bf44-1e197a55e520}");
+var calTransactionInterfaces = [
     Components.interfaces.nsITransaction,
     Components.interfaces.calIOperationListener
 ];
 calTransaction.prototype = {
     classID: calTransactionClassID,
     QueryInterface: XPCOMUtils.generateQI(calTransactionInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calTransactionClassID,
--- a/calendar/base/src/calWeekInfoService.js
+++ b/calendar/base/src/calWeekInfoService.js
@@ -4,18 +4,18 @@
 
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://gre/modules/Preferences.jsm");
 
 function calWeekInfoService() {
     this.wrappedJSObject = this;
 }
-const calWeekInfoServiceClassID = Components.ID("{6877bbdd-f336-46f5-98ce-fe86d0285cc1}");
-const calWeekInfoServiceInterfaces = [Components.interfaces.calIWeekInfoService];
+var calWeekInfoServiceClassID = Components.ID("{6877bbdd-f336-46f5-98ce-fe86d0285cc1}");
+var calWeekInfoServiceInterfaces = [Components.interfaces.calIWeekInfoService];
 calWeekInfoService.prototype = {
     classID: calWeekInfoServiceClassID,
     QueryInterface: XPCOMUtils.generateQI(calWeekInfoServiceInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calWeekInfoServiceClassID,
         contractID: "@mozilla.org/calendar/weekinfo-service;1",
         classDescription: "Calendar WeekInfo Service",
         interfaces: calWeekInfoServiceInterfaces,
--- a/calendar/import-export/calHtmlExport.js
+++ b/calendar/import-export/calHtmlExport.js
@@ -9,18 +9,18 @@ Components.utils.import("resource://cale
 
 /**
  * HTML Export Plugin
  */
 function calHtmlExporter() {
     this.wrappedJSObject = this;
 }
 
-const calHtmlExporterClassID = Components.ID("{72d9ab35-9b1b-442a-8cd0-ae49f00b159b}");
-const calHtmlExporterInterfaces = [Components.interfaces.calIExporter];
+var calHtmlExporterClassID = Components.ID("{72d9ab35-9b1b-442a-8cd0-ae49f00b159b}");
+var calHtmlExporterInterfaces = [Components.interfaces.calIExporter];
 calHtmlExporter.prototype = {
     classID: calHtmlExporterClassID,
     QueryInterface: XPCOMUtils.generateQI(calHtmlExporterInterfaces),
 
     classInfo: XPCOMUtils.generateCI({
         classID: calHtmlExporterClassID,
         contractID: "@mozilla.org/calendar/export;1?type=html",
         classDescription: "Calendar HTML Exporter",
--- a/calendar/import-export/calIcsImportExport.js
+++ b/calendar/import-export/calIcsImportExport.js
@@ -20,18 +20,18 @@ function getIcsFileTypes(aCount) {
     }];
 }
 
 // Importer
 function calIcsImporter() {
     this.wrappedJSObject = this;
 }
 
-const calIcsImporterClassID = Components.ID("{1e3e33dc-445a-49de-b2b6-15b2a050bb9d}");
-const calIcsImporterInterfaces = [Components.interfaces.calIImporter];
+var calIcsImporterClassID = Components.ID("{1e3e33dc-445a-49de-b2b6-15b2a050bb9d}");
+var calIcsImporterInterfaces = [Components.interfaces.calIImporter];
 calIcsImporter.prototype = {
     classID: calIcsImporterClassID,
     QueryInterface: XPCOMUtils.generateQI(calIcsImporterInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calIcsImporterClassID,
         contractID: "@mozilla.org/calendar/import;1?type=ics",
         classDescription: "Calendar ICS Importer",
         interfaces: calIcsImporterInterfaces
@@ -47,18 +47,18 @@ calIcsImporter.prototype = {
     }
 };
 
 // Exporter
 function calIcsExporter() {
     this.wrappedJSObject = this;
 }
 
-const calIcsExporterClassID = Components.ID("{a6a524ce-adff-4a0f-bb7d-d1aaad4adc60}");
-const calIcsExporterInterfaces = [Components.interfaces.calIExporter];
+var calIcsExporterClassID = Components.ID("{a6a524ce-adff-4a0f-bb7d-d1aaad4adc60}");
+var calIcsExporterInterfaces = [Components.interfaces.calIExporter];
 calIcsExporter.prototype = {
     classID: calIcsExporterClassID,
     QueryInterface: XPCOMUtils.generateQI(calIcsExporterInterfaces),
 
     classInfo: XPCOMUtils.generateCI({
         classID: calIcsExporterClassID,
         contractID: "@mozilla.org/calendar/export;1?type=ics",
         classDescription: "Calendar ICS Exporter",
--- a/calendar/import-export/calImportExportModule.js
+++ b/calendar/import-export/calImportExportModule.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 
-const scriptLoadOrder = [
+var scriptLoadOrder = [
     "calIcsImportExport.js",
     "calHtmlExport.js",
     "calOutlookCSVImportExport.js",
 
     "calListFormatter.js",
     "calMonthGridPrinter.js",
     "calWeekPrinter.js"
 ];
--- a/calendar/import-export/calListFormatter.js
+++ b/calendar/import-export/calListFormatter.js
@@ -7,18 +7,18 @@ Components.utils.import("resource://cale
 
 /**
  * A thin wrapper around the html list exporter for the list print format.
  */
 function calListFormatter() {
     this.wrappedJSObject = this;
 }
 
-const calListFormatterClassID = Components.ID("{9ae04413-fee3-45b9-8bbb-1eb39a4cbd1b}");
-const calListFormatterInterfaces = [Components.interfaces.calIPrintFormatter];
+var calListFormatterClassID = Components.ID("{9ae04413-fee3-45b9-8bbb-1eb39a4cbd1b}");
+var calListFormatterInterfaces = [Components.interfaces.calIPrintFormatter];
 calListFormatter.prototype = {
     classID: calListFormatterClassID,
     QueryInterface: XPCOMUtils.generateQI(calListFormatterInterfaces),
 
     classInfo: XPCOMUtils.generateCI({
         classID: calListFormatterClassID,
         contractID: "@mozilla.org/calendar/printformatter;1?type=list",
         classDescription: "Calendar List Print Formatter",
--- a/calendar/import-export/calMonthGridPrinter.js
+++ b/calendar/import-export/calMonthGridPrinter.js
@@ -11,18 +11,18 @@ Components.utils.import("resource://gre/
 
 /**
  * Prints a rough month-grid of events/tasks
  */
 function calMonthPrinter() {
     this.wrappedJSObject = this;
 }
 
-const calMonthPrinterClassID = Components.ID("{f42d5132-92c4-487b-b5c8-38bf292d74c1}");
-const calMonthPrinterInterfaces = [Components.interfaces.calIPrintFormatter];
+var calMonthPrinterClassID = Components.ID("{f42d5132-92c4-487b-b5c8-38bf292d74c1}");
+var calMonthPrinterInterfaces = [Components.interfaces.calIPrintFormatter];
 calMonthPrinter.prototype = {
     classID: calMonthPrinterClassID,
     QueryInterface: XPCOMUtils.generateQI(calMonthPrinterInterfaces),
 
     classInfo: XPCOMUtils.generateCI({
         classID: calMonthPrinterClassID,
         contractID: "@mozilla.org/calendar/printformatter;1?type=monthgrid",
         classDescription: "Calendar Month Grid Print Formatter",
--- a/calendar/import-export/calOutlookCSVImportExport.js
+++ b/calendar/import-export/calOutlookCSVImportExport.js
@@ -2,17 +2,17 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://calendar/modules/calAlarmUtils.jsm");
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 Components.utils.import("resource://gre/modules/Preferences.jsm");
 
-const localeEn = {
+var localeEn = {
     headTitle       : "Subject",
     headStartDate   : "Start Date",
     headStartTime   : "Start Time",
     headEndDate     : "End Date",
     headEndTime     : "End Time",
     headAllDayEvent : "All day event",
     headAlarm       : "Reminder on/off",
     headAlarmDate   : "Reminder Date",
@@ -36,17 +36,17 @@ const localeEn = {
     timeMinuteIndex : 2,
     timeSecondIndex : 3,
     timeAmPmIndex   : 4,
     timeAmString    : "AM",
     timePmString    : "PM",
     timeFormat      : "%I:%M:%S %p"
 };
 
-const localeNl = {
+var localeNl = {
     headTitle       : "Onderwerp",
     headStartDate   : "Begindatum",
     headStartTime   : "Begintijd",
     headEndDate     : "Einddatum",
     headEndTime     : "Eindtijd",
     headAllDayEvent : "Evenement, duurt hele dag",
     headAlarm       : "Herinneringen aan/uit",
     headAlarmDate   : "Herinneringsdatum",
@@ -67,37 +67,37 @@ const localeNl = {
 
     timeRe          : /^(\d+):(\d+):(\d+)$/,
     timeHourIndex   : 1,
     timeMinuteIndex : 2,
     timeSecondIndex : 3,
     timeFormat      : "%H:%M:%S"
 };
 
-const locales = [localeEn, localeNl];
+var locales = [localeEn, localeNl];
 
 // Windows line endings, CSV files with LF only can't be read by Outlook.
-const exportLineEnding = "\r\n";
+var exportLineEnding = "\r\n";
 
 // Shared functions
 function getOutlookCsvFileTypes(aCount) {
     aCount.value = 1;
     let wildmat = '*.csv';
     let label = cal.calGetString("calendar", 'filterOutlookCsv', [wildmat]);
     return [{ defaultExtension: 'csv',
               extensionFilter: wildmat,
               description: label }];
 }
 
 // Importer
 function calOutlookCSVImporter() {
     this.wrappedJSObject = this;
 }
-const calOutlookCSVImporterClassID = Components.ID("{64a5d17a-0497-48c5-b54f-72b15c9e9a14}");
-const calOutlookCSVImporterInterfaces = [Components.interfaces.calIImporter];
+var calOutlookCSVImporterClassID = Components.ID("{64a5d17a-0497-48c5-b54f-72b15c9e9a14}");
+var calOutlookCSVImporterInterfaces = [Components.interfaces.calIImporter];
 calOutlookCSVImporter.prototype = {
     classID: calOutlookCSVImporterClassID,
     QueryInterface: XPCOMUtils.generateQI(calOutlookCSVImporterInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calOutlookCSVImporterClassID,
         contractID: "@mozilla.org/calendar/import;1?type=csv",
         classDescription: "Calendar Outlook CSV Importer",
         interfaces: calOutlookCSVImporterInterfaces
@@ -415,18 +415,18 @@ calOutlookCSVImporter.prototype = {
     parseTextField: function parseTextField(aTextField) {
         return aTextField ? aTextField.replace(/""/g, "\"") : "";
     }
 };
 
 // Exporter
 function calOutlookCSVExporter() {
 }
-const calOutlookCSVExporterClassID = Components.ID("{48e6d3a6-b41b-4052-9ed2-40b27800bd4b}");
-const calOutlookCSVExporterInterfaces = [Components.interfaces.calIExporter];
+var calOutlookCSVExporterClassID = Components.ID("{48e6d3a6-b41b-4052-9ed2-40b27800bd4b}");
+var calOutlookCSVExporterInterfaces = [Components.interfaces.calIExporter];
 calOutlookCSVExporter.prototype = {
     classID: calOutlookCSVExporterClassID,
     QueryInterface: XPCOMUtils.generateQI(calOutlookCSVExporterInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calOutlookCSVExporterClassID,
         contractID: "@mozilla.org/calendar/export;1?type=csv",
         classDescription: "Calendar Outlook CSV Exporter",
         interfaces: calOutlookCSVExporterInterfaces
--- a/calendar/import-export/calWeekPrinter.js
+++ b/calendar/import-export/calWeekPrinter.js
@@ -11,18 +11,18 @@ Components.utils.import("resource://cale
 
 /**
  * Prints a two column view of a week of events, much like a paper day-planner
  */
 function calWeekPrinter() {
     this.wrappedJSObject = this;
 }
 
-const calWeekPrinterClassID = Components.ID("{2d6ec97b-9109-4b92-89c5-d4b4806619ce}");
-const calWeekPrinterInterfaces = [Components.interfaces.calIPrintFormatter];
+var calWeekPrinterClassID = Components.ID("{2d6ec97b-9109-4b92-89c5-d4b4806619ce}");
+var calWeekPrinterInterfaces = [Components.interfaces.calIPrintFormatter];
 calWeekPrinter.prototype = {
     classID: calWeekPrinterClassID,
     QueryInterface: XPCOMUtils.generateQI(calWeekPrinterInterfaces),
 
     classInfo: XPCOMUtils.generateCI({
         classID: calWeekPrinterClassID,
         contractID: "@mozilla.org/calendar/printformatter;1?type=weekplan",
         classDescription: "Calendar Week Print Formatter",
--- a/calendar/itip/calItipEmailTransport.js
+++ b/calendar/itip/calItipEmailTransport.js
@@ -17,18 +17,18 @@ function convertFromUnicode(aCharset, aS
 
 /**
  * Constructor of calItipEmailTransport object
  */
 function calItipEmailTransport() {
     this.wrappedJSObject = this;
     this._initEmailTransport();
 }
-const calItipEmailTransportClassID = Components.ID("{d4d7b59e-c9e0-4a7a-b5e8-5958f85515f0}");
-const calItipEmailTransportInterfaces = [Components.interfaces.calIItipTransport];
+var calItipEmailTransportClassID = Components.ID("{d4d7b59e-c9e0-4a7a-b5e8-5958f85515f0}");
+var calItipEmailTransportInterfaces = [Components.interfaces.calIItipTransport];
 calItipEmailTransport.prototype = {
     classID: calItipEmailTransportClassID,
     QueryInterface: XPCOMUtils.generateQI(calItipEmailTransportInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: calItipEmailTransportClassID,
         contractID: "@mozilla.org/calendar/itip-transport;1?type=email",
         classDescription: "Calendar iTIP Email Transport",
         interfaces: calItipEmailTransportInterfaces,
--- a/calendar/lightning/components/calItipProtocolHandler.js
+++ b/calendar/lightning/components/calItipProtocolHandler.js
@@ -1,30 +1,30 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 
-const CI = Components.interfaces;
+var CI = Components.interfaces;
 
-const ITIP_HANDLER_MIMETYPE = "application/x-itip-internal";
-const ITIP_HANDLER_PROTOCOL = "moz-cal-handle-itip";
+var ITIP_HANDLER_MIMETYPE = "application/x-itip-internal";
+var ITIP_HANDLER_PROTOCOL = "moz-cal-handle-itip";
 
 
 function NYI() {
     throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
 }
 
 function ItipChannel(URI) {
    this.URI = this.originalURI = URI;
 }
-const ItipChannelClassID = Components.ID("{643e0328-36f6-411d-a107-16238dff9cd7}");
-const ItipChannelInterfaces = [
+var ItipChannelClassID = Components.ID("{643e0328-36f6-411d-a107-16238dff9cd7}");
+var ItipChannelInterfaces = [
     Components.interfaces.nsIChannel,
     Components.interfaces.nsIRequest
 ];
 ItipChannel.prototype = {
     classID: ItipChannelClassID,
     QueryInterface: XPCOMUtils.generateQI(ItipChannelInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: ItipChannelClassID,
@@ -54,18 +54,18 @@ ItipChannel.prototype = {
     cancel: function (status) { this.status = status; },
     suspend: NYI,
     resume: NYI,
 };
 
 function ItipProtocolHandler() {
     this.wrappedJSObject = this;
 }
-const ItipProtocolHandlerClassID = Components.ID("{6e957006-b4ce-11d9-b053-001124736B74}");
-const ItipProtocolHandlerInterfaces = [Components.interfaces.nsIProtocolHandler];
+var ItipProtocolHandlerClassID = Components.ID("{6e957006-b4ce-11d9-b053-001124736B74}");
+var ItipProtocolHandlerInterfaces = [Components.interfaces.nsIProtocolHandler];
 ItipProtocolHandler.prototype = {
     classID: ItipProtocolHandlerClassID,
     QueryInterface: XPCOMUtils.generateQI(ItipProtocolHandlerInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: ItipProtocolHandlerClassID,
         contractID: "@mozilla.org/network/protocol;1?name=" + ITIP_HANDLER_PROTOCOL,
         classDescription: "iTIP Protocol Handler",
         interfaces: ItipProtocolHandlerInterfaces
@@ -91,18 +91,18 @@ ItipProtocolHandler.prototype = {
         dump("Creating new ItipChannel for " + URI + "\n");
         return new ItipChannel(URI);
     },
 };
 
 function ItipContentHandler() {
     this.wrappedJSObject = this;
 }
-const ItipContentHandlerClassID = Components.ID("{47c31f2b-b4de-11d9-bfe6-001124736B74}");
-const ItipContentHandlerInterfaces = [Components.interfaces.nsIContentHandler];
+var ItipContentHandlerClassID = Components.ID("{47c31f2b-b4de-11d9-bfe6-001124736B74}");
+var ItipContentHandlerInterfaces = [Components.interfaces.nsIContentHandler];
 ItipContentHandler.prototype = {
     classID: ItipContentHandlerClassID,
     QueryInterface: XPCOMUtils.generateQI(ItipContentHandlerInterfaces),
     classInfo: XPCOMUtils.generateCI({
         classID: ItipContentHandlerClassID,
         contractID: "@mozilla.org/uriloader/content-handler;1?type=" + ITIP_HANDLER_MIMETYPE,
         classDescription: "Lightning text/calendar content handler",
         interfaces: ItipContentHandlerInterfaces
--- a/calendar/lightning/components/lightningTextCalendarConverter.js
+++ b/calendar/lightning/components/lightningTextCalendarConverter.js
@@ -8,18 +8,18 @@ Components.utils.import("resource://cale
 Components.utils.import("resource://calendar/modules/calXMLUtils.jsm");
 Components.utils.import("resource://calendar/modules/calRecurrenceUtils.jsm");
 Components.utils.import("resource://calendar/modules/ltnInvitationUtils.jsm");
 
 function ltnMimeConverter() {
     this.wrappedJSObject = this;
 }
 
-const ltnMimeConverterClassID = Components.ID("{c70acb08-464e-4e55-899d-b2c84c5409fa}");
-const ltnMimeConverterInterfaces = [Components.interfaces.nsISimpleMimeConverter];
+var ltnMimeConverterClassID = Components.ID("{c70acb08-464e-4e55-899d-b2c84c5409fa}");
+var ltnMimeConverterInterfaces = [Components.interfaces.nsISimpleMimeConverter];
 ltnMimeConverter.prototype = {
     classID: ltnMimeConverterClassID,
     QueryInterface: XPCOMUtils.generateQI(ltnMimeConverterInterfaces),
 
     classInfo: XPCOMUtils.generateCI({
         classID: ltnMimeConverterClassID,
         contractID: "@mozilla.org/lightning/mime-converter;1",
         classDescription: "Lightning text/calendar handler",
--- a/calendar/lightning/content/messenger-overlay-sidebar.js
+++ b/calendar/lightning/content/messenger-overlay-sidebar.js
@@ -425,20 +425,20 @@ function ltnFinish() {
       mailContextPopup.removeEventListener("popupshowing",
                                            gCalSetupMailContext.popup, false);
 
     // Common finish steps
     commonFinishCalendar();
 }
 
 // == invitations link
-const FIRST_DELAY_STARTUP = 100;
-const FIRST_DELAY_RESCHEDULE = 100;
-const FIRST_DELAY_REGISTER = 10000;
-const FIRST_DELAY_UNREGISTER = 0;
+var FIRST_DELAY_STARTUP = 100;
+var FIRST_DELAY_RESCHEDULE = 100;
+var FIRST_DELAY_REGISTER = 10000;
+var FIRST_DELAY_UNREGISTER = 0;
 
 var gInvitationsOperationListener = {
     mCount: 0,
 
     QueryInterface: XPCOMUtils.generateQI([Components.interfaces.calIOperationListener]),
     onOperationComplete: function sBOL_onOperationComplete(aCalendar,
                                                            aStatus,
                                                            aOperationType,
@@ -565,17 +565,17 @@ function ltnSwitch2Task() {
     let deck = document.getElementById("calendarDisplayDeck");
     deck.selectedPanel = document.getElementById("calendar-task-box");
 
     document.commandDispatcher.updateCommands('calendar_commands');
     window.setCursor("auto");
   }
 }
 
-const gCalSetupMailContext = {
+var gCalSetupMailContext = {
     popup: function gCalSetupMailContext_popup() {
         let hasSelection = (gFolderDisplay.selectedMessage != null);
         // Disable the convert menu altogether.
         setElementValue("mailContext-calendar-convert-menu",
                         !hasSelection && "true", "hidden");
     }
 };
 
--- a/calendar/providers/caldav/calDavCalendar.js
+++ b/calendar/providers/caldav/calDavCalendar.js
@@ -17,26 +17,26 @@ Components.utils.import("resource://cale
 Components.utils.import("resource://calendar/modules/calProviderUtils.jsm");
 Components.utils.import("resource://calendar/modules/calAuthUtils.jsm");
 Components.utils.import("resource://calendar/modules/calAsyncUtils.jsm");
 
 //
 // calDavCalendar.js
 //
 
-const xmlHeader = '<?xml version="1.0" encoding="UTF-8"?>\n';
+var xmlHeader = '<?xml version="1.0" encoding="UTF-8"?>\n';
 
-const davNS = "DAV:"
-const caldavNS = "urn:ietf:params:xml:ns:caldav";
-const calservNS = "http://calendarserver.org/ns/";
-const MIME_TEXT_CALENDAR = "text/calendar; charset=utf-8";
-const MIME_TEXT_XML = "text/xml; charset=utf-8";
+var davNS = "DAV:"
+var caldavNS = "urn:ietf:params:xml:ns:caldav";
+var calservNS = "http://calendarserver.org/ns/";
+var MIME_TEXT_CALENDAR = "text/calendar; charset=utf-8";
+var MIME_TEXT_XML = "text/xml; charset=utf-8";
 
-const cICL = Components.interfaces.calIChangeLog;
-const cIOL = Components.interfaces.calIOperationListener;
+var cICL = Components.interfaces.calIChangeLog;
+var cIOL = Components.interfaces.calIOperationListener;
 
 function caldavNSResolver(prefix) {
     const ns = {
         D: davNS,
         C: caldavNS,
         CS: calservNS
     };
 
@@ -74,32 +74,32 @@ function calDavCalendar() {
 
     // By default, support both events and todos.
     this.mGenerallySupportedItemTypes = ["VEVENT", "VTODO"];
     this.mSupportedItemTypes = this.mGenerallySupportedItemTypes.slice(0);
     this.mACLProperties = {};
 }
 
 // some shorthand
-const calICalendar = Components.interfaces.calICalendar;
-const calIErrors = Components.interfaces.calIErrors;
-const calIFreeBusyInterval = Components.interfaces.calIFreeBusyInterval;
-const calICalDavCalendar = Components.interfaces.calICalDavCalendar;
+var calICalendar = Components.interfaces.calICalendar;
+var calIErrors = Components.interfaces.calIErrors;
+var calIFreeBusyInterval = Components.interfaces.calIFreeBusyInterval;
+var calICalDavCalendar = Components.interfaces.calICalDavCalendar;
 
 // used in checking calendar URI for (Cal)DAV-ness
-const kDavResourceTypeNone = 0;
-const kDavResourceTypeCollection = 1;
-const kDavResourceTypeCalendar = 2;
+var kDavResourceTypeNone = 0;
+var kDavResourceTypeCollection = 1;
+var kDavResourceTypeCalendar = 2;
 
 // used for etag checking
-const CALDAV_MODIFY_ITEM = "modify";
-const CALDAV_DELETE_ITEM = "delete";
+var CALDAV_MODIFY_ITEM = "modify";
+var CALDAV_DELETE_ITEM = "delete";
 
-const calDavCalendarClassID = Components.ID("{a35fc6ea-3d92-11d9-89f9-00045ace3b8d}");
-const calDavCalendarInterfaces = [
+var calDavCalendarClassID = Components.ID("{a35fc6ea-3d92-11d9-89f9-00045ace3b8d}");
+var calDavCalendarInterfaces = [
     Components.interfaces.calICalendarProvider,
     Components.interfaces.nsIInterfaceRequestor,
     Components.interfaces.calIFreeBusyProvider,
     Components.interfaces.nsIChannelEventSink,
     Components.interfaces.calIItipTransport,
     Components.interfaces.calISchedulingSupport,
     Components.interfaces.calICalendar,
     Components.interfaces.calIChangeLog,
@@ -2990,14 +2990,14 @@ calDavObserver.prototype = {
 
     onError: function(aCalendar, aErrNo, aMessage) {
         this.mCalendar.readOnly = true;
         this.mCalendar.notifyError(aErrNo, aMessage);
     }
 };
 
 /** Module Registration */
-const scriptLoadOrder = [
+var scriptLoadOrder = [
     "calUtils.js",
     "calDavRequestHandlers.js"
 ];
 
 var NSGetFactory = cal.loadingNSGetFactory(scriptLoadOrder, [calDavCalendar], this);
--- a/calendar/providers/composite/calCompositeCalendar.js
+++ b/calendar/providers/composite/calCompositeCalendar.js
@@ -7,17 +7,17 @@ Components.utils.import("resource://cale
 
 //
 // calCompositeCalendar.js
 //
 
 /**
  * Calendar specific utility functions
  */
-const calIOperationListener = Components.interfaces.calIOperationListener;
+var calIOperationListener = Components.interfaces.calIOperationListener;
 
 function calCompositeCalendarObserverHelper (compCalendar) {
     this.compCalendar = compCalendar;
     this.pendingLoads = {};
 }
 
 calCompositeCalendarObserverHelper.prototype = {
     pendingLoads: null,
@@ -76,18 +76,18 @@ function calCompositeCalendar () {
 
     this.mCalendars = new Array();
     this.mCompositeObservers = new cal.ObserverBag(Components.interfaces.calICompositeObserver);
     this.mObservers = new cal.ObserverBag(Components.interfaces.calIObserver);
     this.mDefaultCalendar = null;
     this.mStatusObserver = null;
 }
 
-const calCompositeCalendarClassID = Components.ID("{aeff788d-63b0-4996-91fb-40a7654c6224}");
-const calCompositeCalendarInterfaces = [
+var calCompositeCalendarClassID = Components.ID("{aeff788d-63b0-4996-91fb-40a7654c6224}");
+var calCompositeCalendarInterfaces = [
     Components.interfaces.calICalendarProvider,
     Components.interfaces.calICalendar,
     Components.interfaces.calICompositeCalendar,
 ];
 calCompositeCalendar.prototype = {
     classID: calCompositeCalendarClassID,
     QueryInterface: XPCOMUtils.generateQI(calCompositeCalendarInterfaces),
     classInfo: XPCOMUtils.generateCI({
--- a/calendar/providers/gdata/components/calGoogleCalendar.js
+++ b/calendar/providers/gdata/components/calGoogleCalendar.js
@@ -16,36 +16,36 @@ CuImport("resource://gre/modules/XPCOMUt
 CuImport("resource://calendar/modules/calProviderUtils.jsm", this);
 CuImport("resource://calendar/modules/calUtils.jsm", this);
 
 CuImport("resource://gdata-provider/modules/gdataLogging.jsm", this);
 CuImport("resource://gdata-provider/modules/gdataRequest.jsm", this);
 CuImport("resource://gdata-provider/modules/gdataSession.jsm", this);
 CuImport("resource://gdata-provider/modules/gdataUtils.jsm", this);
 
-const cICL = Components.interfaces.calIChangeLog;
-const cIOL = Components.interfaces.calIOperationListener;
+var cICL = Components.interfaces.calIChangeLog;
+var cIOL = Components.interfaces.calIOperationListener;
 
-const MIN_REFRESH_INTERVAL = 30;
+var MIN_REFRESH_INTERVAL = 30;
 
 /**
  * calGoogleCalendar
  * This Implements a calICalendar Object adapted to the Google Calendar
  * Provider.
  *
  * @class
  * @constructor
  */
 function calGoogleCalendar() {
     this.initProviderBase();
     this.mThrottle = Object.create(null);
 }
 
-const calGoogleCalendarClassID = Components.ID("{d1a6e988-4b4d-45a5-ba46-43e501ea96e3}");
-const calGoogleCalendarInterfaces = [
+var calGoogleCalendarClassID = Components.ID("{d1a6e988-4b4d-45a5-ba46-43e501ea96e3}");
+var calGoogleCalendarInterfaces = [
     Components.interfaces.calICalendar,
     Components.interfaces.calISchedulingSupport,
     Components.interfaces.calIChangeLog
 ];
 calGoogleCalendar.prototype = {
     __proto__: cal.ProviderBase.prototype,
 
     classID: calGoogleCalendarClassID,
--- a/calendar/providers/gdata/content/browserRequest.js
+++ b/calendar/providers/gdata/content/browserRequest.js
@@ -1,13 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const wpl = Components.interfaces.nsIWebProgressListener;
+var wpl = Components.interfaces.nsIWebProgressListener;
 
 var reporterListener = {
   _isBusy: false,
   get securityButton() {
     delete this.securityButton;
     return this.securityButton = document.getElementById("security-button");
   },
 
--- a/calendar/providers/gdata/modules/OAuth2.jsm
+++ b/calendar/providers/gdata/modules/OAuth2.jsm
@@ -2,17 +2,17 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /**
  * Provides OAuth 2.0 authentication
  */
 var EXPORTED_SYMBOLS = ["OAuth2"];
 
-const {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
+var {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
 
 Cu.import("resource:///modules/Services.jsm");
 Cu.import("resource:///modules/XPCOMUtils.jsm");
 Cu.import("resource:///modules/gloda/log4moz.js");
 
 var httpRequest = (function() {
   let scope = {};
   try {
--- a/calendar/providers/gdata/modules/gdataRequest.jsm
+++ b/calendar/providers/gdata/modules/gdataRequest.jsm
@@ -8,17 +8,17 @@ Components.utils.import("resource://gdat
 CuImport("resource://gre/modules/XPCOMUtils.jsm", this);
 CuImport("resource://gre/modules/Services.jsm", this);
 CuImport("resource://gre/modules/Promise.jsm", this);
 CuImport("resource://gre/modules/PromiseUtils.jsm", this);
 CuImport("resource://gre/modules/Preferences.jsm", this);
 
 CuImport("resource://calendar/modules/calUtils.jsm", this);
 
-const cIE = Components.interfaces.calIErrors;
+var cIE = Components.interfaces.calIErrors;
 
 var API_BASE = {
     EVENTS: "https://www.googleapis.com/calendar/v3/",
     TASKS: "https://www.googleapis.com/tasks/v1/"
 };
 
 var EXPORTED_SYMBOLS = ["calGoogleRequest", "getCorrectedDate", "API_BASE"];
 
@@ -49,17 +49,17 @@ function calGoogleRequest() {
     this.wrappedJSObject = this;
 }
 calGoogleRequest.ADD = "POST";
 calGoogleRequest.MODIFY = "PUT";
 calGoogleRequest.DELETE = "DELETE";
 calGoogleRequest.GET = "GET";
 calGoogleRequest.PATCH = "PATCH";
 
-const GDATA_ERROR_BASE = Components.interfaces.calIErrors.ERROR_BASE + 0x400;
+var GDATA_ERROR_BASE = Components.interfaces.calIErrors.ERROR_BASE + 0x400;
 calGoogleRequest.LOGIN_FAILED = GDATA_ERROR_BASE + 1;
 calGoogleRequest.CONFLICT_DELETED = GDATA_ERROR_BASE + 2;
 calGoogleRequest.CONFLICT_MODIFY = GDATA_ERROR_BASE + 3;
 calGoogleRequest.NOT_MODIFIED = GDATA_ERROR_BASE + 4;
 calGoogleRequest.QUOTA_FAILURE = GDATA_ERROR_BASE + 5;
 calGoogleRequest.TOKEN_FAILURE = GDATA_ERROR_BASE + 6;
 calGoogleRequest.RESOURCE_GONE = GDATA_ERROR_BASE + 7;
 
--- a/calendar/providers/gdata/modules/gdataSession.jsm
+++ b/calendar/providers/gdata/modules/gdataSession.jsm
@@ -16,20 +16,20 @@ CuImport("resource://gre/modules/Promise
 CuImport("resource://gre/modules/Task.jsm", this);
 CuImport("resource://gre/modules/Timer.jsm", this);
 
 CuImport("resource:///modules/iteratorUtils.jsm", this);
 
 CuImport("resource://calendar/modules/calUtils.jsm", this);
 CuImport("resource://calendar/modules/calProviderUtils.jsm", this);
 
-const cIFBI = Components.interfaces.calIFreeBusyInterval;
-const nIPM = Components.interfaces.nsIPermissionManager;
+var cIFBI = Components.interfaces.calIFreeBusyInterval;
+var nIPM = Components.interfaces.nsIPermissionManager;
 
-const NOTIFY_TIMEOUT = 60 * 1000;
+var NOTIFY_TIMEOUT = 60 * 1000;
 
 var EXPORTED_SYMBOLS = ["getGoogleSessionManager"];
 
 var gdataSessionMap = new Map();
 var calGoogleSessionManager = {
     /**
      * Get a Session object for the specified calendar. If aCreate is false,
      * null will be returned if the session doesn't exist. Otherwise, the
--- a/calendar/providers/gdata/modules/gdataUtils.jsm
+++ b/calendar/providers/gdata/modules/gdataUtils.jsm
@@ -13,19 +13,19 @@ CuImport("resource://gre/modules/Prefere
 CuImport("resource://gre/modules/Promise.jsm", this);
 CuImport("resource://gre/modules/PromiseUtils.jsm", this);
 CuImport("resource://gre/modules/Task.jsm", this);
 
 CuImport("resource://calendar/modules/calUtils.jsm", this);
 CuImport("resource://calendar/modules/calIteratorUtils.jsm", this);
 CuImport("resource://calendar/modules/calProviderUtils.jsm", this);
 
-const cIE = Components.interfaces.calIErrors;
+var cIE = Components.interfaces.calIErrors;
 
-const FOUR_WEEKS_IN_MINUTES = 40320;
+var FOUR_WEEKS_IN_MINUTES = 40320;
 
 var EXPORTED_SYMBOLS = [
     "ItemToJSON", "JSONToItem", "ItemSaver",
     "checkResolveConflict", "getGoogleId",
     "getItemMetadata", "saveItemMetadata",
     "deleteItemMetadata", "migrateItemMetadata",
     "JSONToAlarm", "getProviderString",
     "monkeyPatch", "spinEventLoop"
--- a/calendar/providers/gdata/modules/shim/Calendar.jsm
+++ b/calendar/providers/gdata/modules/shim/Calendar.jsm
@@ -4,19 +4,19 @@
 
 var EXPORTED_SYMBOLS = ["calendarShim", "gdataRegisterCalendar", "promisifyCalendar"];
 
 Components.utils.import("resource://gdata-provider/modules/shim/Loader.jsm");
 CuImport("resource://calendar/modules/calUtils.jsm", this);
 CuImport("resource://gre/modules/PromiseUtils.jsm", this);
 CuImport("resource://gre/modules/XPCOMUtils.jsm", this);
 
-const cIOL = Components.interfaces.calIOperationListener;
-const cICL = Components.interfaces.calIChangeLog;
-const cIC = Components.interfaces.calICalendar;
+var cIOL = Components.interfaces.calIOperationListener;
+var cICL = Components.interfaces.calIChangeLog;
+var cIC = Components.interfaces.calICalendar;
 
 /**
  * Shim functions that can be injected into an object implementing calICalendar
  * to make it compatible with older versions of Lightning
  */
 var calendarShim = {
     addItemOrUseCache: function(aItem, useCache, aListener) {
         let newItem = aItem.clone();
--- a/calendar/providers/gdata/modules/shim/Http.jsm
+++ b/calendar/providers/gdata/modules/shim/Http.jsm
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var EXPORTED_SYMBOLS = ["percentEncode", "httpRequest"];
 
-const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
+var {classes: Cc, interfaces: Ci, utils: Cu} = Components;
 
 function percentEncode(aString) {
   return encodeURIComponent(aString).replace(/[!'()]/g, escape).replace(/\*/g, "%2A");
 }
 
 function httpRequest(aUrl, aOptions) {
   let xhr = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"]
               .createInstance(Ci.nsIXMLHttpRequest);
--- a/calendar/providers/gdata/modules/shim/Promise.jsm
+++ b/calendar/providers/gdata/modules/shim/Promise.jsm
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var EXPORTED_SYMBOLS = ["Promise"];
 
-const STATUS_PENDING = 0;
-const STATUS_RESOLVED = 1;
-const STATUS_REJECTED = 2;
+var STATUS_PENDING = 0;
+var STATUS_RESOLVED = 1;
+var STATUS_REJECTED = 2;
 
 function log(msg) {
     // Enable this to debug promises
     //dump("PROMISES: " + msg + "\n");
 }
 
 var PromiseWalker = {
     handlers: [],
--- a/calendar/providers/gdata/modules/shim/Task.jsm
+++ b/calendar/providers/gdata/modules/shim/Task.jsm
@@ -3,26 +3,26 @@
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 this.EXPORTED_SYMBOLS = [
   "Task"
 ];
 
-const Cc = Components.classes;
-const Ci = Components.interfaces;
-const Cu = Components.utils;
-const Cr = Components.results;
+var Cc = Components.classes;
+var Ci = Components.interfaces;
+var Cu = Components.utils;
+var Cr = Components.results;
 
 Cu.import("resource://gdata-provider/modules/shim/Promise.jsm");
 
 // The following error types are considered programmer errors, which should be
 // reported (possibly redundantly) so as to let programmers fix their code.
-const ERRORS_TO_REPORT = ["EvalError", "RangeError", "ReferenceError", "TypeError"];
+var ERRORS_TO_REPORT = ["EvalError", "RangeError", "ReferenceError", "TypeError"];
 
 var gCurrentTask = null;
 
 function linesOf(string) {
   let reLine = /([^\r\n])+/g;
   let match;
   while ((match = reLine.exec(string))) {
     yield [match[0], match.index];
--- a/calendar/providers/ics/calICSCalendar.js
+++ b/calendar/providers/ics/calICSCalendar.js
@@ -14,20 +14,20 @@ Components.utils.import("resource://cale
 // calICSCalendar.js
 //
 // This is a non-sync ics file. It reads the file pointer to by uri when set,
 // then writes it on updates. External changes to the file will be
 // ignored and overwritten.
 //
 // XXX Should do locks, so that external changes are not overwritten.
 
-const CI = Components.interfaces;
-const calIOperationListener = Components.interfaces.calIOperationListener;
-const calICalendar = Components.interfaces.calICalendar;
-const calIErrors = Components.interfaces.calIErrors;
+var CI = Components.interfaces;
+var calIOperationListener = Components.interfaces.calIOperationListener;
+var calICalendar = Components.interfaces.calICalendar;
+var calIErrors = Components.interfaces.calIErrors;
 
 function icsNSResolver(prefix) {
     const ns = {
         D: "DAV:"
     };
 
     return ns[prefix] || null;
 }
@@ -43,18 +43,18 @@ function calICSCalendar() {
     this.initProviderBase();
     this.initICSCalendar();
 
     this.unmappedComponents = [];
     this.unmappedProperties = [];
     this.queue = new Array();
     this.mModificationActions = [];
 }
-const calICSCalendarClassID = Components.ID("{f8438bff-a3c9-4ed5-b23f-2663b5469abf}");
-const calICSCalendarInterfaces = [
+var calICSCalendarClassID = Components.ID("{f8438bff-a3c9-4ed5-b23f-2663b5469abf}");
+var calICSCalendarInterfaces = [
     Components.interfaces.calICalendarProvider,
     Components.interfaces.calICalendar,
     Components.interfaces.calISchedulingSupport,
     Components.interfaces.nsIStreamListener,
     Components.interfaces.nsIStreamLoaderObserver,
     Components.interfaces.nsIChannelEventSink,
     Components.interfaces.nsIInterfaceRequestor,
 ];
@@ -1102,13 +1102,13 @@ fileHooks.prototype = {
         let filechannel = aChannel.QueryInterface(Components.interfaces.nsIFileChannel);
         this.mtime = filechannel.file.lastModifiedTime;
         aRespFunc();
         return true;
     }
 };
 
 /** Module Registration */
-const scriptLoadOrder = [
+var scriptLoadOrder = [
     "calUtils.js",
 ];
 
 var NSGetFactory = cal.loadingNSGetFactory(scriptLoadOrder, [calICSCalendar], this);
--- a/calendar/providers/memory/calMemoryCalendar.js
+++ b/calendar/providers/memory/calMemoryCalendar.js
@@ -8,26 +8,26 @@ Components.utils.import("resource://gre/
 Components.utils.import("resource://calendar/modules/calProviderUtils.jsm");
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://calendar/modules/calIteratorUtils.jsm");
 
 //
 // calMemoryCalendar.js
 //
 
-const calCalendarManagerContractID = "@mozilla.org/calendar/manager;1";
-const calICalendarManager = Components.interfaces.calICalendarManager;
-const cICL = Components.interfaces.calIChangeLog;
+var calCalendarManagerContractID = "@mozilla.org/calendar/manager;1";
+var calICalendarManager = Components.interfaces.calICalendarManager;
+var cICL = Components.interfaces.calIChangeLog;
 
 function calMemoryCalendar() {
     this.initProviderBase();
     this.initMemoryCalendar();
 }
-const calMemoryCalendarClassID = Components.ID("{bda0dd7f-0a2f-4fcf-ba08-5517e6fbf133}");
-const calMemoryCalendarInterfaces = [
+var calMemoryCalendarClassID = Components.ID("{bda0dd7f-0a2f-4fcf-ba08-5517e6fbf133}");
+var calMemoryCalendarInterfaces = [
     Components.interfaces.calICalendar,
     Components.interfaces.calISchedulingSupport,
     Components.interfaces.calIOfflineStorage,
     Components.interfaces.calISyncWriteCalendar,
     Components.interfaces.calICalendarProvider
 ];
 calMemoryCalendar.prototype = {
     __proto__: cal.ProviderBase.prototype,
--- a/calendar/providers/storage/calStorageCalendar.js
+++ b/calendar/providers/storage/calStorageCalendar.js
@@ -6,32 +6,32 @@ Components.utils.import("resource://gre/
 Components.utils.import("resource://gre/modules/Services.jsm");
 
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://calendar/modules/calAlarmUtils.jsm");
 Components.utils.import("resource://calendar/modules/calProviderUtils.jsm");
 Components.utils.import("resource://calendar/modules/calStorageUpgrade.jsm");
 Components.utils.import("resource://calendar/modules/calStorageHelpers.jsm");
 
-const USECS_PER_SECOND = 1000000;
-const kCalICalendar = Components.interfaces.calICalendar;
-const cICL = Components.interfaces.calIChangeLog;
+var USECS_PER_SECOND = 1000000;
+var kCalICalendar = Components.interfaces.calICalendar;
+var cICL = Components.interfaces.calIChangeLog;
 
 //
 // calStorageCalendar
 //
 
 function calStorageCalendar() {
     this.initProviderBase();
     this.mItemCache = {};
     this.mRecEventCache = {};
     this.mRecTodoCache = {};
 }
-const calStorageCalendarClassID = Components.ID("{b3eaa1c4-5dfe-4c0a-b62a-b3a514218461}");
-const calStorageCalendarInterfaces = [
+var calStorageCalendarClassID = Components.ID("{b3eaa1c4-5dfe-4c0a-b62a-b3a514218461}");
+var calStorageCalendarInterfaces = [
     Components.interfaces.calICalendar,
     Components.interfaces.calICalendarProvider,
     Components.interfaces.calIOfflineStorage,
     Components.interfaces.calISchedulingSupport,
     Components.interfaces.calISyncWriteCalendar,
 ];
 calStorageCalendar.prototype = {
     __proto__: cal.ProviderBase.prototype,
@@ -2439,13 +2439,13 @@ calStorageCalendar.prototype = {
                     }
                 }
             }
         }
     }
 };
 
 /** Module Registration */
-const scriptLoadOrder = [
+var scriptLoadOrder = [
     "calUtils.js",
 ];
 
 var NSGetFactory = cal.loadingNSGetFactory(scriptLoadOrder, [calStorageCalendar], this);
--- a/calendar/providers/wcap/calWcapCalendar.js
+++ b/calendar/providers/wcap/calWcapCalendar.js
@@ -5,18 +5,18 @@
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 function calWcapCalendar(/*optional*/session, /*optional*/calProps) {
     this.initProviderBase();
     this.m_session = session;
     this.m_calProps = calProps;
 }
-const calWcapCalendarClassID = Components.ID("{cf4d93e5-af79-451a-95f3-109055b32ef0}");
-const calWcapCalendarInterfaces = [
+var calWcapCalendarClassID = Components.ID("{cf4d93e5-af79-451a-95f3-109055b32ef0}");
+var calWcapCalendarInterfaces = [
     calIWcapCalendar,
     calICalendar,
     Components.interfaces.calISchedulingSupport,
     Components.interfaces.calIChangeLog,
     Components.interfaces.calICalendarProvider,
 ];
 calWcapCalendar.prototype = {
     __proto__: cal.ProviderBase.prototype,
--- a/calendar/providers/wcap/calWcapCalendarItems.js
+++ b/calendar/providers/wcap/calWcapCalendarItems.js
@@ -267,21 +267,21 @@ function diffProperty(newItem, oldItem, 
         }
         if (val == oldVal) {
             val = null;
         }
     }
     return val;
 }
 
-const METHOD_PUBLISH = 1;
-const METHOD_REQUEST = 2;
-const METHOD_REPLY   = 4;
-const METHOD_CANCEL  = 8;
-const METHOD_UPDATE  = 256;
+var METHOD_PUBLISH = 1;
+var METHOD_REQUEST = 2;
+var METHOD_REPLY   = 4;
+var METHOD_CANCEL  = 8;
+var METHOD_UPDATE  = 256;
 
 calWcapCalendar.prototype.storeItem =
 function calWcapCalendar_storeItem(bAddItem, item, oldItem, request) {
     function getOrgId(item) {
         return (item && item.organizer && item.organizer.id ? item.organizer.id : null);
     }
     function encodeAttendees(atts) {
         function attendeeSort(one, two) {
--- a/calendar/providers/wcap/calWcapCalendarModule.js
+++ b/calendar/providers/wcap/calWcapCalendarModule.js
@@ -5,30 +5,30 @@
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://gre/modules/Preferences.jsm");
 
 //
 // init code for globals, prefs:
 //
 
 // constants:
-const NS_OK = Components.results.NS_OK;
-const NS_ERROR_UNEXPECTED = Components.results.NS_ERROR_UNEXPECTED;
-const nsIException = Components.interfaces.nsIException;
-const nsISupports = Components.interfaces.nsISupports;
-const calIWcapSession = Components.interfaces.calIWcapSession;
-const calIWcapCalendar = Components.interfaces.calIWcapCalendar;
-const calIWcapErrors = Components.interfaces.calIWcapErrors;
-const calICalendar = Components.interfaces.calICalendar;
-const calIItemBase = Components.interfaces.calIItemBase;
-const calIOperationListener = Components.interfaces.calIOperationListener;
-const calIFreeBusyProvider = Components.interfaces.calIFreeBusyProvider;
-const calIFreeBusyInterval = Components.interfaces.calIFreeBusyInterval;
-const calICalendarSearchProvider = Components.interfaces.calICalendarSearchProvider;
-const calIErrors = Components.interfaces.calIErrors;
+var NS_OK = Components.results.NS_OK;
+var NS_ERROR_UNEXPECTED = Components.results.NS_ERROR_UNEXPECTED;
+var nsIException = Components.interfaces.nsIException;
+var nsISupports = Components.interfaces.nsISupports;
+var calIWcapSession = Components.interfaces.calIWcapSession;
+var calIWcapCalendar = Components.interfaces.calIWcapCalendar;
+var calIWcapErrors = Components.interfaces.calIWcapErrors;
+var calICalendar = Components.interfaces.calICalendar;
+var calIItemBase = Components.interfaces.calIItemBase;
+var calIOperationListener = Components.interfaces.calIOperationListener;
+var calIFreeBusyProvider = Components.interfaces.calIFreeBusyProvider;
+var calIFreeBusyInterval = Components.interfaces.calIFreeBusyInterval;
+var calICalendarSearchProvider = Components.interfaces.calICalendarSearchProvider;
+var calIErrors = Components.interfaces.calIErrors;
 
 // some string resources:
 var g_privateItemTitle;
 var g_confidentialItemTitle;
 var g_busyItemTitle;
 var g_busyPhantomItemUuidPrefix;
 
 // global preferences:
@@ -54,17 +54,17 @@ function initWcapProvider() {
         CACHE_LAST_RESULTS = Preferences.get("calendar.wcap.cache_last_results", 4);
         CACHE_LAST_RESULTS_INVALIDATE = Preferences.get("calendar.wcap.cache_last_results_invalidate", 120);
     } catch (exc) {
         logError(exc, "error in init sequence");
     }
 }
 
 /** Module Registration */
-const scriptLoadOrder = [
+var scriptLoadOrder = [
     "calUtils.js",
     "calWcapUtils.js",
     "calWcapErrors.js",
     "calWcapRequest.js",
     "calWcapSession.js",
     "calWcapCalendar.js",
     "calWcapCalendarItems.js"
 ];
--- a/calendar/providers/wcap/calWcapErrors.js
+++ b/calendar/providers/wcap/calWcapErrors.js
@@ -1,19 +1,19 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const NS_ERROR_INVALID_ARG = Components.results.NS_ERROR_INVALID_ARG;
+var NS_ERROR_INVALID_ARG = Components.results.NS_ERROR_INVALID_ARG;
 
 //
 // Common netwerk errors:
 //
-const NS_ERROR_MODULE_BASE_OFFSET = 0x45;
-const NS_ERROR_MODULE_NETWORK = 6;
+var NS_ERROR_MODULE_BASE_OFFSET = 0x45;
+var NS_ERROR_MODULE_NETWORK = 6;
 
 function generateFailure(module, code) {
     // 1<<31 generates negative number, so use literal, don't use logical operators:
     return (0x80000000 + ((module + NS_ERROR_MODULE_BASE_OFFSET) << 16) + code);
 }
 
 function generateNetFailure(code) {
     return generateFailure(NS_ERROR_MODULE_NETWORK, code);
@@ -44,27 +44,27 @@ function checkErrorCode(err, rcBits, mas
 
 // Cannot perform operation, because user is offline.
 // The following error codes have been adopted from
 // xpcom/base/nsError.h
 // and ought to be defined in IDL. xxx todo
 
 // The requested action could not be completed while the networking
 // is in the offline state.
-const NS_ERROR_OFFLINE = generateNetFailure(16);
+var NS_ERROR_OFFLINE = generateNetFailure(16);
 
 // The async request completed successfully.
-const NS_BINDING_SUCCEEDED = NS_OK;
+var NS_BINDING_SUCCEEDED = NS_OK;
 
-const NS_BINDING_FAILED = generateNetFailure(1);
-const NS_BINDING_ABORTED = generateNetFailure(2);
-const NS_BINDING_REDIRECTED = generateNetFailure(3);
-const NS_BINDING_RETARGETED = generateNetFailure(4);
+var NS_BINDING_FAILED = generateNetFailure(1);
+var NS_BINDING_ABORTED = generateNetFailure(2);
+var NS_BINDING_REDIRECTED = generateNetFailure(3);
+var NS_BINDING_RETARGETED = generateNetFailure(4);
 
-const g_nsNetErrorCodes = [
+var g_nsNetErrorCodes = [
     NS_BINDING_FAILED,
     "The async request failed for some unknown reason.",
     NS_BINDING_ABORTED,
     "The async request failed because it was aborted by some user action.",
     NS_BINDING_REDIRECTED,
     "The async request has been redirected to a different async request.",
     NS_BINDING_RETARGETED,
     "The async request has been retargeted to a different handler.",
@@ -116,17 +116,17 @@ function netErrorToString(rc) {
     throw new Components.Exception("No known network error code: " + rc.toString(0x10), NS_ERROR_INVALID_ARG);
 }
 
 
 //
 // WCAP error handling helpers
 //
 
-const g_wcapErrorCodes = [
+var g_wcapErrorCodes = [
     /* -1 */ NS_OK, "Logout successful.",
     /*  0 */ NS_OK, "Command successful.",
     /*  1 */ calIWcapErrors.WCAP_LOGIN_FAILED, calGetString("wcap", "loginFailed.text"),
     /*  2 */ calIWcapErrors.WCAP_LOGIN_OK_DEFAULT_CALENDAR_NOT_FOUND, "login.wcap was successful, but the default calendar for this user was not found. A new default calendar set to the userid was created.",
     /*  3 */ NS_ERROR_INVALID_ARG, "No WCAP error code.",
     /*  4 */ NS_ERROR_INVALID_ARG, "No WCAP error code.",
     /*  5 */ NS_ERROR_INVALID_ARG, "No WCAP error code.",
     /*  6 */ calIWcapErrors.WCAP_DELETE_EVENTS_BY_ID_FAILED, "WCAP_DELETE_EVENTS_BY_ID_FAILED",
--- a/calendar/providers/wcap/calWcapRequest.js
+++ b/calendar/providers/wcap/calWcapRequest.js
@@ -187,18 +187,18 @@ calWcapRequest.prototype = {
 
 function calWcapNetworkRequest(url, respFunc, bLogging) {
     this.wrappedJSObject = this;
     this.m_id = generateRequestId();
     this.m_url = url;
     this.m_respFunc = respFunc;
     this.m_bLogging = (bLogging === undefined ? true : bLogging);
 }
-const calWcapNetworkRequestClassID = Components.ID("{e3c62b37-83cf-41ec-9872-0af9f952430a}");
-const calWcapNetworkRequestInterfaces = [
+var calWcapNetworkRequestClassID = Components.ID("{e3c62b37-83cf-41ec-9872-0af9f952430a}");
+var calWcapNetworkRequestInterfaces = [
     Components.interfaces.nsIUnicharStreamLoaderObserver,
     Components.interfaces.nsIInterfaceRequestor,
     Components.interfaces.nsIChannelEventSink,
     Components.interfaces.calIOperation,
 ];
 calWcapNetworkRequest.prototype = {
     m_id: 0,
     m_url: null,
--- a/calendar/providers/wcap/calWcapSession.js
+++ b/calendar/providers/wcap/calWcapSession.js
@@ -97,18 +97,18 @@ function calWcapSession(contextId) {
     this.wrappedJSObject = this;
     this.m_contextId = contextId;
     this.m_loginQueue = [];
 
     // listen for shutdown, being logged out:
     Services.obs.addObserver(this, "quit-application", false /* don't hold weakly */);
     cal.getCalendarManager().addObserver(this);
 }
-const calWcapSessionClassID = Components.ID("{cbf803fd-4469-4999-ae39-367af1c7b077}");
-const calWcapSessionInterfaces = [
+var calWcapSessionClassID = Components.ID("{cbf803fd-4469-4999-ae39-367af1c7b077}");
+var calWcapSessionInterfaces = [
     calIWcapSession,
     calIFreeBusyProvider,
     calICalendarSearchProvider,
     Components.interfaces.calITimezoneProvider,
     Components.interfaces.calICalendarManagerObserver
 ];
 calWcapSession.prototype = {
     classID: calWcapSessionClassID,
--- a/calendar/test/mozmill/eventDialog/testEventDialogModificationPrompt.js
+++ b/calendar/test/mozmill/eventDialog/testEventDialogModificationPrompt.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var modalDialog = require("../shared-modules/modal-dialog");
 var prefs = require("../shared-modules/prefs");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var title = "Title";
 var location = "Location";
 var description = "Description\ncontinuing";
 var pass;
 var date1 = new Date(2009, 0, 1,  8, 0);
 var date2 = new Date(2009, 0, 2,  9, 0);
 var date3 = new Date(2009, 0, 3, 10, 0);
--- a/calendar/test/mozmill/recurrence/testAnnualRecurrence.js
+++ b/calendar/test/mozmill/recurrence/testAnnualRecurrence.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var startYear = 1950;
 var epoch = 1970;
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
 }
--- a/calendar/test/mozmill/recurrence/testBiweeklyRecurrence.js
+++ b/calendar/test/mozmill/recurrence/testBiweeklyRecurrence.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  
 var calUtils = require("../shared-modules/calendar-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var hour = 8;
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
 }
 
--- a/calendar/test/mozmill/recurrence/testDailyRecurrence.js
+++ b/calendar/test/mozmill/recurrence/testDailyRecurrence.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var hour = 8;
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
 }
 
--- a/calendar/test/mozmill/recurrence/testLastDayOfMonthRecurrence.js
+++ b/calendar/test/mozmill/recurrence/testLastDayOfMonthRecurrence.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  
 var calUtils = require("../shared-modules/calendar-utils");
 var modalDialog = require("../shared-modules/modal-dialog");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var hour = 8;
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
 }
 
--- a/calendar/test/mozmill/recurrence/testWeeklyNRecurrence.js
+++ b/calendar/test/mozmill/recurrence/testWeeklyNRecurrence.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var modalDialog = require("../shared-modules/modal-dialog");
 var utils = require("../shared-modules/utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var hour = 8;
 var eventPath = '/{"tooltip":"itemTooltip","calendar":"' + calendar.toLowerCase() + '"}';
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
 }
--- a/calendar/test/mozmill/recurrence/testWeeklyUntilRecurrence.js
+++ b/calendar/test/mozmill/recurrence/testWeeklyUntilRecurrence.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  
 var calUtils = require("../shared-modules/calendar-utils");
 var modalDialog = require("../shared-modules/modal-dialog");
 var utils = require("../shared-modules/utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var endDate = new Date(2009, 0, 26); // last Monday in month
 
 var hour = 8;
 var eventPath = '/{"tooltip":"itemTooltip","calendar":"' + calendar.toLowerCase() + '"}';
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
--- a/calendar/test/mozmill/recurrence/testWeeklyWithExceptionRecurrence.js
+++ b/calendar/test/mozmill/recurrence/testWeeklyWithExceptionRecurrence.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var modalDialog = require("../shared-modules/modal-dialog");
 var utils = require("../shared-modules/utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var hour = 8;
 var startDate = new Date(2009, 0, 6);
 var eventPath = '/{"tooltip":"itemTooltip","calendar":"' + calendar.toLowerCase() + '"}';
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
--- a/calendar/test/mozmill/recurrenceRotated/testAnnualRecurrence.js
+++ b/calendar/test/mozmill/recurrenceRotated/testAnnualRecurrence.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var startYear = 1950;
 var epoch = 1970;
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
 }
--- a/calendar/test/mozmill/recurrenceRotated/testBiweeklyRecurrence.js
+++ b/calendar/test/mozmill/recurrenceRotated/testBiweeklyRecurrence.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  
 var calUtils = require("../shared-modules/calendar-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var hour = 8;
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
 }
 
--- a/calendar/test/mozmill/recurrenceRotated/testDailyRecurrence.js
+++ b/calendar/test/mozmill/recurrenceRotated/testDailyRecurrence.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var hour = 8;
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
 }
 
--- a/calendar/test/mozmill/recurrenceRotated/testLastDayOfMonthRecurrence.js
+++ b/calendar/test/mozmill/recurrenceRotated/testLastDayOfMonthRecurrence.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  
 var calUtils = require("../shared-modules/calendar-utils");
 var modalDialog = require("../shared-modules/modal-dialog");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var hour = 8;
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
 }
 
--- a/calendar/test/mozmill/recurrenceRotated/testWeeklyNRecurrence.js
+++ b/calendar/test/mozmill/recurrenceRotated/testWeeklyNRecurrence.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var modalDialog = require("../shared-modules/modal-dialog");
 var utils = require("../shared-modules/utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var hour = 8;
 var eventPath = '/{"tooltip":"itemTooltip","calendar":"' + calendar.toLowerCase() + '"}';
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
 }
--- a/calendar/test/mozmill/recurrenceRotated/testWeeklyUntilRecurrence.js
+++ b/calendar/test/mozmill/recurrenceRotated/testWeeklyUntilRecurrence.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  
 var calUtils = require("../shared-modules/calendar-utils");
 var modalDialog = require("../shared-modules/modal-dialog");
 var utils = require("../shared-modules/utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var endDate = new Date(2009, 0, 26); // last Monday in month
 var hour = 8;
 var eventPath = '/{"tooltip":"itemTooltip","calendar":"' + calendar.toLowerCase() + '"}';
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
--- a/calendar/test/mozmill/recurrenceRotated/testWeeklyWithExceptionRecurrence.js
+++ b/calendar/test/mozmill/recurrenceRotated/testWeeklyWithExceptionRecurrence.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var modalDialog = require("../shared-modules/modal-dialog");
 var utils = require("../shared-modules/utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var hour = 8;
 var startDate = new Date(2009, 0, 6);
 var eventPath = '/{"tooltip":"itemTooltip","calendar":"' + calendar.toLowerCase() + '"}';
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, calendar);
--- a/calendar/test/mozmill/shared-modules/calendar-utils.js
+++ b/calendar/test/mozmill/shared-modules/calendar-utils.js
@@ -5,20 +5,20 @@
 var MODULE_NAME = "calendar-utils";
 var MODULE_REQUIRES = ["window-helpers"];
 
 var os = {};      Components.utils.import('resource://mozmill/stdlib/os.js', os);
 var frame = {};      Components.utils.import('resource://mozmill/modules/frame.js', frame);
 
 var modalDialog = require("test-window-helpers");
 
-const sleep = 500;
-const EVENT_BOX = 0; // Use when you need an event box
-const CANVAS_BOX = 1; // Use when you need a calendar canvas box
-const ALLDAY = 2; // Use when you need an allday canvas or event box
+var sleep = 500;
+var EVENT_BOX = 0; // Use when you need an event box
+var CANVAS_BOX = 1; // Use when you need a calendar canvas box
+var ALLDAY = 2; // Use when you need an allday canvas or event box
 
 /**
  *  Accept to send notification email with event to attendees
  *  @param controller - Mozmill window controller
  */
 function acceptSendingNotificationMail(controller) {
   modalDialog.plan_for_modal_dialog("commonDialog", function(dialog) {
       dialog.waitThenClick(new elementslib.Lookup(dialog.window.document, '/id("commonDialog")/'
--- a/calendar/test/mozmill/shared-modules/timezone-utils.js
+++ b/calendar/test/mozmill/shared-modules/timezone-utils.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  
 var calUtils = require("calendar-utils");
 var prefs = require("prefs");
 
-const sleep = 500;
+var sleep = 500;
 
 function switchAppTimezone(timezone) {
   // change directly as Mac has different Lookup & XPath than Windows & Linux, bug 536605
   prefs.preferences.setPref("calendar.timezone.local", timezone);
 }
 
 function verify(controller, dates, timezones, times) {
   let dayView = '/id("messengerWindow")/id("tabmail-container")/id("tabmail")/'
--- a/calendar/test/mozmill/testBasicFunctionality.js
+++ b/calendar/test/mozmill/testBasicFunctionality.js
@@ -1,18 +1,18 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const MODULE_NAME = "testBasicFunctionality";
-const RELATIVE_ROOT = "./shared-modules";
-const MODULE_REQUIRES = ["calendar-utils", "window-helpers"];
+var MODULE_NAME = "testBasicFunctionality";
+var RELATIVE_ROOT = "./shared-modules";
+var MODULE_REQUIRES = ["calendar-utils", "window-helpers"];
 
 var calUtils = require("shared-modules/calendar-utils");
-const TIMEOUT_MODAL_DIALOG = 30000;
+var TIMEOUT_MODAL_DIALOG = 30000;
 
 var modalDialog;
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   modalDialog = collector.getModule('window-helpers');
 }
 
 var testSmokeTest = function () {
--- a/calendar/test/mozmill/testLocalICS.js
+++ b/calendar/test/mozmill/testLocalICS.js
@@ -1,23 +1,23 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const MODULE_NAME = "testLocalICS";
-const RELATIVE_ROOT = "./shared-modules";
-const MODULE_REQUIRES = ["calendar-utils", "window-helpers"];
+var MODULE_NAME = "testLocalICS";
+var RELATIVE_ROOT = "./shared-modules";
+var MODULE_REQUIRES = ["calendar-utils", "window-helpers"];
 
 var calUtils = require("./shared-modules/calendar-utils");
 var modalDialog; // Initialized in setupModule
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://gre/modules/Services.jsm");
 
-const sleep = 500;
-const TIMEOUT_MODAL_DIALOG = 30000;
+var sleep = 500;
+var TIMEOUT_MODAL_DIALOG = 30000;
 var hour = 8;
 var calendar;
 var uri;
 var file;
 var title;
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
--- a/calendar/test/mozmill/testTodayPane.js
+++ b/calendar/test/mozmill/testTodayPane.js
@@ -2,18 +2,18 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 
 var MODULE_NAME = "testTodayPane";
 var RELATIVE_ROOT = "./shared-modules";
 var MODULE_REQUIRES = ["calendar-utils"];
 
-const WAIT_FOR_WINDOW_TIMEOUT = 500;
-const MOZMILL_CALENDAR = "Mozmill";
+var WAIT_FOR_WINDOW_TIMEOUT = 500;
+var MOZMILL_CALENDAR = "Mozmill";
 
 var calUtils = require("./shared-modules/calendar-utils");
 
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
   calUtils.createCalendar(controller, MOZMILL_CALENDAR);
--- a/calendar/test/mozmill/timezoneTests/test10.js
+++ b/calendar/test/mozmill/timezoneTests/test10.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var prefs = require("../shared-modules/prefs");
 var timezoneUtils = require("../shared-modules/timezone-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var dates = [[2009,  1,  1], [2009,  4,  2], [2009,  4, 16], [2009,  4, 30],
              [2009,  7,  2], [2009, 10, 15], [2009, 10, 29], [2009, 11,  5]];
 var timezones = ["America/St_Johns", "America/Caracas", "America/Phoenix", "America/Los_Angeles",
                  "America/Argentina/Buenos_Aires", "Europe/Paris", "Asia/Kathmandu", "Australia/Adelaide"];
 /* rows - dates
    columns - correct time for each event */
 var times = [[[18, 30], [19, 30], [20, 30], [21, 30], [22, 30], [23, 30], [0, 30, +1], [1, 30, +1]],
--- a/calendar/test/mozmill/timezoneTests/test2.js
+++ b/calendar/test/mozmill/timezoneTests/test2.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var modalDialog = require("../shared-modules/modal-dialog");
 var timezoneUtils = require("../shared-modules/timezone-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var timezones = ["America/St_Johns", "America/Caracas", "America/Phoenix", "America/Los_Angeles",
                  "America/Argentina/Buenos_Aires", "Europe/Paris", "Asia/Kathmandu", "Australia/Adelaide"];
 var times = [[4, 30], [4, 30], [3, 0], [3, 0], [9, 0], [14, 0], [19, 45], [1, 30]];
 var gTimezone;
 
 var setupModule = function(module) {
   controller = mozmill.getMail3PaneController();
--- a/calendar/test/mozmill/timezoneTests/test3.js
+++ b/calendar/test/mozmill/timezoneTests/test3.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var timezoneUtils = require("../shared-modules/timezone-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var dates = [[2009,  1,  1], [2009,  4,  2], [2009,  4, 16], [2009,  4, 30],
              [2009,  7,  2], [2009, 10, 15], [2009, 10, 29], [2009, 11,  5]];
 var timezones = ["America/St_Johns", "America/Caracas", "America/Phoenix", "America/Los_Angeles",
                  "America/Argentina/Buenos_Aires", "Europe/Paris", "Asia/Kathmandu", "Australia/Adelaide"];
 /* rows - dates
    columns - correct time for each event */
 var times = [[[4, 30], [5, 30], [6, 30], [7, 30],  [8, 30],  [9, 30], [10, 30], [11, 30]],
--- a/calendar/test/mozmill/timezoneTests/test4.js
+++ b/calendar/test/mozmill/timezoneTests/test4.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var timezoneUtils = require("../shared-modules/timezone-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var dates = [[2009,  1,  1], [2009,  4,  2], [2009,  4, 16], [2009,  4, 30],
              [2009,  7,  2], [2009, 10, 15], [2009, 10, 29], [2009, 11,  5]];
 var timezones = ["America/St_Johns", "America/Caracas", "America/Phoenix", "America/Los_Angeles",
                  "America/Argentina/Buenos_Aires", "Europe/Paris", "Asia/Kathmandu", "Australia/Adelaide"];
 /* rows - dates
    columns - correct time for each event */
 var times = [[[3, 30], [4, 30], [5, 30], [6, 30], [7, 30], [8, 30], [9, 30], [10, 30]],
--- a/calendar/test/mozmill/timezoneTests/test5.js
+++ b/calendar/test/mozmill/timezoneTests/test5.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var timezoneUtils = require("../shared-modules/timezone-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var dates = [[2009,  1,  1], [2009,  4,  2], [2009,  4, 16], [2009,  4, 30],
              [2009,  7,  2], [2009, 10, 15], [2009, 10, 29], [2009, 11,  5]];
 var timezones = ["America/St_Johns", "America/Caracas", "America/Phoenix", "America/Los_Angeles",
                  "America/Argentina/Buenos_Aires", "Europe/Paris", "Asia/Kathmandu", "Australia/Adelaide"];
 /* rows - dates
    columns - correct time for each event */
 var times = [[[1, 0], [2, 0], [3, 0], [4, 0], [5, 0], [6, 0], [7, 0], [8, 0]],
--- a/calendar/test/mozmill/timezoneTests/test6.js
+++ b/calendar/test/mozmill/timezoneTests/test6.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var timezoneUtils = require("../shared-modules/timezone-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var dates = [[2009,  1,  1], [2009,  4,  2], [2009,  4, 16], [2009,  4, 30],
              [2009,  7,  2], [2009, 10, 15], [2009, 10, 29], [2009, 11,  5]];
 var timezones = ["America/St_Johns", "America/Caracas", "America/Phoenix", "America/Los_Angeles",
                  "America/Argentina/Buenos_Aires", "Europe/Paris", "Asia/Kathmandu", "Australia/Adelaide"];
 /* rows - dates
    columns - correct time for each event */
 var times = [[[0, 0], [1, 0], [2, 0], [3, 0], [4, 0], [5, 0], [6, 0], [7, 0]],
--- a/calendar/test/mozmill/timezoneTests/test7.js
+++ b/calendar/test/mozmill/timezoneTests/test7.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var timezoneUtils = require("../shared-modules/timezone-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var dates = [[2009,  1,  1], [2009,  4,  2], [2009,  4, 16], [2009,  4, 30],
              [2009,  7,  2], [2009, 10, 15], [2009, 10, 29], [2009, 11,  5]];
 var timezones = ["America/St_Johns", "America/Caracas", "America/Phoenix", "America/Los_Angeles",
                  "America/Argentina/Buenos_Aires", "Europe/Paris", "Asia/Kathmandu", "Australia/Adelaide"];
 /* rows - dates
    columns - correct time for each event */
 var times = [[[5, 0], [6, 0], [7, 0], [8, 0], [9, 0], [10, 0], [11, 0], [12, 0]],
--- a/calendar/test/mozmill/timezoneTests/test8.js
+++ b/calendar/test/mozmill/timezoneTests/test8.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var timezoneUtils = require("../shared-modules/timezone-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var dates = [[2009,  1,  1], [2009,  4,  2], [2009,  4, 16], [2009,  4, 30],
              [2009,  7,  2], [2009, 10, 15], [2009, 10, 29], [2009, 11,  5]];
 var timezones = ["America/St_Johns", "America/Caracas", "America/Phoenix", "America/Los_Angeles",
                  "America/Argentina/Buenos_Aires", "Europe/Paris", "Asia/Kathmandu", "Australia/Adelaide"];
 /* rows - dates
    columns - correct time for each event */
 var times = [[[9, 0], [10, 0], [11, 0], [12, 0], [13, 0], [14, 0], [15, 0], [16, 0]],
--- a/calendar/test/mozmill/timezoneTests/test9.js
+++ b/calendar/test/mozmill/timezoneTests/test9.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var calUtils = require("../shared-modules/calendar-utils");
 var timezoneUtils = require("../shared-modules/timezone-utils");
 
-const sleep = 500;
+var sleep = 500;
 var calendar = "Mozmill";
 var dates = [[2009,  1,  1], [2009,  4,  2], [2009,  4, 16], [2009,  4, 30],
              [2009,  7,  2], [2009, 10, 15], [2009, 10, 29], [2009, 11,  5]];
 var timezones = ["America/St_Johns", "America/Caracas", "America/Phoenix", "America/Los_Angeles",
                  "America/Argentina/Buenos_Aires", "Europe/Paris", "Asia/Kathmandu", "Australia/Adelaide"];
 /* rows - dates
    columns - correct time for each event */
 var times = [[[13, 45], [14, 45], [15, 45], [16, 45], [17, 45], [18, 45], [19, 45], [20, 45]],
--- a/calendar/test/unit/head_consts.js
+++ b/calendar/test/unit/head_consts.js
@@ -3,19 +3,19 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://gre/modules/Services.jsm");
 Components.utils.import("resource://gre/modules/Preferences.jsm");
 
 Components.utils.import("resource://testing-common/AppInfo.jsm");
 updateAppInfo();
 
-const Cc = Components.classes;
-const Ci = Components.interfaces;
-const Cr = Components.results;
+var Cc = Components.classes;
+var Ci = Components.interfaces;
+var Cr = Components.results;
 
 (function load_lightning_manifest() {
   let bindir = Services.dirsvc.get("CurProcD", Components.interfaces.nsIFile);
   bindir.append("extensions");
   bindir.append("{e2fda1a4-762b-4020-b5ad-a41df1933103}");
   bindir.append("chrome.manifest");
   dump("Loading" + bindir.path + "\n");
   Components.manager.autoRegister(bindir);
--- a/calendar/test/unit/test_alarmservice.js
+++ b/calendar/test/unit/test_alarmservice.js
@@ -1,18 +1,18 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://calendar/modules/calUtils.jsm");
 Components.utils.import("resource://gre/modules/Services.jsm");
 
-const EXPECT_NONE = 0;
-const EXPECT_FIRED = 1;
-const EXPECT_TIMER = 2;
+var EXPECT_NONE = 0;
+var EXPECT_FIRED = 1;
+var EXPECT_TIMER = 2;
 
 function do_check_xor(a, b) { return ok((a && !b) || (!a && b)); }
 
 var alarmObserver = {
     service: null,
     firedMap: {},
     expectedMap: {},
     pendingOps: {},
--- a/calendar/test/unit/test_freebusy_service.js
+++ b/calendar/test/unit/test_freebusy_service.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 Components.utils.import("resource://calendar/modules/calProviderUtils.jsm");
 
-const cIFI = Components.interfaces.calIFreeBusyInterval;
+var cIFI = Components.interfaces.calIFreeBusyInterval;
 var freebusy = Components.classes["@mozilla.org/calendar/freebusy-service;1"]
                          .getService(Components.interfaces.calIFreeBusyService);
 
 function run_test() {
     test_found();
     test_failure();
     test_cancel();
 }
--- a/calendar/test/unit/test_ics.js
+++ b/calendar/test/unit/test_ics.js
@@ -5,17 +5,17 @@
 function run_test() {
     test_folding();
     test_icalProps();
     test_roundtrip();
     test_duration();
     test_serialize();
 }
 
-const test_data = [
+var test_data = [
     {
       expectedDateProps: {
           month: 10,
           day: 25,
           year: 2004,
           isDate: true
       },
       expectedProps: {
--- a/calendar/test/unit/test_search_service.js
+++ b/calendar/test/unit/test_search_service.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
-const HINT_EXACT_MATCH = Components.interfaces.calICalendarSearchProvider.HINT_EXACT_MATCH;
+var HINT_EXACT_MATCH = Components.interfaces.calICalendarSearchProvider.HINT_EXACT_MATCH;
 var search = Components.classes["@mozilla.org/calendar/calendarsearch-service;1"]
                        .getService(Components.interfaces.calICalendarSearchService);
 
 function run_test() {
     test_found();
     test_failure();
     test_cancel();
 }
--- a/chat/components/src/imAccounts.js
+++ b/chat/components/src/imAccounts.js
@@ -1,31 +1,31 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
+var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource:///modules/jsProtoHelper.jsm");
 
-const kPrefAutologinPending = "messenger.accounts.autoLoginPending";
-const kPrefMessengerAccounts = "messenger.accounts";
-const kPrefAccountPrefix = "messenger.account.";
-const kAccountKeyPrefix = "account";
-const kAccountOptionPrefPrefix = "options.";
-const kPrefAccountName = "name";
-const kPrefAccountPrpl = "prpl";
-const kPrefAccountAutoLogin = "autoLogin";
-const kPrefAccountAutoJoin = "autoJoin";
-const kPrefAccountAlias = "alias";
-const kPrefAccountFirstConnectionState = "firstConnectionState";
+var kPrefAutologinPending = "messenger.accounts.autoLoginPending";
+var kPrefMessengerAccounts = "messenger.accounts";
+var kPrefAccountPrefix = "messenger.account.";
+var kAccountKeyPrefix = "account";
+var kAccountOptionPrefPrefix = "options.";
+var kPrefAccountName = "name";
+var kPrefAccountPrpl = "prpl";
+var kPrefAccountAutoLogin = "autoLogin";
+var kPrefAccountAutoJoin = "autoJoin";
+var kPrefAccountAlias = "alias";
+var kPrefAccountFirstConnectionState = "firstConnectionState";
 
-const kPrefConvertOldPasswords = "messenger.accounts.convertOldPasswords";
-const kPrefAccountPassword = "password";
+var kPrefConvertOldPasswords = "messenger.accounts.convertOldPasswords";
+var kPrefAccountPassword = "password";
 
 XPCOMUtils.defineLazyGetter(this, "_", () =>
   l10nHelper("chrome://chat/locale/accounts.properties")
 );
 
 XPCOMUtils.defineLazyGetter(this, "_maxDebugMessages", () =>
   Services.prefs.getIntPref("messenger.accounts.maxDebugMessages")
 );
@@ -1086,9 +1086,9 @@ AccountsService.prototype = {
   },
 
   QueryInterface: XPCOMUtils.generateQI([Ci.imIAccountsService]),
   classDescription: "Accounts",
   classID: Components.ID("{a94b5427-cd8d-40cf-b47e-b67671953e70}"),
   contractID: "@mozilla.org/chat/accounts-service;1"
 };
 
-const NSGetFactory = XPCOMUtils.generateNSGetFactory([AccountsService]);
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([AccountsService]);
--- a/chat/components/src/imCommands.js
+++ b/chat/components/src/imCommands.js
@@ -1,13 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
+var {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
 
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 
 XPCOMUtils.defineLazyGetter(this, "_", () =>
   l10nHelper("chrome://chat/locale/commands.properties")
 );
 
@@ -249,9 +249,9 @@ CommandsService.prototype = {
   },
 
   QueryInterface: XPCOMUtils.generateQI([Ci.imICommandsService]),
   classDescription: "Commands",
   classID: Components.ID("{7cb20c68-ccc8-4a79-b6f1-0b4771ed6c23}"),
   contractID: "@mozilla.org/chat/commands-service;1"
 };
 
-const NSGetFactory = XPCOMUtils.generateNSGetFactory([CommandsService]);
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([CommandsService]);
--- a/chat/components/src/imContacts.js
+++ b/chat/components/src/imContacts.js
@@ -1,13 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
+var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/imServices.jsm");
 
 XPCOMUtils.defineLazyGetter(this, "_", () =>
   l10nHelper("chrome://chat/locale/contacts.properties")
 );
 
 var gDBConnection = null;
@@ -1515,10 +1515,10 @@ ContactsService.prototype = {
   },
 
   QueryInterface: XPCOMUtils.generateQI([Ci.imIContactsService]),
   classDescription: "Contacts",
   classID: Components.ID("{8c3725dd-ee26-489d-8135-736015af8c7f}"),
   contractID: "@mozilla.org/chat/contacts-service;1"
 };
 
-const NSGetFactory = XPCOMUtils.generateNSGetFactory([ContactsService,
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([ContactsService,
                                                       TagsService]);
--- a/chat/components/src/imConversations.js
+++ b/chat/components/src/imConversations.js
@@ -1,13 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
+var {classes: Cc, interfaces: Ci, utils: Cu} = Components;
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource:///modules/imStatusUtils.jsm");
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/jsProtoHelper.jsm");
 
 var gLastUIConvId = 0;
 var gLastPrplConvId = 0;
 
@@ -651,9 +651,9 @@ ConversationsService.prototype = {
   },
 
   QueryInterface: XPCOMUtils.generateQI([Ci.imIConversationsService]),
   classDescription: "Conversations",
   classID: Components.ID("{b2397cd5-c76d-4618-8410-f344c7c6443a}"),
   contractID: "@mozilla.org/chat/conversations-service;1"
 };
 
-const NSGetFactory = XPCOMUtils.generateNSGetFactory([ConversationsService]);
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([ConversationsService]);
--- a/chat/components/src/imCore.js
+++ b/chat/components/src/imCore.js
@@ -1,32 +1,32 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
+var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 
 XPCOMUtils.defineLazyServiceGetter(this, "categoryManager",
                                    "@mozilla.org/categorymanager;1",
                                    "nsICategoryManager");
 
-const kQuitApplicationGranted = "quit-application-granted";
-const kProtocolPluginCategory = "im-protocol-plugin";
+var kQuitApplicationGranted = "quit-application-granted";
+var kProtocolPluginCategory = "im-protocol-plugin";
 
-const kPrefReportIdle =        "messenger.status.reportIdle";
-const kPrefUserIconFilename =  "messenger.status.userIconFileName";
-const kPrefUserDisplayname =   "messenger.status.userDisplayName";
-const kPrefTimeBeforeIdle =    "messenger.status.timeBeforeIdle";
-const kPrefAwayWhenIdle =      "messenger.status.awayWhenIdle";
-const kPrefDefaultMessage =    "messenger.status.defaultIdleAwayMessage";
+var kPrefReportIdle =        "messenger.status.reportIdle";
+var kPrefUserIconFilename =  "messenger.status.userIconFileName";
+var kPrefUserDisplayname =   "messenger.status.userDisplayName";
+var kPrefTimeBeforeIdle =    "messenger.status.timeBeforeIdle";
+var kPrefAwayWhenIdle =      "messenger.status.awayWhenIdle";
+var kPrefDefaultMessage =    "messenger.status.defaultIdleAwayMessage";
 
-const NS_IOSERVICE_GOING_OFFLINE_TOPIC = "network:offline-about-to-go-offline";
-const NS_IOSERVICE_OFFLINE_STATUS_TOPIC = "network:offline-status-changed";
+var NS_IOSERVICE_GOING_OFFLINE_TOPIC = "network:offline-about-to-go-offline";
+var NS_IOSERVICE_OFFLINE_STATUS_TOPIC = "network:offline-status-changed";
 
 function UserStatus()
 {
   this._observers = [];
 
   if (Services.prefs.getBoolPref(kPrefReportIdle))
     this._addIdleObserver();
   Services.prefs.addObserver(kPrefReportIdle, this, false);
@@ -364,9 +364,9 @@ CoreService.prototype = {
   },
 
   QueryInterface: XPCOMUtils.generateQI([Ci.imICoreService]),
   classDescription: "Core",
   classID: Components.ID("{073f5953-853c-4a38-bd81-255510c31c2e}"),
   contractID: "@mozilla.org/chat/core-service;1"
 };
 
-const NSGetFactory = XPCOMUtils.generateNSGetFactory([CoreService]);
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([CoreService]);
--- a/chat/components/src/logger.js
+++ b/chat/components/src/logger.js
@@ -1,27 +1,27 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {classes: Cc, interfaces: Ci, utils: Cu, Constructor: CC} = Components;
+var {classes: Cc, interfaces: Ci, utils: Cu, Constructor: CC} = Components;
 
 Cu.import("resource:///modules/hiddenWindow.jsm");
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/jsProtoHelper.jsm");
 
 Cu.import("resource://gre/modules/Task.jsm")
 XPCOMUtils.defineLazyModuleGetter(this, "OS", "resource://gre/modules/osfile.jsm");
 
 XPCOMUtils.defineLazyGetter(this, "_", () =>
   l10nHelper("chrome://chat/locale/logger.properties")
 );
 
-const kLineBreak = "@mozilla.org/windows-registry-key;1" in Cc ? "\r\n" : "\n";
+var kLineBreak = "@mozilla.org/windows-registry-key;1" in Cc ? "\r\n" : "\n";
 
 /*
  * Maps file paths to promises returned by ongoing OS.File operations on them.
  * This is so that a file can be read after a pending write operation completes
  * and vice versa (opening a file multiple times concurrently may fail on Windows).
  */
 var gFilePromises = new Map();
 
@@ -296,17 +296,17 @@ LogWriter.prototype = {
     lineToWrite = this.encoder.encode(lineToWrite);
     this._initialized.then(() => {
       appendToFile(this.currentPath, lineToWrite)
         .catch(aError => Cu.reportError("Failed to log message:\n" + aError));
     });
   }
 };
 
-const dummyLogWriter = {
+var dummyLogWriter = {
   paths: null,
   currentPath: null,
   logMessage: function() {}
 };
 
 
 var gLogWritersById = new Map();
 function getLogWriter(aConversation) {
@@ -353,17 +353,17 @@ SystemLogWriter.prototype = {
       this.encoder.encode("---- " + aString + " @ " + date + " ----" + kLineBreak);
     this._initialized.then(() => {
       appendToFile(this.path, lineToWrite)
         .catch(aError => Cu.reportError("Failed to log event:\n" + aError));
     });
   }
 };
 
-const dummySystemLogWriter = {
+var dummySystemLogWriter = {
   path: null,
   logEvent: function() {}
 };
 
 
 var gSystemLogWritersById = new Map();
 function getSystemLogWriter(aAccount, aCreate) {
   let id = aAccount.id;
@@ -912,9 +912,9 @@ Logger.prototype = {
   },
 
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver, Ci.imILogger]),
   classDescription: "Logger",
   classID: Components.ID("{fb0dc220-2c7a-4216-9f19-6b8f3480eae9}"),
   contractID: "@mozilla.org/chat/logger;1"
 };
 
-const NSGetFactory = XPCOMUtils.generateNSGetFactory([Logger]);
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([Logger]);
--- a/chat/components/src/smileProtocolHandler.js
+++ b/chat/components/src/smileProtocolHandler.js
@@ -1,19 +1,19 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
+var {classes: Cc, interfaces: Ci, utils: Cu} = Components;
 
 Cu.import("resource://gre/modules/Services.jsm");
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource:///modules/imSmileys.jsm");
 
-const kSmileRegexp = /^smile:\/\//;
+var kSmileRegexp = /^smile:\/\//;
 
 function smileProtocolHandler() { }
 
 smileProtocolHandler.prototype = {
   scheme: "smile",
   defaultPort: -1,
   protocolFlags: Ci.nsIProtocolHandler.URI_NORELATIVE |
                  Ci.nsIProtocolHandler.URI_NOAUTH |
@@ -39,9 +39,9 @@ smileProtocolHandler.prototype = {
   allowPort: function SPH_allowPort(aPort, aScheme) { return false; },
 
   classDescription: "Smile Protocol Handler",
   classID: Components.ID("{04e58eae-dfbc-4c9e-8130-6d9ef19cbff4}"),
   contractID: "@mozilla.org/network/protocol;1?name=smile",
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIProtocolHandler])
 };
 
-const NSGetFactory = XPCOMUtils.generateNSGetFactory([smileProtocolHandler]);
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([smileProtocolHandler]);
--- a/chat/components/src/test/test_accounts.js
+++ b/chat/components/src/test/test_accounts.js
@@ -1,13 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {interfaces: Ci, utils: Cu} = Components;
+var {interfaces: Ci, utils: Cu} = Components;
 
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource://testing-common/appInfoUtils.jsm");
 
 function run_test() {
   do_get_profile();
 
--- a/chat/components/src/test/test_commands.js
+++ b/chat/components/src/test/test_commands.js
@@ -1,37 +1,37 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {interfaces: Ci, utils: Cu} = Components;
+var {interfaces: Ci, utils: Cu} = Components;
 
 Cu.import("resource:///modules/imServices.jsm");
 // We don't load the command service via Services as we want to access
 // _findCommands in order to avoid having to intercept command execution.
 var imCommands = {};
 Services.scriptloader.loadSubScript("resource:///components/imCommands.js", imCommands);
 
-const kPrplId = "green";
-const kPrplId2 = "red";
+var kPrplId = "green";
+var kPrplId2 = "red";
 
-const fakeAccount = {
+var fakeAccount = {
   connected: true,
   protocol: {id: kPrplId}
 };
-const fakeDisconnectedAccount = {
+var fakeDisconnectedAccount = {
   connected: false,
   protocol: {id: kPrplId}
 };
-const fakeAccount2 = {
+var fakeAccount2 = {
   connected: true,
   protocol: {id: kPrplId2}
 };
 
-const fakeConversation = {
+var fakeConversation = {
   account: fakeAccount,
   isChat: true
 };
 
 function fakeCommand(aName, aUsageContext) {
   this.name = aName;
   if (aUsageContext)
     this.usageContext = aUsageContext;
--- a/chat/components/src/test/test_conversations.js
+++ b/chat/components/src/test/test_conversations.js
@@ -1,12 +1,12 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
-const {interfaces: Ci, utils: Cu} = Components;
+var {interfaces: Ci, utils: Cu} = Components;
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource:///modules/jsProtoHelper.jsm");
 
 var imConversations = {};
 Services.scriptloader.loadSubScript(
   "resource:///components/imConversations.js", imConversations
 );
 
--- a/chat/components/src/test/test_logger.js
+++ b/chat/components/src/test/test_logger.js
@@ -1,13 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {interfaces: Ci, utils: Cu} = Components;
+var {interfaces: Ci, utils: Cu} = Components;
 
 do_get_profile();
 
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource://gre/modules/osfile.jsm");
 Cu.import("resource://gre/modules/Task.jsm");
 
--- a/chat/content/browserRequest.js
+++ b/chat/content/browserRequest.js
@@ -1,13 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const wpl = Components.interfaces.nsIWebProgressListener;
+var wpl = Components.interfaces.nsIWebProgressListener;
 
 var reporterListener = {
   _isBusy: false,
   get statusMeter() {
     delete this.statusMeter;
     return this.statusMeter = document.getElementById("statusbar-icon");
   },
   get securityButton() {
--- a/chat/modules/imContentSink.jsm
+++ b/chat/modules/imContentSink.jsm
@@ -37,45 +37,45 @@ this.EXPORTED_SYMBOLS = [
  *
  *  - styles: an object with the allowed CSS style rule.
  *      example: 'font-size': true
  *    FIXME: make this accept functions to filter the CSS values too.
  *
  *  See the 3 examples of rulesets below.
  */
 
-const kAllowedURLs = aValue => /^(https?|ftp|mailto):/.test(aValue);
-const kAllowedMozClasses =
+var kAllowedURLs = aValue => /^(https?|ftp|mailto):/.test(aValue);
+var kAllowedMozClasses =
   aClassName => aClassName == "moz-txt-underscore" ||
                 aClassName == "moz-txt-tag";
 
 /* Tags whose content should be fully removed, and reported in the Error Console. */
-const kForbiddenTags = {
+var kForbiddenTags = {
   script: true,
   style: true
 };
 
 // in strict mode, remove all formatings. Keep only links and line breaks.
-const kStrictMode = {
+var kStrictMode = {
   attrs: { },
 
   tags: {
     'a': {
       'title': true,
       'href': kAllowedURLs
     },
     'br': true,
     'p': true
   },
 
   styles: { }
 };
 
 // standard mode allows basic formattings (bold, italic, underlined)
-const kStandardMode = {
+var kStandardMode = {
   attrs: {
     'style': true
   },
 
   tags: {
     'div': true,
     'a': {
       'title': true,
@@ -102,17 +102,17 @@ const kStandardMode = {
   styles: {
     'font-style': true,
     'font-weight': true,
     'text-decoration-line': true
   }
 };
 
 // permissive mode allows about anything that isn't going to mess up the chat window
-const kPermissiveMode = {
+var kPermissiveMode = {
   attrs: {
     'style': true
   },
 
   tags : {
     'div': true,
     'a': {
       'title': true,
@@ -151,18 +151,18 @@ const kPermissiveMode = {
     'font-style': true,
     'font-weight': true,
     'text-decoration-color': true,
     'text-decoration-style': true,
     'text-decoration-line': true
   }
 };
 
-const kModePref = "messenger.options.filterMode";
-const kModes = [kStrictMode, kStandardMode, kPermissiveMode];
+var kModePref = "messenger.options.filterMode";
+var kModes = [kStrictMode, kStandardMode, kPermissiveMode];
 
 var gGlobalRuleset = null;
 
 function initGlobalRuleset()
 {
   gGlobalRuleset = newRuleset();
 
   Services.prefs.addObserver(kModePref, styleObserver, false);
--- a/chat/modules/imSmileys.jsm
+++ b/chat/modules/imSmileys.jsm
@@ -7,18 +7,18 @@ Components.utils.import("resource:///mod
 this.EXPORTED_SYMBOLS = [
   "smileImMarkup", // used to add smile:// img tags into IM markup.
   "smileTextNode", // used to add smile:// img tags to the content of a textnode
   "smileString", // used to add smile:// img tags into a string without parsing it as HTML. Be sure the string doesn't contain HTML tags.
   "getSmileRealURI", // used to retrive the chrome URI for a smile:// URI
   "getSmileyList" // used to display a list of smileys in the UI
 ];
 
-const kEmoticonsThemePref = "messenger.options.emoticonsTheme";
-const kThemeFile = "theme.js";
+var kEmoticonsThemePref = "messenger.options.emoticonsTheme";
+var kThemeFile = "theme.js";
 
 __defineGetter__("gTheme", function() {
   delete this.gTheme;
   gPrefObserver.init();
   return this.gTheme = getTheme();
 });
 
 var gPrefObserver = {
--- a/chat/modules/imStatusUtils.jsm
+++ b/chat/modules/imStatusUtils.jsm
@@ -1,35 +1,35 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 this.EXPORTED_SYMBOLS = ["Status"];
 
-const {interfaces: Ci, utils: Cu} = Components;
+var {interfaces: Ci, utils: Cu} = Components;
 
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/imServices.jsm");
 
 XPCOMUtils.defineLazyGetter(this, "_", () =>
   l10nHelper("chrome://chat/locale/status.properties")
 );
 
-const imIStatusInfo = Ci.imIStatusInfo;
+var imIStatusInfo = Ci.imIStatusInfo;
 var statusAttributes = {};
 statusAttributes[imIStatusInfo.STATUS_UNKNOWN] = "unknown";
 statusAttributes[imIStatusInfo.STATUS_OFFLINE] = "offline";
 statusAttributes[imIStatusInfo.STATUS_INVISIBLE] = "invisible";
 statusAttributes[imIStatusInfo.STATUS_MOBILE] = "mobile";
 statusAttributes[imIStatusInfo.STATUS_IDLE] = "idle";
 statusAttributes[imIStatusInfo.STATUS_AWAY] = "away";
 statusAttributes[imIStatusInfo.STATUS_UNAVAILABLE] = "unavailable";
 statusAttributes[imIStatusInfo.STATUS_AVAILABLE] = "available";
 
-const Status = {
+var Status = {
   toAttribute: aStatusType =>
     aStatusType in statusAttributes ? statusAttributes[aStatusType] : "unknown",
 
   _labels: {},
   toLabel: function(aStatusType, aStatusText) {
     // aStatusType may be either one of the (integral) imIStatusInfo status
     // constants, or one of the statusAttributes.
     if (!(typeof aStatusType == "string"))
--- a/chat/modules/imTextboxUtils.jsm
+++ b/chat/modules/imTextboxUtils.jsm
@@ -4,17 +4,17 @@
 
 this.EXPORTED_SYMBOLS = [
   "MessageFormat",
   "TextboxSize",
   "TextboxSpellChecker"
 ];
 
 Components.utils.import("resource:///modules/imServices.jsm");
-const Ci = Components.interfaces;
+var Ci = Components.interfaces;
 
 var MessageFormat = {
   _observedPrefs: [],
 
   getValues: function mf_getValues() {
     this.unregisterObservers();
     let langGroup =
       Services.prefs.getComplexValue("font.language.group",
--- a/chat/modules/imThemes.jsm
+++ b/chat/modules/imThemes.jsm
@@ -9,33 +9,33 @@ this.EXPORTED_SYMBOLS = [
   "getThemeVariants",
   "isNextMessage",
   "insertHTMLForMessage",
   "initHTMLDocument",
   "getMessagesForRange",
   "serializeSelection"
 ];
 
-const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
+var {classes: Cc, interfaces: Ci, utils: Cu} = Components;
 
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource://gre/modules/DownloadUtils.jsm");
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 
-const kMessagesStylePrefBranch = "messenger.options.messagesStyle.";
-const kThemePref = "theme";
-const kVariantPref = "variant";
-const kShowHeaderPref = "showHeader";
-const kCombineConsecutivePref = "combineConsecutive";
-const kCombineConsecutiveIntervalPref = "combineConsecutiveInterval";
+var kMessagesStylePrefBranch = "messenger.options.messagesStyle.";
+var kThemePref = "theme";
+var kVariantPref = "variant";
+var kShowHeaderPref = "showHeader";
+var kCombineConsecutivePref = "combineConsecutive";
+var kCombineConsecutiveIntervalPref = "combineConsecutiveInterval";
 
-const DEFAULT_THEME = "bubbles";
-const DEFAULT_THEMES = ["bubbles", "dark", "papersheets", "simple"];
+var DEFAULT_THEME = "bubbles";
+var DEFAULT_THEMES = ["bubbles", "dark", "papersheets", "simple"];
 
-const kLineBreak = "@mozilla.org/windows-registry-key;1" in Cc ? "\r\n" : "\n";
+var kLineBreak = "@mozilla.org/windows-registry-key;1" in Cc ? "\r\n" : "\n";
 
 XPCOMUtils.defineLazyGetter(this, "gPrefBranch", () =>
   Services.prefs.getBranch(kMessagesStylePrefBranch)
 );
 
 XPCOMUtils.defineLazyGetter(this, "TXTToHTML", function() {
   let cs = Cc["@mozilla.org/txttohtmlconv;1"].getService(Ci.mozITXTToHTMLConv);
   return aTXT => cs.scanTXT(aTXT, cs.kEntities);
@@ -319,17 +319,17 @@ function getStatusIconFromBuddy(aBuddy)
       status = "away";
     else
       status = "available";
   }
 
   return "chrome://chat/skin/" + status + "-16.png";
 }
 
-const headerFooterReplacements = {
+var headerFooterReplacements = {
   chatName: aConv => TXTToHTML(aConv.title),
   sourceName: aConv => TXTToHTML(aConv.account.alias || aConv.account.name),
   destinationName: aConv => TXTToHTML(aConv.name),
   destinationDisplayName: aConv => TXTToHTML(aConv.title),
   incomingIconPath: function(aConv) {
     let buddy;
     return (!aConv.isChat && (buddy = aConv.buddy) &&
             buddy.buddyIconFilename) || "incoming_icon.png";
@@ -345,17 +345,17 @@ const headerFooterReplacements = {
 };
 
 function formatAutoResponce(aTxt) {
   return Services.strings
                  .createBundle("chrome://chat/locale/conversations.properties")
                  .formatStringFromName("autoReply", [aTxt], 1);
 }
 
-const statusMessageReplacements = {
+var statusMessageReplacements = {
   message: aMsg => "<span class=\"ib-msg-txt\">" +
                    (aMsg.autoResponse ? formatAutoResponce(aMsg.message) : aMsg.message) +
                    "</span>",
   time: function(aMsg, aFormat) {
     let date = new Date(aMsg.time * 1000);
     if (aFormat)
       return date.toLocaleFormat(aFormat);
     return date.toLocaleTimeString();
@@ -395,17 +395,17 @@ const statusMessageReplacements = {
 
     return msgClass.join(" ");
   }
 };
 
 function formatSender(aName) {
   return "<span class=\"ib-sender\">" + TXTToHTML(aName) + "</span>";
 }
-const messageReplacements = {
+var messageReplacements = {
   userIconPath: function (aMsg) {
     // If the protocol plugin provides an icon for the message, use it.
     let iconURL = aMsg.iconURL;
     if (iconURL)
       return iconURL;
 
     // For outgoing messages, use the current user icon.
     if (aMsg.outgoing) {
@@ -425,29 +425,29 @@ const messageReplacements = {
   // no theme actually use this, don't bother making sure this is the real
   // serverside alias
   senderDisplayName: aMsg => formatSender(aMsg.alias || aMsg.who),
   service: aMsg => aMsg.conversation.account.protocol.name,
   textbackgroundcolor: (aMsg, aFormat) => "transparent", // FIXME?
   __proto__: statusMessageReplacements
 };
 
-const statusReplacements = {
+var statusReplacements = {
   status: aMsg => "", //FIXME
   statusIcon: function(aMsg) {
     let conv = aMsg.conversation;
     let buddy = null;
     if (!conv.isChat)
       buddy = conv.buddy;
     return getStatusIconFromBuddy(buddy);
   },
   __proto__: statusMessageReplacements
 };
 
-const kReplacementRegExp = /%([a-zA-Z]*)(\{([^\}]*)\})?%/g;
+var kReplacementRegExp = /%([a-zA-Z]*)(\{([^\}]*)\})?%/g;
 
 function replaceKeywordsInHTML(aHTML, aReplacements, aReplacementArg)
 {
   kReplacementRegExp.lastIndex = 0;
   let previousIndex = 0;
   let result = "";
   let match;
   while ((match = kReplacementRegExp.exec(aHTML))) {
--- a/chat/modules/imXPCOMUtils.jsm
+++ b/chat/modules/imXPCOMUtils.jsm
@@ -9,22 +9,22 @@ this.EXPORTED_SYMBOLS = [
   "executeSoon",
   "nsSimpleEnumerator",
   "EmptyEnumerator",
   "ClassInfo",
   "l10nHelper",
   "initLogModule"
 ];
 
-const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
+var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
 
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource:///modules/imServices.jsm");
 
-const kLogLevelPref = "purple.debug.loglevel";
+var kLogLevelPref = "purple.debug.loglevel";
 
 /**
  * Creates an nsIScriptError instance and logs it.
  *
  * @param aModule
  *        string identifying the module within which the error occurred.
  * @param aLevel
  *        the error level as defined in imIDebugMessage.
@@ -237,13 +237,13 @@ nsSimpleEnumerator.prototype = {
     if (!this.hasMoreElements())
       throw Cr.NS_ERROR_NOT_AVAILABLE;
 
     return this._items[this._nextIndex++];
   },
   QueryInterface: XPCOMUtils.generateQI([Ci.nsISimpleEnumerator])
 };
 
-const EmptyEnumerator = {
+var EmptyEnumerator = {
   hasMoreElements: () => false,
   getNext: function() { throw Cr.NS_ERROR_NOT_AVAILABLE; },
   QueryInterface: XPCOMUtils.generateQI([Ci.nsISimpleEnumerator])
 };
--- a/chat/modules/jsProtoHelper.jsm
+++ b/chat/modules/jsProtoHelper.jsm
@@ -10,26 +10,26 @@ this.EXPORTED_SYMBOLS = [
   "GenericConvChatBuddyPrototype",
   "GenericConversationPrototype",
   "GenericMessagePrototype",
   "GenericProtocolPrototype",
   "Message",
   "TooltipInfo"
 ];
 
-const {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
+var {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
 
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/imServices.jsm");
 
 XPCOMUtils.defineLazyGetter(this, "_", () =>
   l10nHelper("chrome://chat/locale/conversations.properties")
 );
 
-const GenericAccountPrototype = {
+var GenericAccountPrototype = {
   __proto__: ClassInfo("prplIAccount", "generic account object"),
   get wrappedJSObject() { return this; },
   _init: function _init(aProtocol, aImAccount) {
     this.protocol = aProtocol;
     this.imAccount = aImAccount;
     initLogModule(aProtocol.id, this);
   },
   observe: function(aSubject, aTopic, aData) {},
@@ -240,17 +240,17 @@ const GenericAccountPrototype = {
   get autoResponses() { return false; },
   get singleFormatting() { return false; },
   get noFontSizes() { return false; },
   get noUrlDesc() { return false; },
   get noImages() { return true; }
 };
 
 
-const GenericAccountBuddyPrototype = {
+var GenericAccountBuddyPrototype = {
   __proto__: ClassInfo("prplIAccountBuddy", "generic account buddy object"),
   get DEBUG() { return this._account.DEBUG; },
   get LOG() { return this._account.LOG; },
   get WARN() { return this._account.WARN; },
   get ERROR() { return this._account.ERROR; },
 
   _init: function(aAccount, aBuddy, aTag, aUserName) {
     if (!aBuddy && !aUserName)
@@ -374,17 +374,17 @@ const GenericAccountBuddyPrototype = {
 };
 
 // aUserName is required only if aBuddy is null, i.e., we are adding a buddy.
 function AccountBuddy(aAccount, aBuddy, aTag, aUserName) {
   this._init(aAccount, aBuddy, aTag, aUserName);
 }
 AccountBuddy.prototype = GenericAccountBuddyPrototype;
 
-const GenericMessagePrototype = {
+var GenericMessagePrototype = {
   __proto__: ClassInfo("prplIMessage", "generic message object"),
 
   _lastId: 0,
   _init: function (aWho, aMessage, aObject) {
     this.id = ++GenericMessagePrototype._lastId;
     this.time = Math.round(new Date() / 1000);
     this.who = aWho;
     this.message = aMessage;
@@ -438,17 +438,17 @@ const GenericMessagePrototype = {
 };
 
 function Message(aWho, aMessage, aObject) {
   this._init(aWho, aMessage, aObject);
 }
 Message.prototype = GenericMessagePrototype;
 
 
-const GenericConversationPrototype = {
+var GenericConversationPrototype = {
   __proto__: ClassInfo("prplIConversation", "generic conversation object"),
   get wrappedJSObject() { return this; },
 
   get DEBUG() { return this._account.DEBUG; },
   get LOG() { return this._account.LOG; },
   get WARN() { return this._account.WARN; },
   get ERROR() { return this._account.ERROR; },
 
@@ -512,17 +512,17 @@ const GenericConversationPrototype = {
 
   get account() { return this._account.imAccount; },
   get name() { return this._name; },
   get normalizedName() { return this._account.normalize(this.name); },
   get title() { return this.name; },
   get startDate() { return this._date; }
 };
 
-const GenericConvIMPrototype = {
+var GenericConvIMPrototype = {
   __proto__: GenericConversationPrototype,
   _interfaces: [Ci.prplIConversation, Ci.prplIConvIM],
   classDescription: "generic ConvIM object",
 
   updateTyping: function(aState, aName) {
     if (aState == this.typingState)
       return;
 
@@ -533,17 +533,17 @@ const GenericConvIMPrototype = {
     this.notifyObservers(null, "update-typing", aName);
   },
 
   get isChat() { return false; },
   buddy: null,
   typingState: Ci.prplIConvIM.NOT_TYPING
 };
 
-const GenericConvChatPrototype = {
+var GenericConvChatPrototype = {
   __proto__: GenericConversationPrototype,
   _interfaces: [Ci.prplIConversation, Ci.prplIConvChat],
   classDescription: "generic ConvChat object",
 
   _init: function(aAccount, aName, aNick) {
     this._participants = new Map();
     this.nick = aNick;
     GenericConversationPrototype._init.call(this, aAccount, aName);
@@ -688,17 +688,17 @@ const GenericConvChatPrototype = {
 
   writeMessage: function (aWho, aText, aProperties) {
     aProperties.containsNick =
       "incoming" in aProperties && this._pingRegexp.test(aText);
     GenericConversationPrototype.writeMessage.apply(this, arguments);
   }
 };
 
-const GenericConvChatBuddyPrototype = {
+var GenericConvChatBuddyPrototype = {
   __proto__: ClassInfo("prplIConvChatBuddy", "generic ConvChatBuddy object"),
 
   _name: "",
   get name() this._name,
   set name(aName) this._name = aName,
   alias: "",
   buddy: false,
 
@@ -840,17 +840,17 @@ ChatRoomFieldValues.prototype = {
   },
   setValue: function(aIdentifier, aValue) {
     this.values[aIdentifier] = aValue;
   }
 };
 
 // the name getter and the getAccount method need to be implemented by
 // protocol plugins.
-const GenericProtocolPrototype = {
+var GenericProtocolPrototype = {
   __proto__: ClassInfo("prplIProtocol", "Generic protocol object"),
 
   init: function(aId) {
     if (aId != this.id)
       throw "Creating an instance of " + aId + " but this object implements " + this.id;
   },
   get id() { return "prpl-" + this.normalizedName; },
   // This is more aggressive than the account normalization of just
--- a/chat/modules/socket.jsm
+++ b/chat/modules/socket.jsm
@@ -72,50 +72,50 @@
  * To Do:
  *   Add a message queue to keep from flooding a server (just an array, just
  *     keep shifting the first element off and calling as setTimeout for the
  *     desired flood time?).
  */
 
 this.EXPORTED_SYMBOLS = ["Socket"];
 
-const {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
+var {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
 Cu.import("resource://gre/modules/Services.jsm");
 Cu.import("resource:///modules/ArrayBufferUtils.jsm");
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 
 // Network errors see: xpcom/base/nsError.h
-const NS_ERROR_MODULE_NETWORK = 2152398848;
-const NS_ERROR_CONNECTION_REFUSED = NS_ERROR_MODULE_NETWORK + 13;
-const NS_ERROR_NET_TIMEOUT = NS_ERROR_MODULE_NETWORK + 14;
-const NS_ERROR_NET_RESET = NS_ERROR_MODULE_NETWORK + 20;
-const NS_ERROR_UNKNOWN_HOST = NS_ERROR_MODULE_NETWORK + 30;
-const NS_ERROR_UNKNOWN_PROXY_HOST = NS_ERROR_MODULE_NETWORK + 42;
-const NS_ERROR_PROXY_CONNECTION_REFUSED = NS_ERROR_MODULE_NETWORK + 72;
+var NS_ERROR_MODULE_NETWORK = 2152398848;
+var NS_ERROR_CONNECTION_REFUSED = NS_ERROR_MODULE_NETWORK + 13;
+var NS_ERROR_NET_TIMEOUT = NS_ERROR_MODULE_NETWORK + 14;
+var NS_ERROR_NET_RESET = NS_ERROR_MODULE_NETWORK + 20;
+var NS_ERROR_UNKNOWN_HOST = NS_ERROR_MODULE_NETWORK + 30;
+var NS_ERROR_UNKNOWN_PROXY_HOST = NS_ERROR_MODULE_NETWORK + 42;
+var NS_ERROR_PROXY_CONNECTION_REFUSED = NS_ERROR_MODULE_NETWORK + 72;
 
-const BinaryInputStream =
+var BinaryInputStream =
   Components.Constructor("@mozilla.org/binaryinputstream;1",
                          "nsIBinaryInputStream", "setInputStream");
-const BinaryOutputStream =
+var BinaryOutputStream =
   Components.Constructor("@mozilla.org/binaryoutputstream;1",
                          "nsIBinaryOutputStream", "setOutputStream");
-const ScriptableInputStream =
+var ScriptableInputStream =
   Components.Constructor("@mozilla.org/scriptableinputstream;1",
                          "nsIScriptableInputStream", "init");
-const ServerSocket =
+var ServerSocket =
   Components.Constructor("@mozilla.org/network/server-socket;1",
                          "nsIServerSocket", "init");
-const InputStreamPump =
+var InputStreamPump =
   Components.Constructor("@mozilla.org/network/input-stream-pump;1",
                          "nsIInputStreamPump", "init");
-const ScriptableUnicodeConverter =
+var ScriptableUnicodeConverter =
   Components.Constructor("@mozilla.org/intl/scriptableunicodeconverter",
                          "nsIScriptableUnicodeConverter");
 
-const Socket = {
+var Socket = {
   // Use this to use binary mode for the
   binaryMode: false,
 
   // Set this for non-binary mode to automatically parse the stream into chunks
   // separated by delimiter.
   delimiter: "",
 
   // Set this for the segment size of outgoing binary streams.
--- a/chat/modules/test/appInfoUtils.jsm
+++ b/chat/modules/test/appInfoUtils.jsm
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 this.EXPORTED_SYMBOLS = ["XULAppInfo"];
 
-const Ci = Components.interfaces;
+var Ci = Components.interfaces;
 
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 var XULAppInfo = {
   vendor: "Mozilla",
   name: "XPCShell",
   ID: "{39885e5f-f6b4-4e2a-87e5-6259ecf79011}",
   version: "5",
--- a/chat/modules/test/test_filtering.js
+++ b/chat/modules/test/test_filtering.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 Components.utils.import("resource:///modules/imServices.jsm");
 Components.utils.import("resource:///modules/imContentSink.jsm");
 
-const kModePref = "messenger.options.filterMode";
-const kStrictMode = 0, kStandardMode = 1, kPermissiveMode = 2;
+var kModePref = "messenger.options.filterMode";
+var kStrictMode = 0, kStandardMode = 1, kPermissiveMode = 2;
 
 function run_test() {
   let defaultMode = Services.prefs.getIntPref(kModePref);
 
   add_test(test_strictMode);
   add_test(test_standardMode);
   add_test(test_permissiveMode);
   add_test(test_addGlobalAllowedTag);
--- a/chat/protocols/facebook/facebook.js
+++ b/chat/protocols/facebook/facebook.js
@@ -1,13 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {interfaces: Ci, utils: Cu} = Components;
+var {interfaces: Ci, utils: Cu} = Components;
 
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/jsProtoHelper.jsm");
 Cu.import("resource:///modules/xmpp.jsm");
 Cu.import("resource:///modules/xmpp-session.jsm");
 
 XPCOMUtils.defineLazyGetter(this, "_", () =>
   l10nHelper("chrome://chat/locale/facebook.properties")
@@ -50,9 +50,9 @@ FacebookProtocol.prototype = {
   __proto__: GenericProtocolPrototype,
   get normalizedName() { return "facebook"; },
   get name() { return _("facebook.chat.name"); },
   get iconBaseURI() { return "chrome://prpl-facebook/skin/"; },
   getAccount: function(aImAccount) { return new FacebookAccount(this, aImAccount); },
   classID: Components.ID("{1d1d0bc5-610c-472f-b2cb-4b89857d80dc}")
 };
 
-const NSGetFactory = XPCOMUtils.generateNSGetFactory([FacebookProtocol]);
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([FacebookProtocol]);
--- a/chat/protocols/gtalk/gtalk.js
+++ b/chat/protocols/gtalk/gtalk.js
@@ -1,13 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const Cu = Components.utils;
+var Cu = Components.utils;
 
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/jsProtoHelper.jsm");
 Cu.import("resource:///modules/xmpp.jsm");
 Cu.import("resource:///modules/xmpp-session.jsm");
 Cu.import("resource:///modules/xmpp-xml.jsm");
 
 XPCOMUtils.defineLazyGetter(this, "_", () =>
@@ -97,9 +97,9 @@ GTalkProtocol.prototype = {
   options: {
     resource: {get label() { return _("options.resource"); },
                get default() { return XMPPDefaultResource; }}
   },
   get chatHasTopic() { return true; },
   classID: Components.ID("{38a224c1-6748-49a9-8ab2-efc362b1000d}")
 };
 
-const NSGetFactory = XPCOMUtils.generateNSGetFactory([GTalkProtocol]);
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([GTalkProtocol]);
--- a/chat/protocols/irc/irc.js
+++ b/chat/protocols/irc/irc.js
@@ -1,13 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
+var {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
 
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource:///modules/ircUtils.jsm");
 Cu.import("resource:///modules/ircHandlers.jsm");
 Cu.import("resource:///modules/jsProtoHelper.jsm");
 Cu.import("resource:///modules/NormalizedMap.jsm");
 Cu.import("resource:///modules/socket.jsm");
@@ -149,17 +149,17 @@ function _setMode(aAddNewMode, aNewModes
       this._modes.delete(newMode);
     // If the mode is not in the list of modes and we want to add it.
     else if (!hasMode && aAddNewMode)
       this._modes.add(newMode);
   }
 }
 
 // Properties / methods shared by both ircChannel and ircConversation.
-const GenericIRCConversation = {
+var GenericIRCConversation = {
   _observedNicks: [],
   // This is set to true after a message is sent to notify the 401
   // ERR_NOSUCHNICK handler to write an error message to the conversation.
   _pendingMessage: false,
   _waitingForNick: false,
 
   normalizeNick: function(aNick) { return this._account.normalizeNick(aNick); },
 
@@ -1949,9 +1949,9 @@ ircProtocol.prototype = {
   get slashCommandsNative() { return true; },
   //  Passwords in IRC are optional, and are needed for certain functionality.
   get passwordOptional() { return true; },
 
   getAccount: function(aImAccount) { return new ircAccount(this, aImAccount); },
   classID: Components.ID("{607b2c0b-9504-483f-ad62-41de09238aec}")
 };
 
-const NSGetFactory = XPCOMUtils.generateNSGetFactory([ircProtocol]);
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([ircProtocol]);
--- a/chat/protocols/irc/ircBase.jsm
+++ b/chat/protocols/irc/ircBase.jsm
@@ -14,17 +14,17 @@
  *     http://tools.ietf.org/html/rfc2812
  *   RFC 2813: Internet Relay Chat: Server Protocol
  *     http://tools.ietf.org/html/rfc2813
  *   RFC 1459: Internet Relay Chat Protocol
  *     http://tools.ietf.org/html/rfc1459
  */
 this.EXPORTED_SYMBOLS = ["ircBase"];
 
-const {interfaces: Ci, utils: Cu} = Components;
+var {interfaces: Ci, utils: Cu} = Components;
 
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource:///modules/ircHandlers.jsm");
 Cu.import("resource:///modules/ircUtils.jsm");
 Cu.import("resource:///modules/jsProtoHelper.jsm");
 
 function ircRoomInfo(aName, aTopic, aParticipantCount, aAccount) {
--- a/chat/protocols/irc/ircCAP.jsm
+++ b/chat/protocols/irc/ircCAP.jsm
@@ -11,24 +11,24 @@
  *     http://tools.ietf.org/html/draft-mitchell-irc-capabilities-01
  *
  * Note that this doesn't include any implementation as these RFCs do not even
  * include example parameters.
  */
 
 this.EXPORTED_SYMBOLS = ["ircCAP"];
 
-const Cu = Components.utils;
+var Cu = Components.utils;
 
 Cu.import("resource:///modules/ircHandlers.jsm");
 Cu.import("resource:///modules/ircUtils.jsm");
 
 // This matches a modifier, followed by the name spaces (network specific or
 // standardized), followed by the capability name.
-const capParameterExp = /^([\-=~])?((?:(?:[A-Z][A-Z0-9\-]*\.)*[A-Z][A-Z0-9\-]*\/)?[A-Z][A-Z0-9\-]*)$/i;
+var capParameterExp = /^([\-=~])?((?:(?:[A-Z][A-Z0-9\-]*\.)*[A-Z][A-Z0-9\-]*\/)?[A-Z][A-Z0-9\-]*)$/i;
 
 /*
  * Parses a CAP message of the form:
  *   CAP <subcommand> [<parameters>]
  * The cap field is added to the message and it has the following fields:
  *   subcommand
  *   parameters A list of capabilities.
  */
--- a/chat/protocols/irc/ircCTCP.jsm
+++ b/chat/protocols/irc/ircCTCP.jsm
@@ -5,17 +5,17 @@
 /*
  * This implements the Client-to-Client Protocol (CTCP), a subprotocol of IRC.
  *   REVISED AND UPDATED CTCP SPECIFICATION
  *     http://www.alien.net.au/irc/ctcp.txt
  */
 
 this.EXPORTED_SYMBOLS = ["ircCTCP", "ctcpBase"];
 
-const Cu = Components.utils;
+var Cu = Components.utils;
 
 Cu.import("resource:///modules/imServices.jsm");
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/ircHandlers.jsm");
 Cu.import("resource:///modules/ircUtils.jsm");
 
 // Split into a CTCP message which is a single command and a single parameter:
 //   <command> " " <parameter>
--- a/chat/protocols/irc/ircCommands.jsm
+++ b/chat/protocols/irc/ircCommands.jsm
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 // This is to be exported directly onto the IRC prplIProtocol object, directly
 // implementing the commands field before we register them.
 this.EXPORTED_SYMBOLS = ["commands"];
 
-const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
+var {classes: Cc, interfaces: Ci, utils: Cu} = Components;
 
 Cu.import("resource:///modules/imXPCOMUtils.jsm");
 Cu.import("resource:///modules/ircUtils.jsm");
 
 // Shortcut to get the JavaScript conversation object.
 function getConv(aConv) { return aConv.wrappedJSObject; };
 
 // Shortcut to get the JavaScript account object.
--- a/chat/protocols/irc/ircDCC.jsm
+++ b/chat/protocols/irc/ircDCC.jsm
@@ -6,17 +6,17 @@
  * This contains an implementation of the Direct Client-to-Client (DCC)
  * protocol.
  *   A description of the DCC protocol
  *     http://www.irchelp.org/irchelp/rfc/dccspec.html
  */
 
 this.EXPORTED_SYMBOLS = ["ctcpDCC"/*, "dccBase"*/];
 
-const Cu = Components.utils;
+var Cu = Components.utils;
 
 Cu.import("resource:///modules/ircHandlers.jsm");
 Cu.import("resource:///modules/ircUtils.jsm");
 Cu.import("resource:///modules/jsProtoHelper.jsm");
 
 // Parse a CTCP message into a DCC message. A DCC message is a CTCP message of
 // the form:
 //   DCC <type> <argument> <address> <port> [<size>]
--- a/chat/protocols/irc/ircHandlers.jsm
+++ b/chat/protocols/irc/ircHandlers.jsm
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one