Граф коммитов

57299 Коммитов

Автор SHA1 Сообщение Дата
scc%netscape.com b93b044066 making string conversions explicit 2000-04-03 04:53:32 +00:00
scc%netscape.com 8c1a332162 Added a new converting signature |NS_ConvertToString| to substitute for this common practice |nsAutoString("a c string")| where used in parameter lists 2000-04-03 04:52:47 +00:00
edburns%acm.org d9cd53fece The problem was in the way the
NativeEventThread's run() method's infinite loop was implemented.  The
  loop looks like this:

    while (null != this.browserControlCanvas) {
        synchronized (this.browserControlCanvas.getTreeLock()) {
            nativeProcessEvents(nativeWebShell);

            if (null != listenersToAdd && !listenersToAdd.isEmpty()) {
                tempEnum = listenersToAdd.elements();
                while (tempEnum.hasMoreElements()) {
                    nativeAddListener(nativeWebShell,
                                          (WebclientEventListener)
                                      tempEnum.nextElement());
                }
                listenersToAdd.clear();
            }
        }
    }

  The problem I was observing was that
  nativeProcessEvents(nativeWebShell) would crash due to the fact that
  the nativeWebShell, which is actually an WebShellInitContext instance,
  had been de-allocated.  This de-allocation happens as a result of the
  WindowControlImpl.delete() method, which looks like this:

public void delete()
{
    Assert.assert(null != eventThread, "eventThread shouldn't be null at delete time");
    eventThread.delete();
    eventThread = null;
    nativeDestroyInitContext(nativeWebShell);
    nativeWebShell = -1;
}

  nativeDestroyInitContext de-allocates the WebShellInitContextInstance.
  You can see that the first thing done is to delete the eventThread().
  NativeEventThread.delete() looks like this:

public void delete()
{
    // setting this to null causes the run thread to exit
    synchronized(this.browserControlCanvas.getTreeLock()) {
        browserControlCanvas = null;
    }
...
}

  If you compare NativeEventThread.delete() with the infinite loop in
  NativeEventThread.run(), you'll see that the fact that they both
  synchronize on the same object doesn't protect us from the following
  case:

    NativeEventThread: The infinite loop checks to see if the
    browserControlCanvas is null, then does synchronize on
    browserControlCanvas.getTreeLock(), then calls processNativeEvents().

meanwhile

    WindowControlImpl thread: delete() calls NativeEventThread.delete(),
    which does synchronize on browserControlCanvas.getTreeLock().
    During NativeEventThread.delete(), synchronized section,
    browserControlCanvas is set to null.

    NativeEventThread: because the check for null browserControlCanvas
    occurrs outside of the synchronized block, it's not recheked, and
    thus, the event loop continues to process when it shouldn't.

  The fix is to change the event loop to look like this:

    while (true) {
        synchronized (this.browserControlCanvas.getTreeLock()) {
            // this has to be inside the synchronized block!
            if (null == this.browserControlCanvas) {
                return;
            }
            nativeProcessEvents(nativeWebShell);

            if (null != listenersToAdd && !listenersToAdd.isEmpty()) {
                tempEnum = listenersToAdd.elements();
                while (tempEnum.hasMoreElements()) {
                    nativeAddListener(nativeWebShell,
                                          (WebclientEventListener)
                                      tempEnum.nextElement());
                }
                listenersToAdd.clear();
            }
        }
    }
2000-04-03 04:32:27 +00:00
rjc%netscape.com 553472a1f1 Skinnability: use <xul:menulist> instead of <html:select>. Convert pluses to spaces before calling unescape(). 2000-04-03 04:23:38 +00:00
evaughan%netscape.com c990fb1445 Compiler error fix. 2000-04-03 04:17:47 +00:00
evaughan%netscape.com 21e503b111 1) viewmanager2 optimizations -r troy, kevin
2) box fixes for Rod's gfx listbox
3) memory leak fixes
4) box fixes in prep for grid widget
2000-04-03 03:55:38 +00:00
bienvenu%netscape.com 2c7746fcdc remove unused view attachments as links option, work on in-reply-to header, r=sspitzer 2000-04-03 03:22:56 +00:00
putterman%netscape.com 6d0c68ee48 Add new icons to mail news 3 pane UI. r=mscott 2000-04-03 02:58:21 +00:00
mscott%netscape.com a3e669ff3d Semi-large landing. I re-wrote mailnews compose to use a cached string bundle. I've had this code in my tree for
a couple weeks and just hadn't gotten around to checking it in yet.

I noticed that during a normal sending of a message, we were loading a string bundle 6 times! (most of this was to display
progress information during the send procedure). This caused us to hit the disk 6 times. With these changes, we
cache the string bundle in the compose string bundle service so we only hit the disk once.
2000-04-03 02:32:27 +00:00
mscott%netscape.com ccd7510b99 Bug #33156 --> the doc loader now implements nsIWebProgress and makes basic notifications to a registered
nsIWebProgressListener.

Right now, the only methods that are hooked up are signaling when the doc loader is busy loading a document and
when it is done loading a document.
2000-04-03 02:26:05 +00:00
mscott%netscape.com 4e47debfdc remove obsolete image files from the repository. 2000-04-03 02:16:59 +00:00
mscott%netscape.com 55d79f76b5 Remove old addtoab and attachment icons. We have new ones in mailnews/base/resources/content (which is
where this kind of stuff belongs) now.
2000-04-03 02:16:25 +00:00
mscott%netscape.com 12c3a0288f I broke newsgroups the other day so they weren't showing up in the message pane. undoing the damage. 2000-04-03 02:15:25 +00:00
mscott%netscape.com d1d6ef4bbf Bug #27884 --> new attachment icon & add to ab icon 2000-04-03 02:14:19 +00:00
sspitzer%netscape.com 7e88616d44 add PerformExpand() to the nsIMsgIncomingServer interface. in the base case, it does nothing.
we override it in news, and we'll use this as our hook to update the counts for all the
newsgroups for a give server.  right now, PerformExpand() only gets called on a double
click but eventually, it will be hooked up to the twisty.  r=bienvenu
2000-04-03 02:06:57 +00:00
blizzard%redhat.com fb639838ae add .cvsignore file 2000-04-03 02:06:14 +00:00
sspitzer%netscape.com 6378448745 remove the MigrateFilters() calls. we are going with lazy filter migration. r=bienvenu 2000-04-03 02:03:58 +00:00
davidm%netscape.com 12bc8b0f4f unregister pref callbacks turn on compile flag for disk cache 2000-04-03 01:58:17 +00:00
davidm%netscape.com 7e8ae39cbf unregister pref listeners r = gordon@netscape.com 2000-04-03 01:56:15 +00:00
davidm%netscape.com c465e3b30e 27857 nsIFile - MAC not completely implemented 2000-04-03 01:54:22 +00:00
davidm%netscape.com 333db27269 remove obsolete cache preferences 2000-04-03 01:50:53 +00:00
davidm%netscape.com 3f8f2c30ff 27857 nsIFile - MAC not completely implemented 2000-04-03 01:50:19 +00:00
davidm%netscape.com d248b3c4a8 First Checked In. 2000-04-03 01:50:18 +00:00
davidm%netscape.com 9d9886c47f update channel to work with warrens changes 2000-04-03 01:47:43 +00:00
davidm%netscape.com 9c35ae4635 32610 nsReplacementPolicy::LoadAllRecordsInAllCacheDatabases( 2000-04-03 01:46:45 +00:00
mscott%netscape.com 31d9907718 Bug #33747 --> fix mailto url handling which broke after warren's big nsIChannel landing. 2000-04-03 01:26:58 +00:00
tbogard%aol.net 3ddf9d2462 Changed the nsISHEntry interface to deal with layoutStateHistory in terms of a types nsILayoutHistoryState rather than just an nsISupports. Also changed the implementation to hold on to it with an nsCOMPtr rather than a raw pointer. 2000-04-03 01:21:06 +00:00
cls%seawood.org 9249743718 Use LDFLAGS when creating shared libraries. It may contain the paths to essential libraries. 2000-04-03 01:04:59 +00:00
leaf%mozilla.org 417da0ee27 Automated update 2000-04-03 01:00:39 +00:00
cls%seawood.org 321940dd0a Added rule to automatically run autoconf & config.status whenever configure.in changes. Set AUTOUPDATE_CONFIGURE to use it. 2000-04-03 00:56:31 +00:00
tbogard%aol.net 3513381fd4 The layoutState is actually a nsILayoutHistoryState not just an nsISupports. 2000-04-03 00:47:15 +00:00
tbogard%aol.net 8a9cd7de65 The parent content listener now doesn't have to implement every method. It can just implement the ones it wants and return NS_ERROR_NOT_IMPLEMENTED on the others. 2000-04-03 00:45:25 +00:00
bienvenu%netscape.com 2cba9d275c filter upgrade code for local filters, r=sspitzer 17174 2000-04-03 00:39:51 +00:00
sspitzer%netscape.com 5b450c8310 remove the news-test.* files, they are no longer used. so why make people check them out? 2000-04-03 00:09:09 +00:00
blizzard%redhat.com a0d0284b26 remove the nsIDocShell hackery that was in there since travis checked in code to fix the problem that I was having. this is not part of the build. 2000-04-03 00:05:30 +00:00
colin%theblakes.com 123ed06b15 Add MOZ_TIMER_LIBS to resolve NS_NewTimer. r=cls 2000-04-02 23:35:56 +00:00
colin%theblakes.com dfa6f20d42 Define MOZ_COMPONENT_LIBS to resolve missing symbols. r=cls 2000-04-02 23:34:34 +00:00
scc%netscape.com 1195013f98 Adding NSPR to both debug and optimized builds; this should fix the build bustage. r=bruce 2000-04-02 23:19:24 +00:00
erik%netscape.com 88672953a1 trying to fix build bustage with Enlarge/Reduce Text Size keys 2000-04-02 23:08:49 +00:00
sspitzer%netscape.com 073d02b79c remove the MigrateNewsFilters() call. we don't have to migrate news filters.
(but they don't work yet, but that's another bug.)  r=bienvenu
2000-04-02 23:07:14 +00:00
jst%netscape.com ae133403e9 Minor cleanup and fixing a compier warning. 2000-04-02 22:05:10 +00:00
erik%netscape.com aaa818b7fc bug 30022; added SetTextZoom and some UI stuff for that 2000-04-02 21:58:08 +00:00
erik%netscape.com 711e3a3feb bug 30022; added Set/Get TextZoom for enlarging/reducing fonts only 2000-04-02 21:53:46 +00:00
erik%netscape.com 72dbd2f6e8 bug 30022; added Set/Get TextZoom for enlarging/reducing fonts only; also
factored some code to reduce duplication; r=pierre,troy
2000-04-02 21:52:17 +00:00
erik%netscape.com 1a0cae1f6c bug 30022; added Set/Get TextZoom for enlarging/reducing fonts only;
r=pierre,troy; will do Unix next; someone will take care of the Mac
2000-04-02 21:47:15 +00:00
blizzard%redhat.com 2b5d867757 use C++ mode for C++ files for emacs users 2000-04-02 21:19:56 +00:00
scc%netscape.com a9fbaea615 making string conversions explicit 2000-04-02 21:04:49 +00:00
tbogard%aol.net ff39fd1ee9 added files: mozilla/embedding/browser/webBrowser/nsWBURIContentListener.cpp 2000-04-02 21:01:51 +00:00
tbogard%aol.net 76bc88c235 Implemented the nsWBURIContentListener class and hooked it up to the build. It now sets itself as the parentURIListener for the internal docShell. Doing this makes the webBrowser control now the preferred handler for most webBrowser type loads. This fixes the problem where people who were embedding with this would always get a new window. Added a method to nsIWebBrowser to allow setting a parent URI Listener. Split the destruction of the webBrowser object into an InternalDestroy method. This fixes the odd construct where the destructor was calling Destroy and then having to clean up the Init structure that the Destroy method created. 2000-04-02 21:01:18 +00:00
mscott%netscape.com d1be445324 Make sure nsIWebProgressListener is added to the GetInterface method for docshell. 2000-04-02 21:00:26 +00:00