InitFrameData(PR_TRUE);   PRInt32 i, n = mHistory.Count(); for (i = 0; i < n; i++) { nsString* s = (nsString*) mHistory.ElementAt(i); delete s; }   DestroyPluginHost();  #ifdef DETECT_WEBSHELL_LEAKS
nsWebShell::~nsWebShell(){   Destroy();  // Cancel any timers that were set for this loader.  CancelRefreshURITimers();  ++mRefCnt; // following releases can cause this destructor to be called             // recursively if the refcount is allowed to remain 0  mContentViewer=nsnull;  mDeviceContext=nsnull;  InitFrameData();#ifdef DEBUG  // We're counting the number of |nsWebShells| to help find leaks  --gNumberOfWebShells;#endif#ifdef DEBUG  printf("--WEBSHELL %p == %ld\n", this, gNumberOfWebShells);#endif}