Compare commits
25 Commits
NETSCAPE_6
...
NETSCAPE_6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
075d0ab2f2 | ||
|
|
5b44c9999f | ||
|
|
d8fe11b5a4 | ||
|
|
c013520119 | ||
|
|
2bcc79014c | ||
|
|
d2fecb7ea9 | ||
|
|
08b9ea85cf | ||
|
|
e1d2c460d6 | ||
|
|
0475a79ff6 | ||
|
|
d6242bd141 | ||
|
|
56fd366948 | ||
|
|
bfe0b8dfe1 | ||
|
|
d942a5fca1 | ||
|
|
3b2582feb8 | ||
|
|
e756b83c4d | ||
|
|
c636a1d999 | ||
|
|
15f05a9fbf | ||
|
|
3723b1d616 | ||
|
|
b9e630cd09 | ||
|
|
069c34903e | ||
|
|
a2bdcdd2c7 | ||
|
|
f8954afd62 | ||
|
|
415e4b72d3 | ||
|
|
1a52900772 | ||
|
|
5b52392817 |
@@ -7,12 +7,12 @@
|
||||
# mozilla/gc, , 10/25/2000 12:00:00
|
||||
#
|
||||
|
||||
mozilla/nsprpub, NETSCAPE_6_2_1_BRANCH
|
||||
mozilla/security/nss, NETSCAPE_6_2_1_BRANCH
|
||||
mozilla/security/manager, NETSCAPE_6_2_1_BRANCH
|
||||
mozilla/accessible, NETSCAPE_6_2_1_BRANCH
|
||||
DirectorySDKSourceC, NETSCAPE_6_2_1_BRANCH
|
||||
mozilla/lib/mac/Instrumentation, NETSCAPE_6_2_1_BRANCH
|
||||
mozilla/gfx2, NETSCAPE_6_2_1_BRANCH
|
||||
mozilla/modules/libpr0n, NETSCAPE_6_2_1_BRANCH
|
||||
SeaMonkeyAll, NETSCAPE_6_2_1_BRANCH
|
||||
mozilla/nsprpub, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/security/nss, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/security/manager, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/accessible, NETSCAPE_6_2_2_BRANCH
|
||||
DirectorySDKSourceC, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/lib/mac/Instrumentation, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/gfx2, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/modules/libpr0n, NETSCAPE_6_2_2_BRANCH
|
||||
SeaMonkeyAll, NETSCAPE_6_2_2_BRANCH
|
||||
|
||||
@@ -183,6 +183,13 @@ interface nsIScriptSecurityManager : nsIXPCSecurityManager
|
||||
*/
|
||||
[noscript] nsIPrincipal getObjectPrincipal(in JSContextPtr cx,
|
||||
in JSObjectPtr obj);
|
||||
|
||||
/**
|
||||
* Returns OK if aJSContext and target have the same "origin"
|
||||
* (scheme, host, and port).
|
||||
*/
|
||||
[noscript] void checkSameOrigin(in JSContextPtr aJSContext,
|
||||
in nsIURI aTargetURI);
|
||||
};
|
||||
|
||||
%{C++
|
||||
|
||||
@@ -126,8 +126,9 @@ private:
|
||||
const char* aProperty, void** aPolicy);
|
||||
|
||||
nsresult
|
||||
CheckSameOrigin(JSContext* aCx, nsIPrincipal* aSubject,
|
||||
nsIPrincipal* aObject, PRUint32 aAction);
|
||||
CheckSameOriginInternal(nsIPrincipal* aSubject,
|
||||
nsIPrincipal* aObject, PRUint32 aAction,
|
||||
PRBool checkForPrivileges);
|
||||
|
||||
PRInt32
|
||||
GetSecurityLevel(nsIPrincipal *principal,
|
||||
|
||||
@@ -204,6 +204,46 @@ nsScriptSecurityManager::CheckConnect(JSContext* aJSContext,
|
||||
nsnull, nsnull, aClassName, aPropertyName, nsnull);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsScriptSecurityManager::CheckSameOrigin(JSContext* cx,
|
||||
nsIURI* aTargetURI)
|
||||
{
|
||||
nsresult rv;
|
||||
|
||||
// Get a context if necessary
|
||||
if (!cx)
|
||||
{
|
||||
cx = GetCurrentContextQuick();
|
||||
if (!cx)
|
||||
return NS_OK; // No JS context, so allow access
|
||||
}
|
||||
|
||||
// Get a principal from the context
|
||||
nsCOMPtr<nsIPrincipal> sourcePrincipal;
|
||||
rv = GetSubjectPrincipal(cx, getter_AddRefs(sourcePrincipal));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
PRBool equals;
|
||||
if (!sourcePrincipal ||
|
||||
NS_SUCCEEDED(sourcePrincipal->Equals(mSystemPrincipal, &equals))
|
||||
&& equals)
|
||||
// We have native code or the system principal, so allow access
|
||||
return NS_OK;
|
||||
|
||||
// Create a principal from the target URI
|
||||
// XXX factor out the Equals function so this isn't necessary
|
||||
nsCOMPtr<nsIPrincipal> targetPrincipal;
|
||||
rv = GetCodebasePrincipal(aTargetURI, getter_AddRefs(targetPrincipal));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
// Compare origins
|
||||
return CheckSameOriginInternal(sourcePrincipal, targetPrincipal,
|
||||
0, PR_FALSE /* do not check for privileges */);
|
||||
}
|
||||
|
||||
|
||||
nsresult
|
||||
nsScriptSecurityManager::CheckPropertyAccessImpl(PRUint32 aAction,
|
||||
nsIXPCNativeCallContext* aCallContext,
|
||||
@@ -316,8 +356,8 @@ nsScriptSecurityManager::CheckPropertyAccessImpl(PRUint32 aAction,
|
||||
rv = NS_ERROR_DOM_SECURITY_ERR;
|
||||
break;
|
||||
}
|
||||
rv = CheckSameOrigin(aJSContext, subjectPrincipal, objectPrincipal,
|
||||
aAction == nsIXPCSecurityManager::ACCESS_SET_PROPERTY);
|
||||
rv = CheckSameOriginInternal(subjectPrincipal, objectPrincipal,
|
||||
aAction, PR_TRUE /* check for privileges */);
|
||||
|
||||
break;
|
||||
}
|
||||
@@ -449,8 +489,10 @@ nsScriptSecurityManager::CheckPropertyAccessImpl(PRUint32 aAction,
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsScriptSecurityManager::CheckSameOrigin(JSContext *aCx, nsIPrincipal* aSubject,
|
||||
nsIPrincipal* aObject, PRUint32 aAction)
|
||||
nsScriptSecurityManager::CheckSameOriginInternal(nsIPrincipal* aSubject,
|
||||
nsIPrincipal* aObject,
|
||||
PRUint32 aAction,
|
||||
PRBool checkForPrivileges)
|
||||
{
|
||||
/*
|
||||
** Get origin of subject and object and compare.
|
||||
@@ -476,19 +518,21 @@ nsScriptSecurityManager::CheckSameOrigin(JSContext *aCx, nsIPrincipal* aSubject,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
** If we failed the origin tests it still might be the case that we
|
||||
** are a signed script and have permissions to do this operation.
|
||||
** Check for that here
|
||||
*/
|
||||
PRBool capabilityEnabled = PR_FALSE;
|
||||
const char* cap = aAction == nsIXPCSecurityManager::ACCESS_SET_PROPERTY ?
|
||||
"UniversalBrowserWrite" : "UniversalBrowserRead";
|
||||
if (NS_FAILED(IsCapabilityEnabled(cap, &capabilityEnabled)))
|
||||
return NS_ERROR_FAILURE;
|
||||
if (capabilityEnabled)
|
||||
return NS_OK;
|
||||
|
||||
if (checkForPrivileges)
|
||||
{
|
||||
/*
|
||||
** If we failed the origin tests it still might be the case that we
|
||||
** are a signed script and have permissions to do this operation.
|
||||
** Check for that here
|
||||
*/
|
||||
PRBool capabilityEnabled = PR_FALSE;
|
||||
const char* cap = aAction == nsIXPCSecurityManager::ACCESS_SET_PROPERTY ?
|
||||
"UniversalBrowserWrite" : "UniversalBrowserRead";
|
||||
if (NS_FAILED(IsCapabilityEnabled(cap, &capabilityEnabled)))
|
||||
return NS_ERROR_FAILURE;
|
||||
if (capabilityEnabled)
|
||||
return NS_OK;
|
||||
}
|
||||
/*
|
||||
** Access tests failed, so now report error.
|
||||
*/
|
||||
|
||||
@@ -40,14 +40,14 @@ MOZ_OBJDIR = WIN32_O.OBJ
|
||||
#// Figure out how to do the pull.
|
||||
#//------------------------------------------------------------------------
|
||||
# uncomment these, modify branch tag, and check in to branch for milestones
|
||||
MOZ_BRANCH=NETSCAPE_6_2_1_BRANCH
|
||||
NSPR_CO_TAG=NETSCAPE_6_2_1_BRANCH
|
||||
PSM_CO_TAG=NETSCAPE_6_2_1_BRANCH
|
||||
NSS_CO_TAG=NETSCAPE_6_2_1_BRANCH
|
||||
LDAPCSDK_CO_TAG=NETSCAPE_6_2_1_BRANCH
|
||||
ACCESSIBLE_CO_TAG=NETSCAPE_6_2_1_BRANCH
|
||||
IMGLIB2_CO_TAG=NETSCAPE_6_2_1_BRANCH
|
||||
GFX2_CO_TAG=NETSCAPE_6_2_1_BRANCH
|
||||
MOZ_BRANCH=NETSCAPE_6_2_2_BRANCH
|
||||
NSPR_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
PSM_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
NSS_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
LDAPCSDK_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
ACCESSIBLE_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
IMGLIB2_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
GFX2_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
|
||||
|
||||
!ifdef MOZ_BRANCH
|
||||
|
||||
@@ -52,14 +52,14 @@
|
||||
#
|
||||
# For branches, uncomment the MOZ_CO_TAG line with the proper tag,
|
||||
# and commit this file on that tag.
|
||||
MOZ_CO_TAG = NETSCAPE_6_2_1_BRANCH
|
||||
NSPR_CO_TAG = NETSCAPE_6_2_1_BRANCH
|
||||
PSM_CO_TAG = NETSCAPE_6_2_1_BRANCH
|
||||
NSS_CO_TAG = NETSCAPE_6_2_1_BRANCH
|
||||
LDAPCSDK_CO_TAG = NETSCAPE_6_2_1_BRANCH
|
||||
ACCESSIBLE_CO_TAG = NETSCAPE_6_2_1_BRANCH
|
||||
GFX2_CO_TAG = NETSCAPE_6_2_1_BRANCH
|
||||
IMGLIB2_CO_TAG = NETSCAPE_6_2_1_BRANCH
|
||||
MOZ_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
NSPR_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
PSM_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
NSS_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
LDAPCSDK_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
ACCESSIBLE_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
GFX2_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
IMGLIB2_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
BUILD_MODULES = all
|
||||
|
||||
#######################################################################
|
||||
|
||||
@@ -427,6 +427,15 @@ ifeq ($(OS_ARCH),HP-UX)
|
||||
ifdef IS_COMPONENT
|
||||
ifeq ($(GNU_CC)$(GNU_CXX),)
|
||||
EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
|
||||
ifneq ($(HAS_EXTRAEXPORTS),1)
|
||||
ifeq ($(OS_TEST),ia64)
|
||||
MKSHLIB += -Wl,+eNSGetModule -Wl,+eerrno
|
||||
MKCSHLIB += -Wl,+eNSGetModule -Wl,+eerrno
|
||||
else
|
||||
MKSHLIB += -Wl,+eNSGetModule -Wl,+eerrno -Wl,+e_shlInit
|
||||
MKCSHLIB += -Wl,+eNSGetModule -Wl,+eerrno -Wl,+e_shlInit
|
||||
endif # ia64
|
||||
endif # !HAS_EXTRAEXPORTS
|
||||
endif # non-gnu compilers
|
||||
endif # IS_COMPONENT
|
||||
endif # HP-UX
|
||||
|
||||
@@ -28,7 +28,7 @@ include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
MODULE = layout
|
||||
LIBRARY_NAME = gkconxmldoc_s
|
||||
REQUIRES = xpcom string js dom widget caps htmlparser necko view docshell webshell uriloader pref xpconnect uconv chardet lwbrk exthandler mimetype
|
||||
REQUIRES = xpcom string js dom widget caps htmlparser necko view docshell webshell uriloader pref xpconnect uconv chardet lwbrk exthandler mimetype windowwatcher
|
||||
|
||||
CPPSRCS = \
|
||||
nsXMLContentSink.cpp \
|
||||
|
||||
@@ -75,6 +75,8 @@
|
||||
#include "nsContentCID.h"
|
||||
#include "nsDOMAttribute.h"
|
||||
#include "nsGUIEvent.h"
|
||||
#include "nsIWindowWatcher.h"
|
||||
#include "nsIAuthPrompt.h"
|
||||
|
||||
#include "nsCExternalHandlerService.h"
|
||||
#include "nsIMIMEService.h"
|
||||
@@ -183,7 +185,7 @@ NS_NewXMLDocument(nsIDocument** aInstancePtrResult)
|
||||
|
||||
nsXMLDocument::nsXMLDocument()
|
||||
: mAttrStyleSheet(nsnull), mInlineStyleSheet(nsnull),
|
||||
mParser(nsnull)
|
||||
mParser(nsnull), mCrossSiteAccessEnabled(PR_FALSE)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -256,35 +258,72 @@ nsXMLDocument::GetContentType(nsAWritableString& aContentType) const
|
||||
NS_IMETHODIMP
|
||||
nsXMLDocument::GetInterface(const nsIID& aIID, void** aSink)
|
||||
{
|
||||
// Since we implement all the interfaces that you can get with
|
||||
// GetInterface() we can simply call QueryInterface() here and let
|
||||
// it do all the work.
|
||||
if (aIID.Equals(NS_GET_IID(nsIAuthPrompt))) {
|
||||
NS_ENSURE_ARG_POINTER(aSink);
|
||||
*aSink = nsnull;
|
||||
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIWindowWatcher> ww(do_GetService("@mozilla.org/embedcomp/window-watcher;1", &rv));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
nsCOMPtr<nsIAuthPrompt> prompt;
|
||||
rv = ww->GetNewAuthPrompter(nsnull, getter_AddRefs(prompt));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
nsIAuthPrompt *p = prompt.get();
|
||||
NS_ADDREF(p);
|
||||
*aSink = p;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
return QueryInterface(aIID, aSink);
|
||||
}
|
||||
|
||||
|
||||
// nsIHttpEventSink
|
||||
NS_IMETHODIMP
|
||||
nsXMLDocument::OnRedirect(nsIHttpChannel *aHttpChannel, nsIChannel *aNewChannel)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aNewChannel);
|
||||
|
||||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIScriptSecurityManager> securityManager =
|
||||
nsCOMPtr<nsIScriptSecurityManager> secMan =
|
||||
do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv);
|
||||
|
||||
if (NS_FAILED(rv))
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
nsCOMPtr<nsIURI> newLocation;
|
||||
nsCOMPtr<nsIURI> newLocation; // The redirected URI
|
||||
rv = aNewChannel->GetURI(getter_AddRefs(newLocation));
|
||||
|
||||
if (NS_FAILED(rv))
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
if (mScriptContext && !mCrossSiteAccessEnabled) {
|
||||
nsCOMPtr<nsIJSContextStack> stack(do_GetService("@mozilla.org/js/xpc/ContextStack;1", & rv));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
JSContext *cx = (JSContext *)mScriptContext->GetNativeContext();
|
||||
if (!cx)
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
|
||||
stack->Push(cx);
|
||||
|
||||
rv = secMan->CheckSameOrigin(nsnull, newLocation);
|
||||
|
||||
stack->Pop(&cx);
|
||||
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIPrincipal> newCodebase;
|
||||
rv = securityManager->GetCodebasePrincipal(newLocation,
|
||||
getter_AddRefs(newCodebase));
|
||||
rv = secMan->GetCodebasePrincipal(newLocation,
|
||||
getter_AddRefs(newCodebase));
|
||||
if (NS_FAILED(rv))
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
@@ -322,6 +361,25 @@ nsXMLDocument::Load(const nsAReadableString& aUrl)
|
||||
SetBaseURL(uri);
|
||||
mBaseTarget.Truncate();
|
||||
|
||||
|
||||
// Store script context, if any, in case we encounter redirect (because we need it there)
|
||||
nsCOMPtr<nsIJSContextStack> stack =
|
||||
do_GetService("@mozilla.org/js/xpc/ContextStack;1");
|
||||
if (stack) {
|
||||
JSContext *cx;
|
||||
if (NS_SUCCEEDED(stack->Peek(&cx)) && cx) {
|
||||
nsISupports *priv = (nsISupports *)::JS_GetContextPrivate(cx);
|
||||
if (priv) {
|
||||
priv->QueryInterface(NS_GET_IID(nsIScriptContext), getter_AddRefs(mScriptContext));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Find out if UniversalBrowserRead privileges are enabled - we will need this
|
||||
// in case of a redirect
|
||||
rv = secMan->IsCapabilityEnabled("UniversalBrowserRead", &mCrossSiteAccessEnabled);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
// Create a channel
|
||||
rv = NS_OpenURI(getter_AddRefs(channel), uri, nsnull, nsnull, this);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "nsIHTMLContentContainer.h"
|
||||
#include "nsIInterfaceRequestor.h"
|
||||
#include "nsIHttpEventSink.h"
|
||||
#include "nsIScriptContext.h"
|
||||
|
||||
class nsIParser;
|
||||
class nsIDOMNode;
|
||||
@@ -114,6 +115,9 @@ protected:
|
||||
nsString mBaseTarget;
|
||||
|
||||
nsIParser *mParser;
|
||||
|
||||
nsCOMPtr<nsIScriptContext> mScriptContext;
|
||||
PRBool mCrossSiteAccessEnabled;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -4559,16 +4559,14 @@ nsresult nsDocShell::DoURILoad(nsIURI * aURI,
|
||||
httpChannel->SetUploadStream(aPostData);
|
||||
/* If there is a valid postdata *and* it is a History Load,
|
||||
* set up the cache key on the channel, to retrieve the
|
||||
* data only from the cache. When there is a postdata
|
||||
* on a history load, we do not want to go out to the net
|
||||
* in our first attempt. We will go out to the net for a
|
||||
* post data result, *only* if it has expired from cache *and*
|
||||
* the user has given us permission to do so.
|
||||
* data *only* from the cache. If it is a normal reload, the
|
||||
* cache is free to go to the server for updated postdata.
|
||||
*/
|
||||
if (mLoadType == LOAD_HISTORY || mLoadType == LOAD_RELOAD_NORMAL
|
||||
|| mLoadType == LOAD_RELOAD_CHARSET_CHANGE) {
|
||||
if (cacheChannel && cacheKey)
|
||||
if (cacheChannel && cacheKey) {
|
||||
if (mLoadType == LOAD_HISTORY || mLoadType == LOAD_RELOAD_CHARSET_CHANGE)
|
||||
cacheChannel->SetCacheKey(cacheKey, PR_TRUE);
|
||||
else if (mLoadType == LOAD_RELOAD_NORMAL)
|
||||
cacheChannel->SetCacheKey(cacheKey, PR_FALSE);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -5442,29 +5440,28 @@ nsDocShell::AddToSessionHistory(nsIURI * aURI,
|
||||
|
||||
shouldPersist = ShouldAddToSessionHistory(aURI);
|
||||
|
||||
//
|
||||
// If the entry is being replaced in SH, then just use the
|
||||
// current entry...
|
||||
//
|
||||
if (LOAD_NORMAL_REPLACE == mLoadType) {
|
||||
// There is no need to go to mSessionHistory and get the entry at
|
||||
// current index. mOSHE works for subframes and top level docshells.
|
||||
// Get a handle to the root docshell
|
||||
nsCOMPtr<nsIDocShellTreeItem> root;
|
||||
GetSameTypeRootTreeItem(getter_AddRefs(root));
|
||||
/*
|
||||
* If this is a LOAD_NORMAL_REPLACE in a subframe, we use
|
||||
* the existing SH entry in the page and replace the url and
|
||||
* other vitalities.
|
||||
*/
|
||||
if (LOAD_NORMAL_REPLACE == mLoadType && (root.get() != NS_STATIC_CAST(nsIDocShellTreeItem *, this))) {
|
||||
// This is a subframe
|
||||
entry = mOSHE;
|
||||
// If there are children for this entry destroy them, as they are
|
||||
// going out of scope.
|
||||
if (entry) {
|
||||
nsCOMPtr<nsISHContainer> shContainer(do_QueryInterface(entry));
|
||||
if (shContainer) {
|
||||
PRInt32 childCount = 0;
|
||||
shContainer->GetChildCount(&childCount);
|
||||
// Remove all children of this entry
|
||||
for (PRInt32 i = childCount - 1; i >= 0; i--) {
|
||||
nsCOMPtr<nsISHEntry> child;
|
||||
shContainer->GetChildAt(i, getter_AddRefs(child));
|
||||
shContainer->RemoveChild(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
nsCOMPtr<nsISHContainer> shContainer(do_QueryInterface(entry));
|
||||
if (shContainer) {
|
||||
PRInt32 childCount = 0;
|
||||
shContainer->GetChildCount(&childCount);
|
||||
// Remove all children of this entry
|
||||
for (PRInt32 i = childCount - 1; i >= 0; i--) {
|
||||
nsCOMPtr<nsISHEntry> child;
|
||||
shContainer->GetChildAt(i, getter_AddRefs(child));
|
||||
shContainer->RemoveChild(child);
|
||||
} // for
|
||||
} // shContainer
|
||||
}
|
||||
|
||||
// Create a new entry if necessary.
|
||||
@@ -5532,6 +5529,18 @@ nsDocShell::AddToSessionHistory(nsIURI * aURI,
|
||||
else
|
||||
rv = AddChildSHEntry(nsnull, entry, mChildOffset);
|
||||
}
|
||||
else {
|
||||
if (root.get() == NS_STATIC_CAST(nsIDocShellTreeItem *, this) && mSessionHistory) {
|
||||
// It is a LOAD_NORMAL_REPLACE on the root docshell
|
||||
PRInt32 index = 0;
|
||||
nsCOMPtr<nsIHistoryEntry> hEntry;
|
||||
mSessionHistory->GetIndex(&index);
|
||||
nsCOMPtr<nsISHistoryInternal> shPrivate(do_QueryInterface(mSessionHistory));
|
||||
// Replace the current entry with the new entry
|
||||
if (shPrivate)
|
||||
rv = shPrivate->ReplaceEntry(index, entry);
|
||||
}
|
||||
}
|
||||
|
||||
// Return the new SH entry...
|
||||
if (aNewEntry) {
|
||||
|
||||
@@ -2078,8 +2078,14 @@ initializeEncoding(XML_Parser parser)
|
||||
#else
|
||||
s = protocolEncodingName;
|
||||
#endif
|
||||
if ((ns ? XmlInitEncodingNS : XmlInitEncoding)(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
//if ((ns ? XmlInitEncodingNS : XmlInitEncoding)(&initEncoding, &encoding, s))
|
||||
if (ns) {
|
||||
if (XmlInitEncodingNS(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
} else {
|
||||
if (XmlInitEncoding(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
}
|
||||
return handleUnknownEncoding(parser, protocolEncodingName);
|
||||
}
|
||||
|
||||
@@ -2091,18 +2097,13 @@ processXmlDecl(XML_Parser parser, int isGeneralTextEntity,
|
||||
const ENCODING *newEncoding = 0;
|
||||
const char *version;
|
||||
int standalone = -1;
|
||||
if (!(ns
|
||||
? XmlParseXmlDeclNS
|
||||
: XmlParseXmlDecl)(isGeneralTextEntity,
|
||||
encoding,
|
||||
s,
|
||||
next,
|
||||
&eventPtr,
|
||||
&version,
|
||||
&encodingName,
|
||||
&newEncoding,
|
||||
&standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
if (ns) {
|
||||
if (!XmlParseXmlDeclNS(isGeneralTextEntity, encoding, s, next, &eventPtr, &version, &encodingName, &newEncoding, &standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
} else {
|
||||
if (!XmlParseXmlDecl(isGeneralTextEntity, encoding, s, next, &eventPtr, &version, &encodingName, &newEncoding, &standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
}
|
||||
if (!isGeneralTextEntity && standalone == 1) {
|
||||
dtd.standalone = 1;
|
||||
#ifdef XML_DTD
|
||||
@@ -2158,12 +2159,10 @@ handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName)
|
||||
info.release(info.data);
|
||||
return XML_ERROR_NO_MEMORY;
|
||||
}
|
||||
enc = (ns
|
||||
? XmlInitUnknownEncodingNS
|
||||
: XmlInitUnknownEncoding)(unknownEncodingMem,
|
||||
info.map,
|
||||
info.convert,
|
||||
info.data);
|
||||
if (ns)
|
||||
enc = XmlInitUnknownEncodingNS(unknownEncodingMem, info.map, info.convert, info.data);
|
||||
else
|
||||
enc = XmlInitUnknownEncoding(unknownEncodingMem, info.map, info.convert, info.data);
|
||||
if (enc) {
|
||||
unknownEncodingData = info.data;
|
||||
unknownEncodingRelease = info.release;
|
||||
|
||||
@@ -28,7 +28,7 @@ include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
MODULE = xmlextras
|
||||
LIBRARY_NAME = xmlextrasbase_s
|
||||
REQUIRES = xpcom string dom js layout widget caps uconv necko docshell xpconnect webbrwsr
|
||||
REQUIRES = xpcom string dom js layout widget caps uconv necko docshell xpconnect webbrwsr windowwatcher
|
||||
|
||||
CPPSRCS = \
|
||||
nsDOMSerializer.cpp \
|
||||
|
||||
@@ -60,6 +60,8 @@
|
||||
#include "nsIDOMElement.h"
|
||||
#include "nsIParser.h"
|
||||
#include "nsLoadListenerProxy.h"
|
||||
#include "nsIWindowWatcher.h"
|
||||
#include "nsIAuthPrompt.h"
|
||||
|
||||
static const char* kLoadAsData = "loadAsData";
|
||||
#define LOADSTR NS_LITERAL_STRING("load")
|
||||
@@ -117,6 +119,7 @@ nsXMLHttpRequest::nsXMLHttpRequest()
|
||||
NS_INIT_ISUPPORTS();
|
||||
ChangeState(XML_HTTP_REQUEST_UNINITIALIZED,PR_FALSE);
|
||||
mAsync = PR_TRUE;
|
||||
mCrossSiteAccessEnabled = PR_FALSE;
|
||||
}
|
||||
|
||||
nsXMLHttpRequest::~nsXMLHttpRequest()
|
||||
@@ -141,6 +144,8 @@ NS_INTERFACE_MAP_BEGIN(nsXMLHttpRequest)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMEventTarget)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIRequestObserver)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIStreamListener)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIHttpEventSink)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference)
|
||||
NS_INTERFACE_MAP_ENTRY_DOM_CLASSINFO(XMLHttpRequest)
|
||||
NS_INTERFACE_MAP_END
|
||||
@@ -641,6 +646,12 @@ nsXMLHttpRequest::Open(const char *method, const char *url)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// Find out if UniversalBrowserRead privileges are enabled
|
||||
// we will need this in case of a redirect
|
||||
rv = secMan->IsCapabilityEnabled("UniversalBrowserRead",
|
||||
&mCrossSiteAccessEnabled);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
if (argc > 2) {
|
||||
JSBool asyncBool;
|
||||
JS_ValueToBoolean(cx, argv[2], &asyncBool);
|
||||
@@ -1113,6 +1124,11 @@ nsXMLHttpRequest::Send(nsISupports *body)
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!mScriptContext) {
|
||||
// We need a context to check if redirect (if any) is allowed
|
||||
GetCurrentContext(getter_AddRefs(mScriptContext));
|
||||
}
|
||||
|
||||
rv = document->StartDocumentLoad(kLoadAsData, mChannel,
|
||||
nsnull, nsnull,
|
||||
getter_AddRefs(listener),
|
||||
@@ -1129,6 +1145,9 @@ nsXMLHttpRequest::Send(nsISupports *body)
|
||||
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
|
||||
#endif
|
||||
|
||||
// Hook us up to listen to redirects and the like
|
||||
mChannel->SetNotificationCallbacks(this);
|
||||
|
||||
// Start reading from the channel
|
||||
ChangeState(XML_HTTP_REQUEST_SENT);
|
||||
mXMLParserStreamListener = listener;
|
||||
@@ -1332,6 +1351,79 @@ nsXMLHttpRequest::ChangeState(nsXMLHttpRequestState aState, PRBool aBroadcast)
|
||||
return rv;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
// nsIHttpEventSink methods:
|
||||
//
|
||||
NS_IMETHODIMP
|
||||
nsXMLHttpRequest::OnRedirect(nsIHttpChannel *aHttpChannel, nsIChannel *aNewChannel)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aNewChannel);
|
||||
|
||||
if (mScriptContext && !mCrossSiteAccessEnabled) {
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
|
||||
nsCOMPtr<nsIJSContextStack> stack(do_GetService("@mozilla.org/js/xpc/ContextStack;1", & rv));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
JSContext *cx = (JSContext *)mScriptContext->GetNativeContext();
|
||||
if (!cx)
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
|
||||
nsCOMPtr<nsIScriptSecurityManager> secMan =
|
||||
do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv);
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
nsCOMPtr<nsIURI> newURI;
|
||||
rv = aNewChannel->GetURI(getter_AddRefs(newURI)); // The redirected URI
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
stack->Push(cx);
|
||||
|
||||
rv = secMan->CheckSameOrigin(cx, newURI);
|
||||
|
||||
stack->Pop(&cx);
|
||||
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
}
|
||||
|
||||
mChannel = aNewChannel;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
// nsIInterfaceRequestor methods:
|
||||
//
|
||||
NS_IMETHODIMP
|
||||
nsXMLHttpRequest::GetInterface(const nsIID & aIID, void **aResult)
|
||||
{
|
||||
if (aIID.Equals(NS_GET_IID(nsIAuthPrompt))) {
|
||||
NS_ENSURE_ARG_POINTER(aResult);
|
||||
*aResult = nsnull;
|
||||
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIWindowWatcher> ww(do_GetService("@mozilla.org/embedcomp/window-watcher;1", &rv));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
nsCOMPtr<nsIAuthPrompt> prompt;
|
||||
rv = ww->GetNewAuthPrompter(nsnull, getter_AddRefs(prompt));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
nsIAuthPrompt *p = prompt.get();
|
||||
NS_ADDREF(p);
|
||||
*aResult = p;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
return QueryInterface(aIID, aResult);
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS1(nsXMLHttpRequest::nsHeaderVisitor, nsIHttpHeaderVisitor)
|
||||
|
||||
NS_IMETHODIMP nsXMLHttpRequest::
|
||||
|
||||
@@ -43,6 +43,8 @@
|
||||
#include "nsISupportsArray.h"
|
||||
#include "jsapi.h"
|
||||
#include "nsIScriptContext.h"
|
||||
#include "nsIHttpEventSink.h"
|
||||
#include "nsIInterfaceRequestor.h"
|
||||
|
||||
|
||||
enum nsXMLHttpRequestState {
|
||||
@@ -60,6 +62,8 @@ class nsXMLHttpRequest : public nsIXMLHttpRequest,
|
||||
public nsIDOMLoadListener,
|
||||
public nsIDOMEventTarget,
|
||||
public nsIStreamListener,
|
||||
public nsIHttpEventSink,
|
||||
public nsIInterfaceRequestor,
|
||||
public nsSupportsWeakReference
|
||||
{
|
||||
public:
|
||||
@@ -92,6 +96,12 @@ public:
|
||||
// nsIRequestObserver
|
||||
NS_DECL_NSIREQUESTOBSERVER
|
||||
|
||||
// nsIHttpEventSink
|
||||
NS_DECL_NSIHTTPEVENTSINK
|
||||
|
||||
// nsIInterfaceRequestor
|
||||
NS_DECL_NSIINTERFACEREQUESTOR
|
||||
|
||||
protected:
|
||||
nsresult GetStreamForWString(const PRUnichar* aStr,
|
||||
PRInt32 aLength,
|
||||
@@ -145,6 +155,7 @@ protected:
|
||||
|
||||
PRInt32 mStatus;
|
||||
PRBool mAsync;
|
||||
PRBool mCrossSiteAccessEnabled;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1930,15 +1930,20 @@ nsRenderingContextGTK::my_gdk_draw_text (GdkDrawable *drawable,
|
||||
// gdk does this... we don't need it..
|
||||
// XSetFont(drawable_private->xdisplay, gc_private->xgc, xfont->fid);
|
||||
|
||||
// We clamp the sizes down to 32768 which is the maximum width of
|
||||
// a window. Even if a font was 1 pixel high and started at the
|
||||
// left, the maximum size of a draw request could only be 32k.
|
||||
|
||||
if ((xfont->min_byte1 == 0) && (xfont->max_byte1 == 0))
|
||||
{
|
||||
XDrawString (drawable_private->xdisplay, drawable_private->xwindow,
|
||||
gc_private->xgc, x, y, text, text_length);
|
||||
gc_private->xgc, x, y, text, MIN(text_length, 32768));
|
||||
}
|
||||
else
|
||||
{
|
||||
XDrawString16 (drawable_private->xdisplay, drawable_private->xwindow,
|
||||
gc_private->xgc, x, y, (XChar2b *) text, text_length / 2);
|
||||
gc_private->xgc, x, y, (XChar2b *) text,
|
||||
MIN((text_length / 2), 32768));
|
||||
}
|
||||
}
|
||||
else if (font->type == GDK_FONT_FONTSET)
|
||||
|
||||
@@ -51,7 +51,7 @@ EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_LIBS)
|
||||
|
||||
# Reserved name __STDC__ cannot be defined as a macro name on AIX or OpenVMS.
|
||||
# QNX simply objects to the way it's being redefined.
|
||||
ifeq (,$(filter AIX OpenVMS QNX,$(OS_ARCH)))
|
||||
ifeq (,$(filter AIX HP-UX OpenVMS QNX,$(OS_ARCH)))
|
||||
CFLAGS += -D__STDC__
|
||||
endif
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ CFLAGS += -DUSE_NSREG
|
||||
|
||||
# Reserved name __STDC__ cannot be defined as a macro name on AIX or OpenVMS.
|
||||
# QNX simply objects to the way it's being redefined.
|
||||
ifeq (,$(filter AIX OpenVMS QNX,$(OS_ARCH)))
|
||||
ifeq (,$(filter AIX HP-UX OpenVMS QNX,$(OS_ARCH)))
|
||||
CFLAGS += -D__STDC__
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,227 +0,0 @@
|
||||
#! /usr/local/bin/perl5
|
||||
|
||||
use File::Path;
|
||||
|
||||
# The development branch is where primary development and checkins
|
||||
# are done on a day-to-day basis.
|
||||
$development_branch_prefix = "SpiderMonkey140";
|
||||
|
||||
# Space-separated list of CVS-controlled directories to tag/merge
|
||||
$merge_dirs =
|
||||
"mozilla/js/src " ;
|
||||
|
||||
# When line below uncommented, don't recurse into subdirs
|
||||
#$recurse_flag = '-l';
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# The merge branch is itself a branch off of the development branch
|
||||
# at a point where the development branch is thought to be stable.
|
||||
# (A branch is used rather than a static tag because, inevitably,
|
||||
# the development branch is not quite as stable/buildable as was
|
||||
# thought.) The contents of the merge branch will be copied to
|
||||
# the trunk when merging takes place.
|
||||
|
||||
|
||||
# The following tags are created automatically by this script:
|
||||
#
|
||||
# JS_STABLE_DROP
|
||||
#
|
||||
# A static tag on the development branch (or a branch off the
|
||||
# development branch) that indicates the code that should be merged
|
||||
# into the trunk. This is a "variable" tag in the sense that it is
|
||||
# redefined after each merge.
|
||||
#
|
||||
# JS_LAST_STABLE_DROP
|
||||
#
|
||||
# A static tag that is a copy of what the JS_STABLE_DROP tag was in
|
||||
# the previous merge cycle. This is a "variable" tag that is
|
||||
# redefined after each merge. Changes in the branch can be merged
|
||||
# to the trunk by using:
|
||||
#
|
||||
# cvs up -jJS_LAST_STABLE_DROP -jJS_STABLE_DROP
|
||||
#
|
||||
# JS_LANDING
|
||||
#
|
||||
# A static tag that identifies the code on the trunk after the merge
|
||||
# from the branch to the trunk takes place. This is a "variable"
|
||||
# tag that is redefined after each merge. Changes on the trunk
|
||||
# since the last branch landing can be seen by using:
|
||||
#
|
||||
# cvs diff -rJS_LANDING -rHEAD
|
||||
#
|
||||
# JS_LANDING_mmddyyyy
|
||||
#
|
||||
# This is a tag on the trunk which may be used for archaeological
|
||||
# purposes. This tag is made from the JS_LANDING tag.
|
||||
|
||||
|
||||
$development_branch = $development_branch_prefix . "_BRANCH";
|
||||
$development_base = $development_branch_prefix . "_BASE";
|
||||
|
||||
sub help {
|
||||
print <<"END";
|
||||
$0: A tool for merging stable snapshots of JavaScript from a CVS
|
||||
development branch onto the trunk
|
||||
|
||||
Landing a snapshot of the development branch consists of
|
||||
the following steps:
|
||||
|
||||
1) Tag all/some files on the branch to identify files to be merged.
|
||||
2) Merge files from the branch into the trunk using a temporary
|
||||
working directory.
|
||||
3) Resolve any conflicts that arise as a result of the merge.
|
||||
4) Commit merged changes to the trunk.
|
||||
5) Make changes to resolve (build) difficulties and re-commit.
|
||||
Repeat as necessary.
|
||||
6) Backpropagate changes on the trunk to the development branch.
|
||||
|
||||
This script will assist with steps #2, #4 and #6:
|
||||
|
||||
$0 -merge JS_STABLE_10131998
|
||||
$0 -commit
|
||||
$0 -backpatch
|
||||
|
||||
END
|
||||
}
|
||||
|
||||
sub log {
|
||||
local($msg) = @_;
|
||||
print LOGFILE $msg if $logfile;
|
||||
}
|
||||
|
||||
# Similar to die built-in
|
||||
sub die {
|
||||
local($msg) = @_;
|
||||
&log($msg);
|
||||
chomp($msg);
|
||||
if ($logfile) {
|
||||
$msg .= "\nSee $logfile for details.";
|
||||
}
|
||||
die "$msg\n";
|
||||
}
|
||||
|
||||
# Similar to system() built-in
|
||||
sub system {
|
||||
local(@args) = @_;
|
||||
local($cmd) = join(" ", @args);
|
||||
&log("Executing: $cmd\n");
|
||||
|
||||
if ($logfile) {
|
||||
$cmd .= " >> $logfile 2>&1";
|
||||
close(LOGFILE);
|
||||
}
|
||||
|
||||
local($result) = 0xffff & system($cmd);
|
||||
|
||||
if ($logfile) {
|
||||
open(LOGFILE, ">>$logfile");
|
||||
}
|
||||
|
||||
return unless ($result);
|
||||
$msg = "Died while executing $cmd";
|
||||
|
||||
if ($result == 0xff00) {
|
||||
&die("$msg\nWhile executExecution failed due to perl error: $!. ");
|
||||
} else {
|
||||
$result >>= 8;
|
||||
&die("$msg\nExecution failed; exit status: $result. ");
|
||||
}
|
||||
}
|
||||
|
||||
chomp($root_dir = `pwd`);
|
||||
|
||||
# Default log file
|
||||
$logfile = $root_dir . "/log";
|
||||
|
||||
while ($#ARGV >=0) {
|
||||
$_ = shift;
|
||||
|
||||
if (/-merge/) {
|
||||
$do_tag = 1;
|
||||
$do_checkout = 1;
|
||||
$do_merge = 1;
|
||||
$tag = shift;
|
||||
} elsif (/-commit/ || /-ci/) {
|
||||
$do_commit = 1;
|
||||
} elsif (/-backpatch/) {
|
||||
$do_backpatch = 1;
|
||||
} elsif (/-log/) {
|
||||
$logfile = shift;
|
||||
} elsif (/-tag/) { # Debugging option
|
||||
$do_tag = 1;
|
||||
$tag = shift;
|
||||
} elsif (/-co/) { # Debugging option
|
||||
$do_checkout = 1;
|
||||
} else {
|
||||
print STDERR "Illegal option: $_\n" unless (/-h/);
|
||||
&help();
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
die "You must set your CVSROOT environment variable" if !$ENV{"CVSROOT"};
|
||||
|
||||
if ($logfile) {
|
||||
open(LOGFILE, ">$logfile") || die "Couldn't open log file \"$logfile\"";
|
||||
print("Logging to file \"$logfile\".\n");
|
||||
}
|
||||
|
||||
$trunk_dir = $root_dir . "/trunk";
|
||||
|
||||
if ($do_tag) {
|
||||
if (!$tag) {
|
||||
&die("Must specify tag on command-line\n");
|
||||
}
|
||||
|
||||
print("Tagging tree with tag JS_STABLE_DROP.\n");
|
||||
&system("cvs rtag $recurse_flag -F -r $tag JS_STABLE_DROP $merge_dirs");
|
||||
}
|
||||
|
||||
if ($do_checkout) {
|
||||
|
||||
# Delete trunk subdir if it already exists
|
||||
if (-d $trunk_dir) {
|
||||
&log("Deleting directory $trunk_dir\n");
|
||||
rmtree ($trunk_dir, 0, 1);
|
||||
}
|
||||
&log("Creating directory $trunk_dir\n");
|
||||
mkdir($trunk_dir, 0777) || die "Couldn't create directory $trunk_dir";
|
||||
|
||||
# Check out on trunk
|
||||
print("Checking out $merge_dirs.\n");
|
||||
chdir $trunk_dir;
|
||||
&system("cvs co $recurse_flag -A $merge_dirs");
|
||||
}
|
||||
|
||||
if ($do_merge) {
|
||||
chdir $trunk_dir;
|
||||
print("Merging from JS_STABLE_DROP into trunk\n");
|
||||
&system("cvs up -jJS_LAST_STABLE_DROP -jJS_STABLE_DROP");
|
||||
}
|
||||
|
||||
if ($do_commit) {
|
||||
&die("No merged tree found. Wrong directory ?") if (!chdir $trunk_dir);
|
||||
|
||||
($_,$_,$_,$day,$mon,$year,$_,$_) = localtime(time());
|
||||
if ($year < 30) {
|
||||
$year = "20" . $year;
|
||||
} else {
|
||||
$year = "19" . $year;
|
||||
}
|
||||
|
||||
$mmddyyyy = sprintf("%02d%02d%s", $mon, $day, $year);
|
||||
|
||||
print("Checking in code on trunk");
|
||||
&system("cvs ci -m 'Stable drop of JavaScript interpreter code from " .
|
||||
"$development_branch'");
|
||||
|
||||
# Tag merged result
|
||||
&system("cvs tag -F JS_LANDING");
|
||||
&system("cvs tag -F JS_LANDING_$mmddyyyy");
|
||||
|
||||
# Move JS_LAST_STABLE_DROP tag forward
|
||||
&system("cvs tag -F -rJS_STABLE_DROP JS_LAST_STABLE_DROP");
|
||||
}
|
||||
|
||||
|
||||
@@ -664,8 +664,10 @@ nsMsgAttachmentHandler::SnarfAttachment(nsMsgCompFields *compFields)
|
||||
m_x_mac_creator = PL_strdup(filetype);
|
||||
}
|
||||
|
||||
long dataSize = 0;
|
||||
long resSize = 0;
|
||||
|
||||
PRBool sendResourceFork = PR_TRUE;
|
||||
PRBool sendDataFork = PR_TRUE;
|
||||
PRBool icGaveNeededInfo = PR_FALSE;
|
||||
|
||||
nsCOMPtr<nsIInternetConfigService> icService (do_GetService(NS_INTERNETCONFIGSERVICE_CONTRACTID));
|
||||
@@ -676,7 +678,14 @@ nsMsgAttachmentHandler::SnarfAttachment(nsMsgCompFields *compFields)
|
||||
if (NS_SUCCEEDED(rv) && icFlags != -1 && !(icFlags & nsIInternetConfigService::eIICMapFlag_NotOutgoingMask))
|
||||
{
|
||||
sendResourceFork = (icFlags & nsIInternetConfigService::eIICMapFlag_ResourceForkMask);
|
||||
sendDataFork = (icFlags & nsIInternetConfigService::eIICMapFlag_DataForkMask);
|
||||
|
||||
if (sendResourceFork)
|
||||
{
|
||||
// before deciding to send the resource fork along the data fork, check if we have one,
|
||||
// else don't need to use apple double.
|
||||
if (::FSpGetFileSize(&fsSpec, &dataSize, &resSize) == noErr && resSize == 0)
|
||||
sendResourceFork = PR_FALSE;
|
||||
}
|
||||
|
||||
icGaveNeededInfo = PR_TRUE;
|
||||
}
|
||||
@@ -685,9 +694,6 @@ nsMsgAttachmentHandler::SnarfAttachment(nsMsgCompFields *compFields)
|
||||
if (! icGaveNeededInfo)
|
||||
{
|
||||
// If InternetConfig cannot help us, then just try our best...
|
||||
long dataSize = 0;
|
||||
long resSize = 0;
|
||||
|
||||
// first check if we have a resource fork
|
||||
if (::FSpGetFileSize(&fsSpec, &dataSize, &resSize) == noErr)
|
||||
sendResourceFork = (resSize > 0);
|
||||
|
||||
@@ -2396,16 +2396,15 @@ nsresult nsImapIncomingServer::RequestOverrideInfo(nsIMsgWindow *aMsgWindow)
|
||||
|
||||
GetUsername(getter_Copies(userName));
|
||||
m_logonRedirector->RequiresPassword(userName, &requiresPassword);
|
||||
|
||||
if (requiresPassword)
|
||||
{
|
||||
GetPassword(getter_Copies(password));
|
||||
|
||||
if (!((const char *) password) || nsCRT::strlen((const char *) password) == 0)
|
||||
if (password.IsEmpty())
|
||||
PromptForPassword(getter_Copies(password), aMsgWindow);
|
||||
|
||||
// if we still don't have a password then the user must have hit cancel so just
|
||||
// fall out...
|
||||
if (!((const char *) password) || nsCRT::strlen((const char *) password) == 0)
|
||||
if (password.IsEmpty()) // if still empty then the user canceld out of the password dialog
|
||||
{
|
||||
// be sure to clear the waiting for connection info flag because we aren't waiting
|
||||
// anymore for a connection...
|
||||
@@ -2413,6 +2412,10 @@ nsresult nsImapIncomingServer::RequestOverrideInfo(nsIMsgWindow *aMsgWindow)
|
||||
return NS_OK;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SetUserAuthenticated(PR_TRUE); // we are already authenicated
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIPrompt> dialogPrompter;
|
||||
if (aMsgWindow)
|
||||
|
||||
@@ -469,7 +469,27 @@ nsMsgLocalMailFolder::GetSubFolders(nsIEnumerator* *result)
|
||||
rv = localMailServer->SetFlagsOnDefaultMailboxes();
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
}
|
||||
|
||||
|
||||
/*we need to create all the folders at start-up because if a folder having subfolders is
|
||||
closed then the datasource will not ask for subfolders. For IMAP logging onto the
|
||||
server will create imap folders and for news we don't have any 2nd level newsgroup */
|
||||
|
||||
PRUint32 cnt;
|
||||
rv = mSubFolders->Count(&cnt);
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsCOMPtr<nsIEnumerator> enumerator;
|
||||
for (PRUint32 i=0; i< cnt;i++)
|
||||
{
|
||||
nsCOMPtr<nsISupports> supports = getter_AddRefs(mSubFolders->ElementAt(i));
|
||||
nsCOMPtr<nsIMsgFolder> folder = do_QueryInterface(supports, &rv);
|
||||
if (folder && NS_SUCCEEDED(rv))
|
||||
{
|
||||
rv = folder->GetSubFolders(getter_AddRefs(enumerator));
|
||||
NS_ASSERTION(NS_SUCCEEDED(rv),"GetSubFolders failed");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
UpdateSummaryTotals(PR_FALSE);
|
||||
|
||||
|
||||
@@ -112,6 +112,7 @@
|
||||
*/
|
||||
#include "nsCOMPtr.h"
|
||||
#include "mimemrel.h"
|
||||
#include "mimemapl.h"
|
||||
#include "prmem.h"
|
||||
#include "prprf.h"
|
||||
#include "prlog.h"
|
||||
@@ -464,10 +465,21 @@ MimeMultipartRelated_output_child_p(MimeObject *obj, MimeObject* child)
|
||||
PR_FREEIF(base_url);
|
||||
PR_Free(location);
|
||||
if (absolute) {
|
||||
char* partnum = mime_part_address(child);
|
||||
if (partnum) {
|
||||
nsCAutoString partnum;
|
||||
char * partNumStr = mime_part_address(child);
|
||||
partnum.Assign(partNumStr);
|
||||
PR_FREEIF(partNumStr);
|
||||
if (!partnum.IsEmpty()) {
|
||||
/*
|
||||
AppleDouble part need special care: we need to output only the data fork part of it.
|
||||
The problem at this point is that we haven't yet decoded the children of the AppleDouble
|
||||
part therfore we will have to hope the datafork is the second one!
|
||||
*/
|
||||
if (mime_typep(child, (MimeObjectClass *) &mimeMultipartAppleDoubleClass))
|
||||
partnum.Append(".2");
|
||||
|
||||
char* part;
|
||||
part = mime_set_url_part(obj->options->url, partnum,
|
||||
part = mime_set_url_part(obj->options->url, (char *) partnum.get(),
|
||||
PR_FALSE);
|
||||
if (part) {
|
||||
/* If there's a space in the url, escape the url.
|
||||
@@ -513,7 +525,6 @@ MimeMultipartRelated_output_child_p(MimeObject *obj, MimeObject* child)
|
||||
part URL that was given to us. */
|
||||
if (temp != part) PR_Free(part);
|
||||
}
|
||||
PR_Free(partnum);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -539,7 +550,6 @@ MimeMultipartRelated_output_child_p(MimeObject *obj, MimeObject* child)
|
||||
PR_FREEIF(relobj->base_url);
|
||||
relobj->base_url = base_url;
|
||||
}
|
||||
|
||||
}
|
||||
if (obj->options && !obj->options->write_html_p
|
||||
#ifdef MIME_DRAFTS
|
||||
|
||||
@@ -390,7 +390,8 @@ MimeMultipart_create_child(MimeObject *obj)
|
||||
{
|
||||
struct mime_stream_data *msd = (struct mime_stream_data *)body->options->stream_closure;
|
||||
if (!body->options->write_html_p && body->content_type && !nsCRT::strcasecmp(body->content_type, APPLICATION_APPLEFILE))
|
||||
msd->channel->SetContentType(APPLICATION_APPLEFILE);
|
||||
if (msd && msd->channel)
|
||||
msd->channel->SetContentType(APPLICATION_APPLEFILE);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ pref("network.search.url","http://cgi.netscape.com/cgi-bin/url_search.cgi?search
|
||||
pref("keyword.URL", "http://keyword.netscape.com/keyword/");
|
||||
pref("keyword.enabled", true);
|
||||
pref("general.useragent.locale", "chrome://navigator/locale/navigator.properties");
|
||||
pref("general.useragent.misc", "rv:0.9.4");
|
||||
pref("general.useragent.misc", "rv:0.9.4.1");
|
||||
|
||||
pref("general.startup.browser", true);
|
||||
pref("general.startup.mail", false);
|
||||
|
||||
@@ -117,6 +117,7 @@ static void SetMIMETypeSeparator(char *minfo)
|
||||
#define DEFAULT_X11_PATH "/usr/lib/X11R6/"
|
||||
#undef LOCAL_PLUGIN_DLL_SUFFIX
|
||||
#define LOCAL_PLUGIN_DLL_SUFFIX ".sl"
|
||||
#define LOCAL_PLUGIN_DLL_ALT_SUFFIX ".so"
|
||||
#elif defined(SOLARIS)
|
||||
#define DEFAULT_X11_PATH "/usr/openwin/lib/"
|
||||
#elif defined(LINUX)
|
||||
@@ -329,6 +330,15 @@ PRBool nsPluginsDir::IsPluginFile(const nsFileSpec& fileSpec)
|
||||
if (n > 0 && !PL_strcmp(&pathname[n], LOCAL_PLUGIN_DLL_SUFFIX)) {
|
||||
ret = PR_TRUE; // *.so or *.sl file
|
||||
}
|
||||
#ifdef LOCAL_PLUGIN_DLL_ALT_SUFFIX
|
||||
if (PR_TRUE != ret) {
|
||||
n = PL_strlen(pathname) - (sizeof(LOCAL_PLUGIN_DLL_ALT_SUFFIX) - 1);
|
||||
if (n > 0 && !PL_strcmp(&pathname[n], LOCAL_PLUGIN_DLL_ALT_SUFFIX)) {
|
||||
ret = PR_TRUE;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef NS_DEBUG
|
||||
printf("IsPluginFile(%s) == %s\n", pathname, ret?"TRUE":"FALSE");
|
||||
#endif
|
||||
|
||||
@@ -249,10 +249,12 @@ int r;
|
||||
&s->sub.trees.tb, s->hufts, z);
|
||||
if (t != Z_OK)
|
||||
{
|
||||
ZFREE(z, s->sub.trees.blens);
|
||||
r = t;
|
||||
if (r == Z_DATA_ERROR)
|
||||
{
|
||||
ZFREE(z, s->sub.trees.blens);
|
||||
s->mode = BAD;
|
||||
}
|
||||
LEAVE
|
||||
}
|
||||
s->sub.trees.index = 0;
|
||||
@@ -313,14 +315,17 @@ int r;
|
||||
t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
|
||||
s->sub.trees.blens, &bl, &bd, &tl, &td,
|
||||
s->hufts, z);
|
||||
ZFREE(z, s->sub.trees.blens);
|
||||
if (t != Z_OK)
|
||||
{
|
||||
if (t == (uInt)Z_DATA_ERROR)
|
||||
{
|
||||
ZFREE(z, s->sub.trees.blens);
|
||||
s->mode = BAD;
|
||||
}
|
||||
r = t;
|
||||
LEAVE
|
||||
}
|
||||
ZFREE(z, s->sub.trees.blens);
|
||||
Tracev((stderr, "inflate: trees ok\n"));
|
||||
if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
|
||||
{
|
||||
|
||||
@@ -28,7 +28,7 @@ include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
MODULE = necko
|
||||
LIBRARY_NAME = nkhttp_s
|
||||
REQUIRES = xpcom string pref nkcache mimetype intl
|
||||
REQUIRES = xpcom string pref nkcache mimetype intl xpconnect js
|
||||
|
||||
CPPSRCS = \
|
||||
nsHttp.cpp \
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "nsIStringBundle.h"
|
||||
#include "nsISupportsPrimitives.h"
|
||||
#include "nsIFileStream.h"
|
||||
#include "nsIScriptSecurityManager.h"
|
||||
#include "nsMimeTypes.h"
|
||||
#include "nsNetUtil.h"
|
||||
#include "nsString2.h"
|
||||
@@ -1063,6 +1064,15 @@ nsHttpChannel::ProcessRedirection(PRUint32 redirectType)
|
||||
rv = ioService->NewURI(location, mURI, getter_AddRefs(newURI));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
// verify that this is a legal redirect
|
||||
nsCOMPtr<nsIScriptSecurityManager> securityManager =
|
||||
do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID);
|
||||
if (securityManager) {
|
||||
rv = securityManager->CheckLoadURI(mURI, newURI,
|
||||
nsIScriptSecurityManager::DISALLOW_FROM_MAIL);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
}
|
||||
|
||||
// move the reference of the old location to the new one if the new
|
||||
// one has none.
|
||||
nsCOMPtr<nsIURL> newURL = do_QueryInterface(newURI, &rv);
|
||||
|
||||
79
mozilla/nsprpub/configure
vendored
79
mozilla/nsprpub/configure
vendored
@@ -3179,7 +3179,9 @@ EOF
|
||||
DLL_SUFFIX=sl
|
||||
DSO_LDOPTS='-b +h $(notdir $@)'
|
||||
PR_MD_CSRCS=hpux.c
|
||||
PR_MD_ASFILES=os_HPUX.s
|
||||
if test "$OS_TEST" != "ia64"; then
|
||||
PR_MD_ASFILES=os_HPUX.s
|
||||
fi
|
||||
if test -n "$USE_64"; then
|
||||
MDCPUCFG_H=_hpux64.cfg
|
||||
else
|
||||
@@ -3188,8 +3190,13 @@ EOF
|
||||
if test -z "$GNU_CC"; then
|
||||
CC="$CC -Ae"
|
||||
CXX="$CXX -ext"
|
||||
CFLAGS="$CFLAGS +ESlit"
|
||||
CXXFLAGS="$CXXFLAGS +ESlit"
|
||||
if test "$OS_TEST" != "ia64"; then
|
||||
CFLAGS="$CFLAGS +ESlit"
|
||||
CXXFLAGS="$CXXFLAGS +ESlit"
|
||||
else
|
||||
CFLAGS="$CFLAGS +Olit=all"
|
||||
CXXFLAGS="$CXXFLAGS +Olit=all"
|
||||
fi
|
||||
DSO_CFLAGS=+Z
|
||||
else
|
||||
DSO_CFLAGS=-fPIC
|
||||
@@ -3233,7 +3240,7 @@ EOF
|
||||
|
||||
fi
|
||||
|
||||
if echo "$OS_RELEASE" | egrep '^(B.10.30|B.11.00)' >/dev/null; then
|
||||
if echo "$OS_RELEASE" | egrep '^(B.10.30|B.11.00|B.11.11|B.11.20)' >/dev/null; then
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HAVE_POINTER_LOCALTIME_R 1
|
||||
EOF
|
||||
@@ -3292,7 +3299,7 @@ EOF
|
||||
DEFAULT_IMPL_STRATEGY=_PTH
|
||||
fi
|
||||
|
||||
if test "$OS_RELEASE" = "B.11.00"; then
|
||||
if echo "$OS_RELEASE" | egrep '^(B.11.00|B.11.11|B.11.20)' >/dev/null; then
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HPUX10 1
|
||||
EOF
|
||||
@@ -3315,11 +3322,21 @@ EOF
|
||||
|
||||
if test -z "$GNU_CC"; then
|
||||
if test -z "$USE_64"; then
|
||||
CFLAGS="$CFLAGS +DAportable +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DAportable +DS2.0"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DA2.0W +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DA2.0W +DS2.0"
|
||||
if test "$OS_TEST" = "ia64"; then
|
||||
CFLAGS="$CFLAGS +DD32"
|
||||
CXXFLAGS="$CXXFLAGS +DD32"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DAportable +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DAportable +DS2.0"
|
||||
fi
|
||||
else
|
||||
if test "$OS_TEST" = "ia64"; then
|
||||
CFLAGS="$CFLAGS +DD64"
|
||||
CXXFLAGS="$CXXFLAGS +DD64"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DA2.0W +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DA2.0W +DS2.0"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
DEFAULT_IMPL_STRATEGY=_PTH
|
||||
@@ -4010,17 +4027,17 @@ EOF
|
||||
|
||||
ac_safe=`echo "machine/builtins.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for machine/builtins.h""... $ac_c" 1>&6
|
||||
echo "configure:4014: checking for machine/builtins.h" >&5
|
||||
echo "configure:4031: checking for machine/builtins.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4019 "configure"
|
||||
#line 4036 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <machine/builtins.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:4024: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:4041: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@@ -4567,12 +4584,12 @@ esac
|
||||
if test -z "$SKIP_LIBRARY_CHECKS"; then
|
||||
|
||||
echo $ac_n "checking for dlopen""... $ac_c" 1>&6
|
||||
echo "configure:4571: checking for dlopen" >&5
|
||||
echo "configure:4588: checking for dlopen" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4576 "configure"
|
||||
#line 4593 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char dlopen(); below. */
|
||||
@@ -4595,7 +4612,7 @@ dlopen();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4599: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_dlopen=yes"
|
||||
else
|
||||
@@ -4614,7 +4631,7 @@ else
|
||||
echo "$ac_t""no" 1>&6
|
||||
|
||||
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
|
||||
echo "configure:4618: checking for dlopen in -ldl" >&5
|
||||
echo "configure:4635: checking for dlopen in -ldl" >&5
|
||||
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -4622,7 +4639,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-ldl $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4626 "configure"
|
||||
#line 4643 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4633,7 +4650,7 @@ int main() {
|
||||
dlopen()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4661,13 +4678,13 @@ fi
|
||||
|
||||
if test $ac_cv_prog_gcc = yes; then
|
||||
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
|
||||
echo "configure:4665: checking whether ${CC-cc} needs -traditional" >&5
|
||||
echo "configure:4682: checking whether ${CC-cc} needs -traditional" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_pattern="Autoconf.*'x'"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4671 "configure"
|
||||
#line 4688 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sgtty.h>
|
||||
Autoconf TIOCGETP
|
||||
@@ -4685,7 +4702,7 @@ rm -f conftest*
|
||||
|
||||
if test $ac_cv_prog_gcc_traditional = no; then
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4689 "configure"
|
||||
#line 4706 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <termio.h>
|
||||
Autoconf TCGETA
|
||||
@@ -4709,12 +4726,12 @@ fi
|
||||
for ac_func in lchown strerror
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:4713: checking for $ac_func" >&5
|
||||
echo "configure:4730: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4718 "configure"
|
||||
#line 4735 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
@@ -4737,7 +4754,7 @@ $ac_func();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
@@ -4775,7 +4792,7 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking for pthread_create in -lpthreads""... $ac_c" 1>&6
|
||||
echo "configure:4779: checking for pthread_create in -lpthreads" >&5
|
||||
echo "configure:4796: checking for pthread_create in -lpthreads" >&5
|
||||
echo "
|
||||
#include <pthread.h>
|
||||
void *foo(void *v) { int a = 1; }
|
||||
@@ -4797,7 +4814,7 @@ echo "
|
||||
echo "$ac_t""no" 1>&6
|
||||
|
||||
echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
|
||||
echo "configure:4801: checking for pthread_create in -lpthread" >&5
|
||||
echo "configure:4818: checking for pthread_create in -lpthread" >&5
|
||||
echo "
|
||||
#include <pthread.h>
|
||||
void *foo(void *v) { int a = 1; }
|
||||
@@ -4819,7 +4836,7 @@ echo "
|
||||
echo "$ac_t""no" 1>&6
|
||||
|
||||
echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6
|
||||
echo "configure:4823: checking for pthread_create in -lc_r" >&5
|
||||
echo "configure:4840: checking for pthread_create in -lc_r" >&5
|
||||
echo "
|
||||
#include <pthread.h>
|
||||
void *foo(void *v) { int a = 1; }
|
||||
@@ -4841,7 +4858,7 @@ echo "
|
||||
echo "$ac_t""no" 1>&6
|
||||
|
||||
echo $ac_n "checking for pthread_create in -lc""... $ac_c" 1>&6
|
||||
echo "configure:4845: checking for pthread_create in -lc" >&5
|
||||
echo "configure:4862: checking for pthread_create in -lc" >&5
|
||||
echo "
|
||||
#include <pthread.h>
|
||||
void *foo(void *v) { int a = 1; }
|
||||
@@ -4991,7 +5008,7 @@ if test -n "$USE_PTHREADS"; then
|
||||
rm -f conftest*
|
||||
ac_cv_have_dash_pthread=no
|
||||
echo $ac_n "checking whether ${CC-cc} accepts -pthread""... $ac_c" 1>&6
|
||||
echo "configure:4995: checking whether ${CC-cc} accepts -pthread" >&5
|
||||
echo "configure:5012: checking whether ${CC-cc} accepts -pthread" >&5
|
||||
echo 'int main() { return 0; }' | cat > conftest.c
|
||||
${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1
|
||||
if test $? -eq 0; then
|
||||
@@ -5007,7 +5024,7 @@ echo "configure:4995: checking whether ${CC-cc} accepts -pthread" >&5
|
||||
ac_cv_have_dash_pthreads=no
|
||||
if test "$ac_cv_have_dash_pthread" = "no"; then
|
||||
echo $ac_n "checking whether ${CC-cc} accepts -pthreads""... $ac_c" 1>&6
|
||||
echo "configure:5011: checking whether ${CC-cc} accepts -pthreads" >&5
|
||||
echo "configure:5028: checking whether ${CC-cc} accepts -pthreads" >&5
|
||||
echo 'int main() { return 0; }' | cat > conftest.c
|
||||
${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1
|
||||
if test $? -eq 0; then
|
||||
|
||||
@@ -821,7 +821,9 @@ case "$target" in
|
||||
DLL_SUFFIX=sl
|
||||
DSO_LDOPTS='-b +h $(notdir $@)'
|
||||
PR_MD_CSRCS=hpux.c
|
||||
PR_MD_ASFILES=os_HPUX.s
|
||||
if test "$OS_TEST" != "ia64"; then
|
||||
PR_MD_ASFILES=os_HPUX.s
|
||||
fi
|
||||
if test -n "$USE_64"; then
|
||||
MDCPUCFG_H=_hpux64.cfg
|
||||
else
|
||||
@@ -830,8 +832,13 @@ case "$target" in
|
||||
if test -z "$GNU_CC"; then
|
||||
CC="$CC -Ae"
|
||||
CXX="$CXX -ext"
|
||||
CFLAGS="$CFLAGS +ESlit"
|
||||
CXXFLAGS="$CXXFLAGS +ESlit"
|
||||
if test "$OS_TEST" != "ia64"; then
|
||||
CFLAGS="$CFLAGS +ESlit"
|
||||
CXXFLAGS="$CXXFLAGS +ESlit"
|
||||
else
|
||||
CFLAGS="$CFLAGS +Olit=all"
|
||||
CXXFLAGS="$CXXFLAGS +Olit=all"
|
||||
fi
|
||||
DSO_CFLAGS=+Z
|
||||
else
|
||||
DSO_CFLAGS=-fPIC
|
||||
@@ -860,7 +867,7 @@ case "$target" in
|
||||
AC_DEFINE(HAVE_INT_LOCALTIME_R)
|
||||
fi
|
||||
|
||||
if echo "$OS_RELEASE" | egrep '^(B.10.30|B.11.00)' >/dev/null; then
|
||||
if echo "$OS_RELEASE" | egrep '^(B.10.30|B.11.00|B.11.11|B.11.20)' >/dev/null; then
|
||||
AC_DEFINE(HAVE_POINTER_LOCALTIME_R)
|
||||
fi
|
||||
|
||||
@@ -895,7 +902,7 @@ case "$target" in
|
||||
DEFAULT_IMPL_STRATEGY=_PTH
|
||||
fi
|
||||
|
||||
if test "$OS_RELEASE" = "B.11.00"; then
|
||||
if echo "$OS_RELEASE" | egrep '^(B.11.00|B.11.11|B.11.20)' >/dev/null; then
|
||||
AC_DEFINE(HPUX10)
|
||||
AC_DEFINE(HPUX11)
|
||||
AC_DEFINE(_LARGEFILE64_SOURCE)
|
||||
@@ -903,11 +910,21 @@ case "$target" in
|
||||
AC_DEFINE(HAVE_FCNTL_FILE_LOCKING)
|
||||
if test -z "$GNU_CC"; then
|
||||
if test -z "$USE_64"; then
|
||||
CFLAGS="$CFLAGS +DAportable +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DAportable +DS2.0"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DA2.0W +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DA2.0W +DS2.0"
|
||||
if test "$OS_TEST" = "ia64"; then
|
||||
CFLAGS="$CFLAGS +DD32"
|
||||
CXXFLAGS="$CXXFLAGS +DD32"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DAportable +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DAportable +DS2.0"
|
||||
fi
|
||||
else
|
||||
if test "$OS_TEST" = "ia64"; then
|
||||
CFLAGS="$CFLAGS +DD64"
|
||||
CXXFLAGS="$CXXFLAGS +DD64"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DA2.0W +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DA2.0W +DS2.0"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
DEFAULT_IMPL_STRATEGY=_PTH
|
||||
|
||||
@@ -55,7 +55,11 @@
|
||||
#undef HAVE_WEAK_IO_SYMBOLS
|
||||
#undef HAVE_WEAK_MALLOC_SYMBOLS
|
||||
#define HAVE_DLL
|
||||
#ifdef IS_64
|
||||
#define USE_DLFCN
|
||||
#else
|
||||
#define USE_HPSHL
|
||||
#endif
|
||||
#ifndef HAVE_STRERROR
|
||||
#define HAVE_STRERROR
|
||||
#endif
|
||||
|
||||
@@ -82,8 +82,8 @@
|
||||
|
||||
#define PR_ALIGN_OF_SHORT 2
|
||||
#define PR_ALIGN_OF_INT 4
|
||||
#define PR_ALIGN_OF_LONG 4
|
||||
#define PR_ALIGN_OF_INT64 4
|
||||
#define PR_ALIGN_OF_LONG 8
|
||||
#define PR_ALIGN_OF_INT64 8
|
||||
#define PR_ALIGN_OF_FLOAT 4
|
||||
#define PR_ALIGN_OF_DOUBLE 8
|
||||
#define PR_ALIGN_OF_POINTER 8
|
||||
|
||||
@@ -64,6 +64,18 @@ GetHighResClock(void *buf, size_t maxbytes)
|
||||
|
||||
#elif defined(HPUX)
|
||||
|
||||
#ifdef __ia64
|
||||
#include <ia64/sys/inline.h>
|
||||
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
PRUint64 t;
|
||||
|
||||
t = _Asm_mov_from_ar(_AREG44);
|
||||
return _pr_CopyLowBits(buf, maxbytes, &t, sizeof(t));
|
||||
}
|
||||
#else
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
@@ -73,6 +85,7 @@ GetHighResClock(void *buf, size_t maxbytes)
|
||||
cr16val = ret_cr16();
|
||||
return(_pr_CopyLowBits(buf, maxbytes, &cr16val, sizeof(cr16val)));
|
||||
}
|
||||
#endif
|
||||
|
||||
#elif defined(OSF1)
|
||||
|
||||
@@ -210,7 +223,7 @@ static size_t GetHighResClock(void *buf, size_t maxbuf)
|
||||
}
|
||||
iotimer_addr = (unsigned *)
|
||||
mmap(0, pgoffmask, PROT_READ, MAP_PRIVATE, mfd, (int)raddr);
|
||||
if (iotimer_addr == (void*)-1) {
|
||||
if (iotimer_addr == (unsigned*)-1) {
|
||||
close(mfd);
|
||||
iotimer_addr = NULL;
|
||||
return 0;
|
||||
@@ -278,7 +291,7 @@ GetHighResClock(void *buf, size_t maxbytes)
|
||||
return 0;
|
||||
}
|
||||
#elif defined(SCO) || defined(UNIXWARE) || defined(BSDI) || defined(NTO) \
|
||||
|| defined(QNX) || defined(RHAPSODY)
|
||||
|| defined(QNX) || defined(DARWIN)
|
||||
#include <sys/times.h>
|
||||
|
||||
static size_t
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
#endif
|
||||
|
||||
#if defined(HPUX)
|
||||
#include <sys/mp.h>
|
||||
#include <sys/mpctl.h>
|
||||
#endif
|
||||
|
||||
#if defined(XP_UNIX)
|
||||
|
||||
@@ -296,7 +296,9 @@ endif
|
||||
ifeq ($(OS_ARCH), HP-UX)
|
||||
LDOPTS += -z -Wl,+s,+b,$(ABSOLUTE_LIB_DIR)
|
||||
ifeq ($(USE_64),1)
|
||||
LDOPTS += +DA2.0W
|
||||
LDOPTS += +DD64
|
||||
endif
|
||||
ifeq ($(USE_PTHREADS),1)
|
||||
EXTRA_LIBS = -lpthread
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -2078,8 +2078,14 @@ initializeEncoding(XML_Parser parser)
|
||||
#else
|
||||
s = protocolEncodingName;
|
||||
#endif
|
||||
if ((ns ? XmlInitEncodingNS : XmlInitEncoding)(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
//if ((ns ? XmlInitEncodingNS : XmlInitEncoding)(&initEncoding, &encoding, s))
|
||||
if (ns) {
|
||||
if (XmlInitEncodingNS(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
} else {
|
||||
if (XmlInitEncoding(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
}
|
||||
return handleUnknownEncoding(parser, protocolEncodingName);
|
||||
}
|
||||
|
||||
@@ -2091,18 +2097,13 @@ processXmlDecl(XML_Parser parser, int isGeneralTextEntity,
|
||||
const ENCODING *newEncoding = 0;
|
||||
const char *version;
|
||||
int standalone = -1;
|
||||
if (!(ns
|
||||
? XmlParseXmlDeclNS
|
||||
: XmlParseXmlDecl)(isGeneralTextEntity,
|
||||
encoding,
|
||||
s,
|
||||
next,
|
||||
&eventPtr,
|
||||
&version,
|
||||
&encodingName,
|
||||
&newEncoding,
|
||||
&standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
if (ns) {
|
||||
if (!XmlParseXmlDeclNS(isGeneralTextEntity, encoding, s, next, &eventPtr, &version, &encodingName, &newEncoding, &standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
} else {
|
||||
if (!XmlParseXmlDecl(isGeneralTextEntity, encoding, s, next, &eventPtr, &version, &encodingName, &newEncoding, &standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
}
|
||||
if (!isGeneralTextEntity && standalone == 1) {
|
||||
dtd.standalone = 1;
|
||||
#ifdef XML_DTD
|
||||
@@ -2158,12 +2159,10 @@ handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName)
|
||||
info.release(info.data);
|
||||
return XML_ERROR_NO_MEMORY;
|
||||
}
|
||||
enc = (ns
|
||||
? XmlInitUnknownEncodingNS
|
||||
: XmlInitUnknownEncoding)(unknownEncodingMem,
|
||||
info.map,
|
||||
info.convert,
|
||||
info.data);
|
||||
if (ns)
|
||||
enc = XmlInitUnknownEncodingNS(unknownEncodingMem, info.map, info.convert, info.data);
|
||||
else
|
||||
enc = XmlInitUnknownEncoding(unknownEncodingMem, info.map, info.convert, info.data);
|
||||
if (enc) {
|
||||
unknownEncodingData = info.data;
|
||||
unknownEncodingRelease = info.release;
|
||||
|
||||
55
mozilla/security/coreconf/HP-UXB.11.20.mk
Normal file
55
mozilla/security/coreconf/HP-UXB.11.20.mk
Normal file
@@ -0,0 +1,55 @@
|
||||
#
|
||||
# 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 the Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2002 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# On HP-UX 11.20 the default implementation strategy is
|
||||
# pthreads. Classic nspr and pthreads-user are also available.
|
||||
#
|
||||
|
||||
ifeq ($(OS_RELEASE),B.11.20)
|
||||
OS_CFLAGS += -DHPUX10
|
||||
DEFAULT_IMPL_STRATEGY = _PTH
|
||||
endif
|
||||
|
||||
#
|
||||
# To use the true pthread (kernel thread) library on 11.20,
|
||||
# we should define _POSIX_C_SOURCE to be 199506L.
|
||||
# The _REENTRANT macro is deprecated.
|
||||
#
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
OS_CFLAGS += -D_POSIX_C_SOURCE=199506L
|
||||
endif
|
||||
|
||||
#
|
||||
# Config stuff for HP-UXB.11.20.
|
||||
#
|
||||
include $(CORE_DEPTH)/coreconf/HP-UXB.11.mk
|
||||
@@ -40,15 +40,19 @@ endif
|
||||
|
||||
ifndef NS_USE_GCC
|
||||
CCC = /opt/aCC/bin/aCC -ext
|
||||
ifeq ($(USE_64), 1)
|
||||
OS_CFLAGS += -Aa +e +DA2.0W +DS2.0 +DChpux
|
||||
# Next line replaced by generic name handling in arch.mk
|
||||
# COMPILER_TAG = _64
|
||||
ifeq ($(OS_TEST), ia64)
|
||||
OS_CFLAGS += -Aa +e +p +DD32
|
||||
else
|
||||
ifdef USE_HYBRID
|
||||
OS_CFLAGS += -Aa +e +DA2.0 +DS2.0
|
||||
ifeq ($(USE_64), 1)
|
||||
OS_CFLAGS += -Aa +e +DA2.0W +DS2.0 +DChpux
|
||||
# Next line replaced by generic name handling in arch.mk
|
||||
# COMPILER_TAG = _64
|
||||
else
|
||||
OS_CFLAGS += +DAportable +DS2.0
|
||||
ifdef USE_HYBRID
|
||||
OS_CFLAGS += -Aa +e +DA2.0 +DS2.0
|
||||
else
|
||||
OS_CFLAGS += +DAportable +DS2.0
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
else
|
||||
|
||||
@@ -80,9 +80,11 @@ ifneq (,$(filter SunOS HP-UX,$(OS_ARCH)))
|
||||
ifneq ($(OS_TEST),i86pc)
|
||||
ifndef HAVE_64BIT_OS
|
||||
$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_PURE32_MODULE) $(DIST)/bin
|
||||
ifneq ($(OS_TEST),ia64)
|
||||
$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
$(MAKE) -C ssl $@
|
||||
$(MAKE) -C pki $@
|
||||
|
||||
@@ -297,8 +297,10 @@ $(PURE32DIR):
|
||||
$(LINKEDFILES) : $(PURE32DIR)/% : %
|
||||
ln -s $(CDDIR)/$* $(PURE32DIR)
|
||||
|
||||
ifneq ($(OS_TEST),ia64)
|
||||
libs::
|
||||
$(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_HYBRID=1 libs
|
||||
endif
|
||||
|
||||
libs:: $(PURE32DIR) $(LINKEDFILES)
|
||||
cd $(PURE32DIR) && $(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_PURE_32=1 FREEBL_PARENT=$(CDDIR) CORE_DEPTH=$(CDDIR)/$(CORE_DEPTH) libs
|
||||
|
||||
@@ -45,8 +45,10 @@ include manifest.mn
|
||||
include $(CORE_DEPTH)/coreconf/arch.mk
|
||||
|
||||
ifeq ($(OS_ARCH),HP-UX)
|
||||
ifneq ($(OS_RELEASE),B.11.20)
|
||||
ASFILES += ret_cr16.s
|
||||
endif
|
||||
endif
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/config.mk
|
||||
|
||||
|
||||
@@ -181,6 +181,18 @@ GiveSystemInfo(void)
|
||||
|
||||
#define getdtablesize() sysconf(_SC_OPEN_MAX)
|
||||
|
||||
#if defined(__ia64)
|
||||
#include <ia64/sys/inline.h>
|
||||
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
PRUint64 t;
|
||||
|
||||
t = _Asm_mov_from_ar(_AREG44);
|
||||
return CopyLowBits(buf, maxbytes, &t, sizeof(t));
|
||||
}
|
||||
#else
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
@@ -190,6 +202,7 @@ GetHighResClock(void *buf, size_t maxbytes)
|
||||
cr16val = ret_cr16();
|
||||
return CopyLowBits(buf, maxbytes, &cr16val, sizeof(cr16val));
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
GiveSystemInfo(void)
|
||||
|
||||
@@ -1253,6 +1253,7 @@ NS_IMETHODIMP nsDocLoaderImpl::OnRedirect(nsIHttpChannel *aOldChannel, nsIChanne
|
||||
rv = aNewChannel->GetURI(getter_AddRefs(newURI));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
#ifdef HTTP_DOESNT_CALL_CHECKLOADURI
|
||||
// verify that this is a legal redirect
|
||||
nsCOMPtr<nsIScriptSecurityManager> securityManager =
|
||||
do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv);
|
||||
@@ -1260,6 +1261,7 @@ NS_IMETHODIMP nsDocLoaderImpl::OnRedirect(nsIHttpChannel *aOldChannel, nsIChanne
|
||||
rv = securityManager->CheckLoadURI(oldURI, newURI,
|
||||
nsIScriptSecurityManager::DISALLOW_FROM_MAIL);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
#endif
|
||||
|
||||
nsLoadFlags loadFlags = 0;
|
||||
PRInt32 stateFlags = nsIWebProgressListener::STATE_REDIRECTING |
|
||||
|
||||
@@ -279,7 +279,7 @@ nsresult nsInternetConfigService::FillMIMEInfoForICEntry(ICMapEntry& entry, nsIM
|
||||
|
||||
// convert entry.extension which is a Str255
|
||||
// don't forget to remove the '.' in front of the file extension....
|
||||
nsCAutoString temp((char *)&entry.extension[2], (int)entry.extension[0]-1);
|
||||
nsCAutoString temp((char *)&entry.extension[2], entry.extension[0] > 0 ? (int)entry.extension[0]-1 : 0);
|
||||
info->AppendExtension(temp);
|
||||
info->SetMacType(entry.fileType);
|
||||
info->SetMacCreator(entry.fileCreator);
|
||||
|
||||
@@ -918,8 +918,26 @@ NS_IMETHODIMP nsExternalAppHandler::OnStartRequest(nsIRequest *request, nsISuppo
|
||||
nsCOMPtr<nsIHttpChannel> httpChannel = do_QueryInterface( aChannel );
|
||||
if ( httpChannel )
|
||||
{
|
||||
// Turn off content encoding conversions.
|
||||
httpChannel->SetApplyConversion( PR_FALSE );
|
||||
nsXPIDLCString encoding;
|
||||
rv = httpChannel->GetResponseHeader("Content-Encoding", getter_Copies(encoding));
|
||||
if (NS_SUCCEEDED(rv) && encoding && *encoding)
|
||||
{
|
||||
nsCOMPtr<nsIURI> uri;
|
||||
if (NS_SUCCEEDED(aChannel->GetURI(getter_AddRefs(uri))) && uri)
|
||||
{
|
||||
nsCOMPtr<nsIURL> url( do_QueryInterface(uri) );
|
||||
if (url)
|
||||
{
|
||||
nsXPIDLCString ext;
|
||||
if (NS_SUCCEEDED(url->GetFileExtension(getter_Copies(ext))) &&
|
||||
// Turn off content encoding conversions if file extension indicates
|
||||
// a file that should normally be compressed.
|
||||
((!PL_strcasecmp(encoding, "deflate") && !PL_strcasecmp(ext, "zip")) ||
|
||||
(!PL_strcasecmp(encoding, "gzip") && !PL_strcasecmp(ext, "gz"))))
|
||||
httpChannel->SetApplyConversion( PR_FALSE );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// now that the temp file is set up, find out if we need to invoke a dialog asking the user what
|
||||
|
||||
@@ -1962,9 +1962,35 @@ NS_IMETHODIMP nsViewManager::DispatchEvent(nsGUIEvent *aEvent, nsEventStatus *aS
|
||||
Refresh(view, ((nsPaintEvent*)aEvent)->renderingContext, &damrect, updateFlags);
|
||||
}
|
||||
else {
|
||||
// since we got an NS_PAINT event, we need to
|
||||
// draw something so we don't get blank areas.
|
||||
DefaultRefresh(view, &damrect);
|
||||
// since we got an NS_PAINT event, we need to
|
||||
// draw something so we don't get blank areas.
|
||||
DefaultRefresh(view, &damrect);
|
||||
|
||||
// Clients like the editor can trigger multiple
|
||||
// reflows during what the user perceives as a single
|
||||
// edit operation, so it disables view manager
|
||||
// refreshing until the edit operation is complete
|
||||
// so that users don't see the intermediate steps.
|
||||
//
|
||||
// Unfortunately some of these reflows can trigger
|
||||
// nsScrollPortView and nsScrollingView Scroll() calls
|
||||
// which in most cases force an immediate BitBlt and
|
||||
// synchronous paint to happen even if the view manager's
|
||||
// refresh is disabled. (Bug 97674)
|
||||
//
|
||||
// Calling UpdateView() here, is neccessary to add
|
||||
// the exposed region specified in the synchronous paint
|
||||
// event to the view's damaged region so that it gets
|
||||
// painted properly when refresh is enabled.
|
||||
//
|
||||
// Note that calling UpdateView() here was deemed
|
||||
// to have the least impact on performance, since the
|
||||
// other alternative was to make Scroll() post an
|
||||
// async paint event for the *entire* ScrollPort or
|
||||
// ScrollingView's viewable area. (See bug 97674 for this
|
||||
// alternate patch.)
|
||||
|
||||
UpdateView(view, damrect, NS_VMREFRESH_NO_SYNC);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2262,7 +2262,14 @@ NS_IMETHODIMP nsWindow::SetTitle(const nsString& aTitle)
|
||||
}
|
||||
|
||||
// fallback to use bad conversion
|
||||
#ifndef HPUX
|
||||
gtk_window_set_title(GTK_WINDOW(mShell), nsAutoCString(aTitle));
|
||||
#else
|
||||
//nsAutoCString force conversion from unicode to platform charset might not
|
||||
//generate legal string in platform charset. Passing such illegal string will
|
||||
//hang OS. HP_UX in ja_JP.SJIS locale is one instance. (108765)
|
||||
gtk_window_set_title(GTK_WINDOW(mShell), "");
|
||||
#endif
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ static const char* GetLinebreakString(nsLinebreakConverter::ELinebreakType aBrea
|
||||
Wee inline method to append a line break. Modifies ioDest.
|
||||
----------------------------------------------------------------------------*/
|
||||
template<class T>
|
||||
static void AppendLinebreak(T*& ioDest, const char* lineBreakStr)
|
||||
void AppendLinebreak(T*& ioDest, const char* lineBreakStr)
|
||||
{
|
||||
*ioDest++ = *lineBreakStr;
|
||||
|
||||
@@ -76,7 +76,7 @@ static void AppendLinebreak(T*& ioDest, const char* lineBreakStr)
|
||||
Counts occurrences of breakStr in aSrc
|
||||
----------------------------------------------------------------------------*/
|
||||
template<class T>
|
||||
static PRInt32 CountLinebreaks(const T* aSrc, PRInt32 inLen, const char* breakStr)
|
||||
PRInt32 CountLinebreaks(const T* aSrc, PRInt32 inLen, const char* breakStr)
|
||||
{
|
||||
const T* src = aSrc;
|
||||
const T* srcEnd = aSrc + inLen;
|
||||
@@ -108,7 +108,7 @@ static PRInt32 CountLinebreaks(const T* aSrc, PRInt32 inLen, const char* breakSt
|
||||
ioLen *includes* a terminating null, if any
|
||||
----------------------------------------------------------------------------*/
|
||||
template<class T>
|
||||
static T* ConvertBreaks(const T* inSrc, PRInt32& ioLen, const char* srcBreak, const char* destBreak)
|
||||
T* ConvertBreaks(const T* inSrc, PRInt32& ioLen, const char* srcBreak, const char* destBreak)
|
||||
{
|
||||
NS_ASSERTION(inSrc && srcBreak && destBreak, "Got a null string");
|
||||
|
||||
@@ -202,7 +202,7 @@ static T* ConvertBreaks(const T* inSrc, PRInt32& ioLen, const char* srcBreak, co
|
||||
does not change.
|
||||
----------------------------------------------------------------------------*/
|
||||
template<class T>
|
||||
static void ConvertBreaksInSitu(T* inSrc, PRInt32 inLen, char srcBreak, char destBreak)
|
||||
void ConvertBreaksInSitu(T* inSrc, PRInt32 inLen, char srcBreak, char destBreak)
|
||||
{
|
||||
T* src = inSrc;
|
||||
T* srcEnd = inSrc + inLen;
|
||||
@@ -225,7 +225,7 @@ static void ConvertBreaksInSitu(T* inSrc, PRInt32 inLen, char srcBreak, char des
|
||||
This will convert CRLF pairs to one break, and single CR or LF to a break.
|
||||
----------------------------------------------------------------------------*/
|
||||
template<class T>
|
||||
static T* ConvertUnknownBreaks(const T* inSrc, PRInt32& ioLen, const char* destBreak)
|
||||
T* ConvertUnknownBreaks(const T* inSrc, PRInt32& ioLen, const char* destBreak)
|
||||
{
|
||||
const T* src = inSrc;
|
||||
const T* srcEnd = inSrc + ioLen; // includes null, if any
|
||||
|
||||
@@ -38,9 +38,17 @@ print OUTFILE "* 0 is QueryInterface\n";
|
||||
print OUTFILE "* 1 is AddRef\n";
|
||||
print OUTFILE "* 2 is Release\n";
|
||||
print OUTFILE "*/\n";
|
||||
print OUTFILE "#ifndef __ia64\n";
|
||||
for($i = 0; $i < $entry_count; $i++) {
|
||||
print OUTFILE "XPTC_EXPORT NS_IMETHOD Stub",$i+3,"();\n";
|
||||
}
|
||||
print OUTFILE "#else\n";
|
||||
for($i = 0; $i < $entry_count; $i++) {
|
||||
print OUTFILE "XPTC_EXPORT NS_IMETHOD Stub",$i+3,"(PRUint64,\n";
|
||||
print OUTFILE " PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);\n";
|
||||
|
||||
}
|
||||
print OUTFILE "#endif\n";
|
||||
|
||||
print OUTFILE "\n/* declarations of sentinel stubs */\n";
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
* 1 is AddRef
|
||||
* 2 is Release
|
||||
*/
|
||||
#ifndef __ia64
|
||||
XPTC_EXPORT NS_IMETHOD Stub3();
|
||||
XPTC_EXPORT NS_IMETHOD Stub4();
|
||||
XPTC_EXPORT NS_IMETHOD Stub5();
|
||||
@@ -255,6 +256,502 @@ XPTC_EXPORT NS_IMETHOD Stub246();
|
||||
XPTC_EXPORT NS_IMETHOD Stub247();
|
||||
XPTC_EXPORT NS_IMETHOD Stub248();
|
||||
XPTC_EXPORT NS_IMETHOD Stub249();
|
||||
#else
|
||||
XPTC_EXPORT NS_IMETHOD Stub3(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub4(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub5(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub6(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub7(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub8(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub9(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub10(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub11(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub12(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub13(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub14(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub15(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub16(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub17(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub18(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub19(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub20(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub21(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub22(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub23(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub24(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub25(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub26(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub27(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub28(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub29(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub30(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub31(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub32(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub33(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub34(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub35(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub36(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub37(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub38(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub39(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub40(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub41(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub42(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub43(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub44(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub45(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub46(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub47(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub48(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub49(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub50(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub51(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub52(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub53(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub54(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub55(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub56(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub57(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub58(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub59(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub60(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub61(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub62(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub63(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub64(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub65(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub66(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub67(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub68(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub69(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub70(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub71(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub72(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub73(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub74(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub75(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub76(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub77(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub78(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub79(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub80(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub81(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub82(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub83(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub84(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub85(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub86(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub87(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub88(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub89(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub90(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub91(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub92(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub93(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub94(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub95(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub96(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub97(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub98(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub99(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub100(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub101(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub102(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub103(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub104(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub105(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub106(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub107(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub108(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub109(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub110(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub111(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub112(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub113(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub114(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub115(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub116(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub117(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub118(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub119(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub120(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub121(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub122(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub123(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub124(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub125(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub126(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub127(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub128(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub129(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub130(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub131(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub132(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub133(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub134(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub135(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub136(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub137(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub138(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub139(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub140(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub141(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub142(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub143(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub144(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub145(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub146(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub147(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub148(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub149(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub150(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub151(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub152(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub153(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub154(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub155(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub156(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub157(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub158(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub159(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub160(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub161(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub162(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub163(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub164(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub165(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub166(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub167(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub168(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub169(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub170(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub171(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub172(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub173(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub174(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub175(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub176(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub177(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub178(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub179(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub180(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub181(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub182(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub183(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub184(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub185(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub186(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub187(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub188(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub189(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub190(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub191(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub192(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub193(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub194(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub195(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub196(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub197(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub198(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub199(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub200(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub201(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub202(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub203(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub204(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub205(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub206(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub207(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub208(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub209(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub210(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub211(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub212(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub213(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub214(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub215(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub216(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub217(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub218(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub219(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub220(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub221(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub222(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub223(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub224(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub225(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub226(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub227(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub228(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub229(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub230(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub231(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub232(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub233(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub234(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub235(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub236(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub237(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub238(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub239(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub240(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub241(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub242(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub243(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub244(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub245(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub246(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub247(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub248(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub249(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
#endif
|
||||
|
||||
/* declarations of sentinel stubs */
|
||||
XPTC_EXPORT NS_IMETHOD Sentinel0();
|
||||
|
||||
@@ -133,8 +133,13 @@ endif
|
||||
# for gas and gcc, check comment in xptcinvoke_asm_pa32.s
|
||||
ifeq ($(OS_ARCH),HP-UX)
|
||||
ifneq ($(CC),gcc)
|
||||
ifneq ($(OS_TEST),ia64)
|
||||
CPPSRCS := xptcinvoke_pa32.cpp xptcstubs_pa32.cpp
|
||||
ASFILES := xptcstubs_asm_pa32.s xptcinvoke_asm_pa32.s
|
||||
else
|
||||
CPPSRCS := xptcinvoke_ipf32.cpp xptcstubs_ipf32.cpp
|
||||
ASFILES := xptcstubs_asm_ipf32.s xptcinvoke_asm_ipf32.s
|
||||
endif
|
||||
|
||||
# #18875 Building the CPP's (CXX) optimized causes a crash
|
||||
OS_CXXFLAGS := $(filter-out -O, $(OS_CXXFLAGS))
|
||||
|
||||
145
mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ipf32.s
Normal file
145
mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ipf32.s
Normal file
@@ -0,0 +1,145 @@
|
||||
|
||||
// Select C numeric constant
|
||||
.radix C
|
||||
// for 64 bit mode, use .psr abi64
|
||||
.psr abi32
|
||||
// big endian
|
||||
.psr msb
|
||||
// Section has executable code
|
||||
.section .text, "ax","progbits"
|
||||
// procedure named 'XPTC_InvokeByIndex'
|
||||
.proc XPTC_InvokeByIndex
|
||||
// manual bundling
|
||||
.explicit
|
||||
|
||||
// extern "C" PRUint32
|
||||
// invoke_copy_to_stack(uint64_t* d,
|
||||
// const PRUint32 paramCount, nsXPTCVariant* s)
|
||||
.global invoke_copy_to_stack
|
||||
// .exclass invoke_copy_to_stack, @fullyvisible
|
||||
.type invoke_copy_to_stack,@function
|
||||
|
||||
// .exclass XPTC_InvokeByIndex, @fullyvisible
|
||||
.type XPTC_InvokeByIndex,@function
|
||||
|
||||
// XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
|
||||
// PRUint32 paramCount, nsXPTCVariant* params);
|
||||
XPTC_InvokeByIndex::
|
||||
.prologue
|
||||
.save ar.pfs, r37
|
||||
// allocate 4 input args, 6 local args, and 8 output args
|
||||
alloc r37 = ar.pfs, 4, 6, 8, 0 // M
|
||||
nop.i 0 ;; // I
|
||||
|
||||
// unwind table already knows gp, no need to specify anything
|
||||
add r39 = 0, gp // A
|
||||
.save rp, r36
|
||||
mov r36 = rp // I
|
||||
.vframe r38
|
||||
add r38 = 0, sp ;; // A
|
||||
|
||||
// We first calculate the amount of extra memory stack space required
|
||||
// for the arguments, and register storage.
|
||||
// We then call invoke_copy_to_stack() to write the argument contents
|
||||
// to the specified memory regions.
|
||||
// We then copy the integer arguments to integer registers, and floating
|
||||
// arguments to float registers.
|
||||
// Lastly we load the virtual table jump pointer, and call the target
|
||||
// subroutine.
|
||||
|
||||
// in0 : that
|
||||
// in1 : methodIndex
|
||||
// in2 : paramCount
|
||||
// in3 : params
|
||||
|
||||
// stack frame size is 16 + (8 * even(paramCount)) + 64 + 64
|
||||
// 16 byte frame header
|
||||
// 8 * even(paramCount) memory argument area
|
||||
// 64 bytes integer register area
|
||||
// 64 bytes float register area
|
||||
// This scheme makes sure stack fram size is a multiple of 16
|
||||
|
||||
.body
|
||||
add r10 = 8, r0 // A
|
||||
// r41 points to float register area
|
||||
add r41 = -64, sp // A
|
||||
// r40 points to int register area
|
||||
add r40 = -128, sp ;; // A
|
||||
|
||||
add out1 = 0, r40 // A
|
||||
add out2 = 0, r41 // A
|
||||
tbit.z p14,p15 = in2,0 ;; // I
|
||||
|
||||
// compute 8 * even(paramCount)
|
||||
(p14) shladd r11 = in2, 3, r0 ;; // A
|
||||
(p15) shladd r11 = in2, 3, r10 ;; // A
|
||||
sub out0 = r40, r11 ;; // A
|
||||
|
||||
// advance the stack frame
|
||||
add sp = -16, out0 // A
|
||||
add out3 = 0, in2 // A
|
||||
add out4 = 0, in3 // A
|
||||
|
||||
// branch to invoke_copy_to_stack
|
||||
br.call.sptk.few rp = invoke_copy_to_stack ;; // B
|
||||
|
||||
// restore gp
|
||||
add gp = 0, r39 // A
|
||||
add out0 = 0, in0 // A
|
||||
|
||||
// load the integer and float registers
|
||||
ld8 out1 = [r40], 8 // M
|
||||
ldfd f8 = [r41], 8 ;; // M
|
||||
|
||||
ld8 out2 = [r40], 8 // M
|
||||
ldfd f9 = [r41], 8 ;; // M
|
||||
|
||||
ld8 out3 = [r40], 8 // M
|
||||
ldfd f10 = [r41], 8 ;; // M
|
||||
|
||||
ld8 out4 = [r40], 8 // M
|
||||
ldfd f11 = [r41], 8 ;; // M
|
||||
|
||||
ld8 out5 = [r40], 8 // M
|
||||
ldfd f12 = [r41], 8 ;; // M
|
||||
// 16 * methodIndex
|
||||
shladd r11 = in1, 4, r0 // A
|
||||
|
||||
ld8 out6 = [r40], 8 // M
|
||||
ldfd f13 = [r41], 8 ;; // M
|
||||
|
||||
ld8 out7 = [r40], 8 // M
|
||||
ldfd f14 = [r41], 8 // M
|
||||
addp4 r8 = 0, in0 ;; // A
|
||||
|
||||
// look up virtual base table and dispatch to target subroutine
|
||||
// This section assumes 32 bit pointer mode, and virtual base table
|
||||
// layout from the ABI http://www.codesourcery.com/cxx-abi/abi.html
|
||||
|
||||
// load base table
|
||||
ld4 r8 = [r8] ;; // M
|
||||
addp4 r8 = r11, r8 ;; // A
|
||||
|
||||
// first entry is jump pointer, second entry is gp
|
||||
addp4 r9 = 8, r8 ;; // A
|
||||
// load jump pointer
|
||||
ld8 r8 = [r8]
|
||||
|
||||
// load gp
|
||||
ld8 gp = [r9] ;; // M
|
||||
mov b6 = r8 ;; // I
|
||||
|
||||
// branch to target virtual function
|
||||
br.call.sptk.few rp = b6 ;; // B
|
||||
|
||||
// epilog
|
||||
mov ar.pfs = r37 // I
|
||||
mov rp = r36 ;; // I
|
||||
|
||||
add sp = 0, r38 // A
|
||||
add gp = 0, r39 // A
|
||||
br.ret.sptk.few rp ;; // B
|
||||
|
||||
.endp
|
||||
|
||||
|
||||
148
mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ipf32.cpp
Normal file
148
mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ipf32.cpp
Normal file
@@ -0,0 +1,148 @@
|
||||
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape 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/NPL/
|
||||
*
|
||||
* 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 mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1999 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
#include <iostream.h>
|
||||
|
||||
// "This code is for IA64 only"
|
||||
|
||||
|
||||
/* invoke_copy_to_stack() will copy from variant array 's' to
|
||||
* the stack argument area 'mloc', the integer register area 'iloc', and
|
||||
* the float register area 'floc'.
|
||||
*
|
||||
*/
|
||||
extern "C" void
|
||||
invoke_copy_to_stack(uint64_t* mloc, uint64_t* iloc, uint64_t* floc,
|
||||
const PRUint32 paramCount, nsXPTCVariant* s)
|
||||
{
|
||||
uint64_t* dest = mloc;
|
||||
PRUint32 len = paramCount;
|
||||
nsXPTCVariant* source = s;
|
||||
|
||||
PRUint32 indx;
|
||||
PRUint32 endlen;
|
||||
endlen = (len > 7) ? 7 : len;
|
||||
/* handle the memory arguments */
|
||||
for (indx = 7; indx < len; ++indx)
|
||||
{
|
||||
if (source[indx].IsPtrData())
|
||||
{
|
||||
#ifdef __LP64__
|
||||
/* 64 bit pointer mode */
|
||||
*((void**) dest) = source[indx].ptr;
|
||||
#else
|
||||
/* 32 bit pointer mode */
|
||||
uint32_t* adr = (uint32_t*) dest;
|
||||
*(adr) = 0;
|
||||
*(adr+1) = (uint32_t) source[indx].ptr;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
switch (source[indx].type)
|
||||
{
|
||||
case nsXPTType::T_I8 : *(dest) = source[indx].val.i8; break;
|
||||
case nsXPTType::T_I16 : *(dest) = source[indx].val.i16; break;
|
||||
case nsXPTType::T_I32 : *(dest) = source[indx].val.i32; break;
|
||||
case nsXPTType::T_I64 : *(dest) = source[indx].val.i64; break;
|
||||
case nsXPTType::T_U8 : *(dest) = source[indx].val.u8; break;
|
||||
case nsXPTType::T_U16 : *(dest) = source[indx].val.u16; break;
|
||||
case nsXPTType::T_U32 : *(dest) = source[indx].val.u32; break;
|
||||
case nsXPTType::T_U64 : *(dest) = source[indx].val.u64; break;
|
||||
case nsXPTType::T_FLOAT : *(dest) = source[indx].val.u32; break;
|
||||
case nsXPTType::T_DOUBLE: *(dest) = source[indx].val.u64; break;
|
||||
case nsXPTType::T_BOOL : *(dest) = source[indx].val.b; break;
|
||||
case nsXPTType::T_CHAR : *(dest) = source[indx].val.c; break;
|
||||
case nsXPTType::T_WCHAR : *(dest) = source[indx].val.wc; break;
|
||||
default:
|
||||
// all the others are plain pointer types
|
||||
#ifdef __LP64__
|
||||
/* 64 bit pointer mode */
|
||||
*((void**) dest) = source[indx].val.p;
|
||||
#else
|
||||
{
|
||||
/* 32 bit pointer mode */
|
||||
uint32_t* adr = (uint32_t*) dest;
|
||||
*(adr) = 0;
|
||||
*(adr+1) = (uint32_t) source[indx].val.p;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
++dest;
|
||||
}
|
||||
/* process register arguments */
|
||||
dest = iloc;
|
||||
for (indx = 0; indx < endlen; ++indx)
|
||||
{
|
||||
if (source[indx].IsPtrData())
|
||||
{
|
||||
#ifdef __LP64__
|
||||
/* 64 bit pointer mode */
|
||||
*((void**) dest) = source[indx].ptr;
|
||||
#else
|
||||
/* 32 bit pointer mode */
|
||||
uint32_t* adr = (uint32_t*) dest;
|
||||
*(adr) = 0;
|
||||
*(adr+1) = (uint32_t) source[indx].ptr;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
switch (source[indx].type)
|
||||
{
|
||||
case nsXPTType::T_I8 : *(dest) = source[indx].val.i8; break;
|
||||
case nsXPTType::T_I16 : *(dest) = source[indx].val.i16; break;
|
||||
case nsXPTType::T_I32 : *(dest) = source[indx].val.i32; break;
|
||||
case nsXPTType::T_I64 : *(dest) = source[indx].val.i64; break;
|
||||
case nsXPTType::T_U8 : *(dest) = source[indx].val.u8; break;
|
||||
case nsXPTType::T_U16 : *(dest) = source[indx].val.u16; break;
|
||||
case nsXPTType::T_U32 : *(dest) = source[indx].val.u32; break;
|
||||
case nsXPTType::T_U64 : *(dest) = source[indx].val.u64; break;
|
||||
case nsXPTType::T_FLOAT :
|
||||
*((double*) (floc++)) = (double) source[indx].val.f;
|
||||
break;
|
||||
case nsXPTType::T_DOUBLE:
|
||||
*((double*) (floc++)) = source[indx].val.d;
|
||||
break;
|
||||
case nsXPTType::T_BOOL : *(dest) = source[indx].val.b; break;
|
||||
case nsXPTType::T_CHAR : *(dest) = source[indx].val.c; break;
|
||||
case nsXPTType::T_WCHAR : *(dest) = source[indx].val.wc; break;
|
||||
default:
|
||||
// all the others are plain pointer types
|
||||
#ifdef __LP64__
|
||||
/* 64 bit pointer mode */
|
||||
*((void**) dest) = source[indx].val.p;
|
||||
#else
|
||||
{
|
||||
/* 32 bit pointer mode */
|
||||
uint32_t* adr = (uint32_t*) dest;
|
||||
*(adr) = 0;
|
||||
*(adr+1) = (uint32_t) source[indx].val.p;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
++dest;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
124
mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ipf32.s
Normal file
124
mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ipf32.s
Normal file
@@ -0,0 +1,124 @@
|
||||
|
||||
// Select C numeric constant
|
||||
.radix C
|
||||
.psr abi32
|
||||
.psr msb
|
||||
// Section has executable code
|
||||
.section .text, "ax","progbits"
|
||||
// procedure named 'SharedStub'
|
||||
.proc SharedStub
|
||||
// manual bundling
|
||||
.explicit
|
||||
|
||||
.global PrepareAndDispatch
|
||||
// .exclass PrepareAndDispatch, @fullyvisible
|
||||
.type PrepareAndDispatch,@function
|
||||
|
||||
SharedStub::
|
||||
// 9 arguments, first 8 are the input arguments of previous
|
||||
// function call. The last one is methodIndex, and is passed in memory
|
||||
.prologue
|
||||
.save ar.pfs , r41
|
||||
// allocate 8 input args, 4 local args, and 5 output args
|
||||
alloc r41 = ar.pfs, 8, 4, 5, 0 // M
|
||||
.save rp, r40
|
||||
mov r40 = rp // I
|
||||
nop.i 0 ;; // I
|
||||
|
||||
.save ar.unat, r42
|
||||
mov r42 = ar.unat // M
|
||||
.fframe 144
|
||||
add sp = -144, sp // A
|
||||
// unwind table already knows gp, don't need to specify anything
|
||||
add r43 = 0, gp ;; // A
|
||||
|
||||
// We have possible 8 integer registers and 8 float registers that could
|
||||
// be arguments. We also have a stack region from the previous
|
||||
// stack frame that may hold some stack arguments.
|
||||
// We need to write the integer registers to a memory region, write
|
||||
// the float registers to a memory region (making sure we don't step
|
||||
// on NAT while touching the registers). We also mark the memory
|
||||
// address of the stack arguments.
|
||||
// We then call PrepareAndDispatch() specifying the three memory
|
||||
// region pointers.
|
||||
|
||||
|
||||
.body
|
||||
add out0 = 0, in0 // A move self ptr
|
||||
// 144 bytes = 16 byte stack header + 64 byte int space + 64 byte float space
|
||||
// current frame is 144 bytes, previous frame is 112 bytes
|
||||
// restarg is at 144 + 112 + 16 bytes away from current sp
|
||||
// (current frame + previous frame + previous previous frame header)
|
||||
// methodIndex is at 144 + 16 bytes away from current sp
|
||||
// (current frame + previous frame header)
|
||||
add out4 = 192, sp // A restarg address
|
||||
add r11 = 160, sp ;; // A address of methodIndex
|
||||
|
||||
ld8 out1 = [r11] // M load methodIndex
|
||||
// sp + 16 is the start of intargs
|
||||
add out2 = 16, sp // A address of intargs
|
||||
// the intargs take up 64 bytes, so sp + 16 + 64 is the start of floatargs
|
||||
add out3 = 80, sp ;; // A address of floatargs
|
||||
|
||||
add r11 = 0, out2 ;; // A
|
||||
st8.spill [r11] = in1, 8 // M
|
||||
add r10 = 0, out3 ;; // A
|
||||
|
||||
st8.spill [r11] = in2, 8 ;; // M
|
||||
st8.spill [r11] = in3, 8 // M
|
||||
nop.i 0 ;; // I
|
||||
|
||||
st8.spill [r11] = in4, 8 ;; // M
|
||||
st8.spill [r11] = in5, 8 // M
|
||||
nop.i 0 ;; // I
|
||||
|
||||
st8.spill [r11] = in6, 8 ;; // M
|
||||
st8.spill [r11] = in7 // M
|
||||
fclass.nm p14,p15 = f8,@nat ;; // F
|
||||
|
||||
(p14) stfd [r10] = f8, 8 // M
|
||||
(p15) add r10 = 8, r10 // A
|
||||
fclass.nm p12,p13 = f9,@nat ;; // F
|
||||
|
||||
(p12) stfd [r10] = f9, 8 // M
|
||||
(p13) add r10 = 8, r10 // A
|
||||
fclass.nm p14,p15 =f10,@nat ;; // F
|
||||
|
||||
(p14) stfd [r10] = f10, 8 // M
|
||||
(p15) add r10 = 8, r10 // A
|
||||
fclass.nm p12,p13 =f11,@nat ;; // F
|
||||
|
||||
(p12) stfd [r10] = f11, 8 // M
|
||||
(p13) add r10 = 8, r10 // A
|
||||
fclass.nm p14,p15 =f12,@nat ;; // F
|
||||
|
||||
(p14) stfd [r10] = f12, 8 // M
|
||||
(p15) add r10 = 8, r10 // A
|
||||
fclass.nm p12,p13 =f13,@nat ;; // F
|
||||
|
||||
(p12) stfd [r10] = f13, 8 // M
|
||||
(p13) add r10 = 8, r10 // A
|
||||
fclass.nm p14,p15 =f14,@nat ;; // F
|
||||
|
||||
(p14) stfd [r10] = f14, 8 // M
|
||||
(p15) add r10 = 8, r10 // A
|
||||
fclass.nm p12,p13 =f15,@nat ;; // F
|
||||
|
||||
(p12) stfd [r10] = f15, 8 // M
|
||||
(p13) add r10 = 8, r10 // A
|
||||
|
||||
// branch to PrepareAndDispatch
|
||||
br.call.dptk.few rp = PrepareAndDispatch ;; // B
|
||||
|
||||
// epilog
|
||||
mov ar.unat = r42 // M
|
||||
mov ar.pfs = r41 // I
|
||||
mov rp = r40 ;; // I
|
||||
|
||||
add gp = 0, r43 // A
|
||||
add sp = 144, sp // A
|
||||
br.ret.dptk.few rp ;; // B
|
||||
|
||||
.endp
|
||||
|
||||
|
||||
169
mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ipf32.cpp
Normal file
169
mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ipf32.cpp
Normal file
@@ -0,0 +1,169 @@
|
||||
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape 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/NPL/
|
||||
*
|
||||
* 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 mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1999 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
// "This code is for IA64 only"
|
||||
|
||||
/* Implement shared vtbl methods. */
|
||||
|
||||
extern "C" nsresult
|
||||
PrepareAndDispatch(nsXPTCStubBase* self, PRUint32 methodIndex,
|
||||
uint64_t* intargs, uint64_t* floatargs, uint64_t* restargs)
|
||||
{
|
||||
|
||||
#define PARAM_BUFFER_COUNT 16
|
||||
|
||||
nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
|
||||
nsXPTCMiniVariant* dispatchParams = NULL;
|
||||
nsIInterfaceInfo* iface_info = NULL;
|
||||
const nsXPTMethodInfo* info;
|
||||
nsresult result = NS_ERROR_FAILURE;
|
||||
uint64_t* iargs = intargs;
|
||||
uint64_t* fargs = floatargs;
|
||||
PRUint8 paramCount;
|
||||
PRUint8 i;
|
||||
|
||||
NS_ASSERTION(self,"no self");
|
||||
|
||||
self->GetInterfaceInfo(&iface_info);
|
||||
NS_ASSERTION(iface_info,"no interface info");
|
||||
|
||||
iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
|
||||
NS_ASSERTION(info,"no interface info");
|
||||
|
||||
paramCount = info->GetParamCount();
|
||||
|
||||
// setup variant array pointer
|
||||
if(paramCount > PARAM_BUFFER_COUNT)
|
||||
dispatchParams = new nsXPTCMiniVariant[paramCount];
|
||||
else
|
||||
dispatchParams = paramBuffer;
|
||||
NS_ASSERTION(dispatchParams,"no place for params");
|
||||
|
||||
for(i = 0; i < paramCount; ++i)
|
||||
{
|
||||
int isfloat = 0;
|
||||
const nsXPTParamInfo& param = info->GetParam(i);
|
||||
const nsXPTType& type = param.GetType();
|
||||
nsXPTCMiniVariant* dp = &dispatchParams[i];
|
||||
|
||||
if(param.IsOut() || !type.IsArithmetic())
|
||||
{
|
||||
#ifdef __LP64__
|
||||
/* 64 bit pointer mode */
|
||||
dp->val.p = (void*) *iargs;
|
||||
#else
|
||||
/* 32 bit pointer mode */
|
||||
uint32_t* adr = (uint32_t*) iargs;
|
||||
dp->val.p = (void*) (*(adr+1));
|
||||
#endif
|
||||
}
|
||||
else
|
||||
switch(type)
|
||||
{
|
||||
case nsXPTType::T_I8 : dp->val.i8 = *(iargs); break;
|
||||
case nsXPTType::T_I16 : dp->val.i16 = *(iargs); break;
|
||||
case nsXPTType::T_I32 : dp->val.i32 = *(iargs); break;
|
||||
case nsXPTType::T_I64 : dp->val.i64 = *(iargs); break;
|
||||
case nsXPTType::T_U8 : dp->val.u8 = *(iargs); break;
|
||||
case nsXPTType::T_U16 : dp->val.u16 = *(iargs); break;
|
||||
case nsXPTType::T_U32 : dp->val.u32 = *(iargs); break;
|
||||
case nsXPTType::T_U64 : dp->val.u64 = *(iargs); break;
|
||||
case nsXPTType::T_FLOAT :
|
||||
isfloat = 1;
|
||||
if (i < 7)
|
||||
dp->val.f = (float) *((double*) fargs); /* register */
|
||||
else
|
||||
dp->val.u32 = *(fargs); /* memory */
|
||||
break;
|
||||
case nsXPTType::T_DOUBLE :
|
||||
isfloat = 1;
|
||||
dp->val.u64 = *(fargs);
|
||||
break;
|
||||
case nsXPTType::T_BOOL : dp->val.b = *(iargs); break;
|
||||
case nsXPTType::T_CHAR : dp->val.c = *(iargs); break;
|
||||
case nsXPTType::T_WCHAR : dp->val.wc = *(iargs); break;
|
||||
default:
|
||||
NS_ASSERTION(0, "bad type");
|
||||
break;
|
||||
}
|
||||
if (i < 7)
|
||||
{
|
||||
/* we are parsing register arguments */
|
||||
if (i == 6)
|
||||
{
|
||||
// run out of register arguments, move on to memory arguments
|
||||
iargs = restargs;
|
||||
fargs = restargs;
|
||||
}
|
||||
else
|
||||
{
|
||||
++iargs; // advance one integer register slot
|
||||
if (isfloat) ++fargs; // advance float register slot if isfloat
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* we are parsing memory arguments */
|
||||
++iargs;
|
||||
++fargs;
|
||||
}
|
||||
}
|
||||
|
||||
result = self->CallMethod((PRUint16) methodIndex, info, dispatchParams);
|
||||
|
||||
NS_RELEASE(iface_info);
|
||||
|
||||
if(dispatchParams != paramBuffer)
|
||||
delete [] dispatchParams;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
extern "C" int SharedStub(PRUint64,PRUint64,PRUint64,PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
|
||||
/* Variable a0-a7 were put there so we can have access to the 8 input
|
||||
registers on Stubxyz entry */
|
||||
|
||||
#define STUB_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Stub##n(PRUint64 a1, \
|
||||
PRUint64 a2,PRUint64 a3,PRUint64 a4,PRUint64 a5,PRUint64 a6,PRUint64 a7) \
|
||||
{ uint64_t a0 = (uint64_t) this; \
|
||||
return SharedStub(a0,a1,a2,a3,a4,a5,a6,a7,(PRUint64) n); \
|
||||
}
|
||||
|
||||
#define SENTINEL_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Sentinel##n() \
|
||||
{ \
|
||||
NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
|
||||
return NS_ERROR_NOT_IMPLEMENTED; \
|
||||
}
|
||||
|
||||
#include "xptcstubsdef.inc"
|
||||
|
||||
@@ -279,7 +279,7 @@ nsresult nsInternetConfigService::FillMIMEInfoForICEntry(ICMapEntry& entry, nsIM
|
||||
|
||||
// convert entry.extension which is a Str255
|
||||
// don't forget to remove the '.' in front of the file extension....
|
||||
nsCAutoString temp((char *)&entry.extension[2], (int)entry.extension[0]-1);
|
||||
nsCAutoString temp((char *)&entry.extension[2], entry.extension[0] > 0 ? (int)entry.extension[0]-1 : 0);
|
||||
info->AppendExtension(temp);
|
||||
info->SetMacType(entry.fileType);
|
||||
info->SetMacCreator(entry.fileCreator);
|
||||
|
||||
@@ -56,4 +56,11 @@ interface nsISHistoryInternal: nsISupports
|
||||
*/
|
||||
attribute nsIDocShell rootDocShell;
|
||||
|
||||
/**
|
||||
* Replace the nsISHEntry at a particular index
|
||||
* @param aIndex - The index at which the entry shoud be replaced
|
||||
* @param aReplaceEntry - The replacement entry for the index.
|
||||
*/
|
||||
void replaceEntry(in long aIndex, in nsISHEntry aReplaceEntry);
|
||||
|
||||
};
|
||||
|
||||
@@ -405,6 +405,31 @@ nsSHistory::RemoveSHistoryListener(nsISHistoryListener * aListener)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
/* Replace an entry in the History list at a particular index.
|
||||
* Do not update index or count.
|
||||
*/
|
||||
NS_IMETHODIMP
|
||||
nsSHistory::ReplaceEntry(PRInt32 aIndex, nsISHEntry * aReplaceEntry)
|
||||
{
|
||||
NS_ENSURE_ARG(aReplaceEntry);
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsISHTransaction> currentTxn;
|
||||
|
||||
if (!mListRoot) // Session History is not initialised.
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
rv = GetTransactionAtIndex(aIndex, getter_AddRefs(currentTxn));
|
||||
|
||||
if(currentTxn)
|
||||
{
|
||||
// Set the replacement entry in the transaction
|
||||
rv = currentTxn->SetSHEntry(aReplaceEntry);
|
||||
rv = currentTxn->SetPersist(PR_TRUE);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
// nsSHistory: nsIWebNavigation
|
||||
//*****************************************************************************
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user