Files
Mozilla/mozilla/java/webclient/src_moz/NavigationActionEvents.h
ashuk%eng.sun.com 19af21ef93 Bug=68729
author=ashuk
ra=edburns

This fix tries to remove any deadlock conditions that could exist
because of code in Synchronized java blocks calling other functions
in synchronized blocks that are synchronized on the same object.

Changes are in the Interfaces Navigation, History and WindowControl

In the JNI code ::util_PostSynchronousEvent calls were replaced by
::util_PostEvent calls.


_Ashu


git-svn-id: svn://10.0.0.236/branches/JAVADEV_RTM_20001102@87047 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-14 23:57:50 +00:00

117 lines
3.4 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is RaptorCanvas.
*
* The Initial Developer of the Original Code is Kirk Baker and
* Ian Wilkinson. Portions created by Kirk Baker and Ian Wilkinson are
* Copyright (C) 1999 Kirk Baker and Ian Wilkinson. All
* Rights Reserved.
*
* Contributor(s): Kirk Baker <kbaker@eb.com>
* Ian Wilkinson <iw@ennoble.com>
* Ashutosh Kulkarni <ashuk@eng.sun.com>
* Mark Lin <mark.lin@eng.sun.com>
* Mark Goddard
* Ed Burns <edburns@acm.org>
*/
/*
* nsActions.h
*/
#ifndef NavigationActionEvents_h___
#define NavigationActionEvents_h___
#include "nsActions.h"
#include "nsIWebNavigation.h"
#include "nsString.h"
#include "ns_util.h"
struct WebShellInitContext;
class InputStreamShim;
class wsLoadURLEvent : public nsActionEvent {
public:
wsLoadURLEvent (nsIWebNavigation* webNavigation, PRUnichar * urlString, PRInt32 urlLength);
~wsLoadURLEvent ();
void * handleEvent (void);
protected:
nsIWebNavigation * mWebNavigation;
nsString * mURL;
};
class wsLoadFromStreamEvent : public nsActionEvent {
public:
wsLoadFromStreamEvent(WebShellInitContext *yourInitContext,
void *globalStream,
nsString &uriToCopy,
const char *contentTypeToCopy,
PRInt32 contentLength, void *globalLoadProperties);
virtual ~wsLoadFromStreamEvent();
void * handleEvent(void);
private:
wsLoadFromStreamEvent(WebShellInitContext *yourDocShell,
InputStreamShim *yourShim);
protected:
WebShellInitContext *mInitContext;
nsString mUriString;
char *mContentType; // MUST be delete'd in destructor
void * mProperties; // MUST be util_deleteGlobalRef'd in destructor.
InputStreamShim *mShim; // DO NOT delete this in the destructor
};
class wsStopEvent : public nsActionEvent {
public:
wsStopEvent (nsIWebNavigation* webNavigation);
void * handleEvent (void);
protected:
nsIWebNavigation * mWebNavigation;
};
// added by Mark Goddard OTMP 9/2/1999
class wsRefreshEvent : public nsActionEvent {
public:
wsRefreshEvent (nsIWebNavigation* webNavigation,
PRInt32 reloadType);
void * handleEvent (void);
protected:
nsIWebNavigation * mWebNavigation;
PRInt32 mReloadType;
};
class wsSetPromptEvent : public nsActionEvent {
public:
wsSetPromptEvent (wcIBrowserContainer* aBrowserContainer, jobject aUserPrompt);
void * handleEvent (void);
protected:
wcIBrowserContainer * mBrowserContainer;
jobject mUserPrompt;
};
#endif /* NavigationActionEvents_h___ */
// EOF