// This is only called from ApplicationProxyInternal.GetSaveHistoryBytes when // we are persisting the entire journal; we only do that when we're quitting. // [new] Also when navigating a Frame that has its own journal. // internal void PruneKeepAliveEntries() { for (int i = TotalCount - 1; i >= 0; --i) { JournalEntry je = _journalEntryList[i]; if (je.IsAlive()) { RemoveEntryInternal(i); } else { Debug.Assert(je.GetType().IsSerializable); // There can be keep-alive JEs creates for child frames. DataStreams jds = je.JEGroupState.JournalDataStreams; if (jds != null) { jds.PrepareForSerialization(); } if (je.RootViewerState != null) { je.RootViewerState.PrepareForSerialization(); } } } }
// Token: 0x060028E1 RID: 10465 RVA: 0x000BD7C4 File Offset: 0x000BB9C4 internal void PruneKeepAliveEntries() { for (int i = this.TotalCount - 1; i >= 0; i--) { JournalEntry journalEntry = this._journalEntryList[i]; if (journalEntry.IsAlive()) { this.RemoveEntryInternal(i); } else { DataStreams journalDataStreams = journalEntry.JEGroupState.JournalDataStreams; if (journalDataStreams != null) { journalDataStreams.PrepareForSerialization(); } if (journalEntry.RootViewerState != null) { journalEntry.RootViewerState.PrepareForSerialization(); } } } }