зеркало из https://github.com/mozilla/pjs.git
113397 r=bienvenu sr=mscott. reduce the cache size once the folder has been loaded.
This commit is contained in:
Родитель
2c4c74211a
Коммит
43c32c2824
|
@ -56,6 +56,7 @@ var gHaveLoadedMessage;
|
|||
|
||||
var gDisplayStartupPage = false;
|
||||
|
||||
|
||||
// the folderListener object
|
||||
var folderListener = {
|
||||
OnItemAdded: function(parentItem, item, view) { },
|
||||
|
@ -103,7 +104,6 @@ var folderListener = {
|
|||
var msgFolder = folder.QueryInterface(Components.interfaces.nsIMsgFolder);
|
||||
if(msgFolder) {
|
||||
msgFolder.endFolderLoading();
|
||||
|
||||
// suppress command updating when rerooting the folder
|
||||
// when rerooting, we'll be clearing the selection
|
||||
// which will cause us to update commands.
|
||||
|
@ -112,6 +112,10 @@ var folderListener = {
|
|||
}
|
||||
if (gRerootOnFolderLoad)
|
||||
RerootFolder(uri, msgFolder, gCurrentLoadingFolderViewType, gCurrentLoadingFolderViewFlags, gCurrentLoadingFolderSortType, gCurrentLoadingFolderSortOrder);
|
||||
|
||||
var db = msgFolder.getMsgDatabase(msgWindow);
|
||||
if (db)
|
||||
db.resetHdrCacheSize(100);
|
||||
|
||||
if (gDBView) {
|
||||
gDBView.suppressCommandUpdating = false;
|
||||
|
@ -560,18 +564,7 @@ function loadStartFolder(initialUri)
|
|||
{
|
||||
// Perform biff on the server to check for new mail, except for imap
|
||||
if (defaultServer.type != "imap")
|
||||
{
|
||||
var localFolder = inboxFolder.QueryInterface(Components.interfaces.nsIMsgLocalMailFolder);
|
||||
if (localFolder)
|
||||
{
|
||||
if (!localFolder.parsingInbox)
|
||||
defaultServer.PerformBiff();
|
||||
else
|
||||
localFolder.checkForNewMessagesAfterParsing = true;
|
||||
}
|
||||
else //it can be only nntp
|
||||
defaultServer.PerformBiff();
|
||||
}
|
||||
defaultServer.PerformBiff();
|
||||
}
|
||||
|
||||
// because the "open" state persists, we'll call
|
||||
|
|
|
@ -117,6 +117,7 @@ interface nsIMsgDatabase : nsIDBChangeAnnouncer {
|
|||
// In 4.x, it was mainly used to remove corrupted databases.
|
||||
void ForceClosed();
|
||||
void clearCachedHdrs();
|
||||
void resetHdrCacheSize(in unsigned long size);
|
||||
|
||||
readonly attribute nsIDBFolderInfo dBFolderInfo;
|
||||
|
||||
|
|
|
@ -95,7 +95,7 @@ static NS_DEFINE_CID(kMsgHeaderParserCID, NS_MSGHEADERPARSER_CID);
|
|||
|
||||
#define MSG_HASH_SIZE 512
|
||||
|
||||
const PRInt32 kMaxHdrsInCache = 512; // this will be used on discovery, since we don't know total, and after loading (and sorting), on a new header, we'll use this.
|
||||
const PRInt32 kMaxHdrsInCache = 512; // this will be used on discovery, since we don't know total
|
||||
|
||||
// special keys
|
||||
static const nsMsgKey kAllMsgHdrsTableKey = 1;
|
||||
|
@ -4260,3 +4260,13 @@ NS_IMETHODIMP nsMsgDatabase::GetDefaultSortType(nsMsgViewSortTypeValue *aDefault
|
|||
*aDefaultSortType = nsMsgViewSortType::byDate;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgDatabase::ResetHdrCacheSize(PRUint32 aSize)
|
||||
{
|
||||
if (m_cacheSize > aSize)
|
||||
{
|
||||
m_cacheSize = aSize;
|
||||
ClearHdrCache(PR_FALSE);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче