Merge trunk changes.

git-svn-id: svn://10.0.0.236/branches/ZAP_20050610_BRANCH@242253 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
alex%croczilla.com
2008-01-02 16:38:12 +00:00
parent 42a3176bbd
commit 894e5f021c
7 changed files with 612 additions and 524 deletions

View File

@@ -199,6 +199,7 @@ MODULES_core := \
mozilla/storage \
mozilla/db/sqlite3 \
mozilla/db/morkreader \
mozilla/testing/crashtest \
mozilla/testing/mochitest \
$(NULL)
@@ -258,6 +259,7 @@ LOCALES_suite := \
suite \
editor/ui \
extensions/reporter \
extensions/spellcheck \
$(NULL)
BOOTSTRAP_suite := \
@@ -432,7 +434,7 @@ MODULES_all := \
# adding '-f' everywhere that we pull with the checkout tag, we force
# the head revision if a file is not tagged
MOZ_CO_TAG = ZAP_20050610_BRANCH
NSPR_CO_TAG = NSPR_HEAD_20071016
NSPR_CO_TAG = NSPR_HEAD_20071218
NSS_CO_TAG = NSS_3_12_ALPHA_2B
LDAPCSDK_CO_TAG = LDAPCSDK_6_0_3_CLIENT_BRANCH
LOCALES_CO_TAG =
@@ -757,9 +759,9 @@ override MOZ_CO_LOCALES := $(subst $(comma), ,$(MOZ_CO_LOCALES))
ifeq (all,$(MOZ_CO_LOCALES))
MOZCONFIG_MODULES += $(foreach project,$(MOZ_PROJECT_LIST),mozilla/$(project)/locales/all-locales)
LOCALE_CO_DIRS := $(sort $(foreach project,$(MOZ_PROJECT_LIST),$(foreach locale,$(shell cat mozilla/$(project)/locales/all-locales),$(foreach dir,$(LOCALES_$(project)),l10n/$(locale)/$(dir)))))
LOCALE_CO_DIRS := $(sort $(foreach project,$(MOZ_PROJECT_LIST),$(foreach locale,$(shell cat mozilla/$(project)/locales/all-locales),l10n/$(locale)/)))
else # MOZ_CO_LOCALES != all
LOCALE_CO_DIRS = $(sort $(foreach locale,$(MOZ_CO_LOCALES),$(foreach dir,$(LOCALE_DIRS),l10n/$(locale)/$(dir))))
LOCALE_CO_DIRS = $(sort $(foreach locale,$(MOZ_CO_LOCALES),l10n/$(locale)/))
endif
CVSCO_LOCALES := $(CVS) $(CVS_FLAGS) -d $(LOCALES_CVSROOT) co $(LOCALES_CO_FLAGS) $(CVS_CO_LOCALES_DATE_FLAGS) $(LOCALE_CO_DIRS)

1008
mozilla/configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1592,10 +1592,10 @@ case "$target" in
*-darwin*)
MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
MOZ_OPTIMIZE_FLAGS="-O2"
_PEDANTIC=
CFLAGS="$CFLAGS -fpascal-strings -no-cpp-precomp -fno-common"
CXXFLAGS="$CXXFLAGS -fpascal-strings -no-cpp-precomp -fno-common"
CFLAGS="$CFLAGS -fpascal-strings -fno-common"
CXXFLAGS="$CXXFLAGS -fpascal-strings -fno-common"
DLL_SUFFIX=".dylib"
DSO_LDOPTS=''
STRIP="$STRIP -x -S"
@@ -1715,6 +1715,7 @@ case "$target" in
*-*linux*)
TARGET_NSPR_MDCPUCFG='\"md/_linux.cfg\"'
MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fno-reorder-functions"
MOZ_DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb,
# and that combo is not yet good at
# debugging inlined functions (even
@@ -2825,7 +2826,7 @@ if test "x$enable_dtrace" = "xyes"; then
if test -n "$HAVE_DTRACE"; then
AC_DEFINE(INCLUDE_MOZILLA_DTRACE)
else
AC_MSG_ERROR([dtrace enabled but sys/std.h not found]);
AC_MSG_ERROR([dtrace enabled but sys/sdt.h not found]);
fi
fi
AC_SUBST(HAVE_DTRACE)
@@ -5515,7 +5516,7 @@ case "$MOZ_WIDGET_TOOLKIT" in
beos|windows|os2|mac|cocoa)
;;
*)
if test -z "$MOZ_ENABLE_GNOMEUI"; then
if test -z "$MOZ_ENABLE_GTK2"; then
MOZ_IMG_DECODERS_DEFAULT=`echo $MOZ_IMG_DECODERS_DEFAULT | sed -e 's|icon||'`
fi
;;
@@ -7014,6 +7015,7 @@ if test "$MOZ_SVG" -o "$MOZ_ENABLE_CANVAS" -o "$MOZ_ENABLE_CAIRO_GFX" ; then
if test "$MOZ_WIDGET_TOOLKIT" = "os2"; then
OS2_SURFACE_FEATURE="#define CAIRO_HAS_OS2_SURFACE 1"
FT_FONT_FEATURE="#define CAIRO_HAS_FT_FONT 1"
PDF_SURFACE_FEATURE="#define CAIRO_HAS_PDF_SURFACE 1"
MOZ_ENABLE_CAIRO_FT=1
CAIRO_FT_CFLAGS="-I${MZFTCFGFT2}/include"
CAIRO_FT_LIBS="-L${MZFTCFGFT2}/lib -lmozft -lmzfntcfg"

View File

@@ -1230,7 +1230,7 @@ mozJSComponentLoader::GlobalForLocation(nsILocalFile *aComponent,
// that? On the other hand, the fact that this is in our components dir
// means that if someone snuck a malicious file into this dir we're screwed
// anyway... So maybe flagging as a prefix is fine.
xpc->FlagSystemFilenamePrefix(nativePath.get());
xpc->FlagSystemFilenamePrefix(nativePath.get(), PR_TRUE);
#ifdef DEBUG_shaver_off
fprintf(stderr, "mJCL: compiled JS component %s\n",

View File

@@ -91,6 +91,7 @@
#include "prlong.h"
#include "prmem.h"
#include "prenv.h"
#include "prclist.h"
#include "nsString.h"
#include "nsReadableUtils.h"
#include "nsXPIDLString.h"
@@ -251,6 +252,19 @@ extern const char XPC_XPCONNECT_CONTRACTID[];
*dest = result; \
return (result || !src) ? NS_OK : NS_ERROR_OUT_OF_MEMORY
// NOTE!!!
//
// If this ever changes,
// nsScriptSecurityManager::doGetObjectPrincipal() *must* be updated
// also!
//
// NOTE!!!
#define IS_WRAPPER_CLASS(clazz) \
((clazz) == &XPC_WN_NoHelper_JSClass.base || \
(clazz)->getObjectOps == XPC_WN_GetObjectOpsNoCall || \
(clazz)->getObjectOps == XPC_WN_GetObjectOpsWithCall)
/***************************************************************************/
// Auto locking support class...
@@ -642,9 +656,6 @@ public:
XPCContext* GetXPCContext(JSContext* cx);
XPCContext* SyncXPCContextList(JSContext* cx = nsnull);
JSBool GetMainThreadOnlyGC() const {return mMainThreadOnlyGC;}
void SetMainThreadOnlyGC(JSBool b) {mMainThreadOnlyGC = b;}
JSBool GetDeferReleases() const {return mDeferReleases;}
void SetDeferReleases(JSBool b)
{/* If deferring is turned off while any are pending they'll leak! */
@@ -776,7 +787,6 @@ private:
PRThread* mThreadRunningGC;
nsVoidArray mWrappedJSToReleaseArray;
nsVoidArray mNativesToReleaseArray;
JSBool mMainThreadOnlyGC;
JSBool mDeferReleases;
JSBool mDoingFinalization;
XPCRootSetElem *mVariantRoots;
@@ -906,6 +916,21 @@ private:
#define NATIVE_CALLER XPCContext::LANG_NATIVE
#define JS_CALLER XPCContext::LANG_JS
// class to export a JSString as an const nsAString, no refcounting :(
class XPCReadableJSStringWrapper : public nsDependentString
{
public:
typedef nsDependentString::char_traits char_traits;
XPCReadableJSStringWrapper(PRUnichar *chars, size_t length) :
nsDependentString(chars, length)
{ }
XPCReadableJSStringWrapper() :
nsDependentString(char_traits::sEmptyBuffer, char_traits::sEmptyBuffer)
{ SetIsVoid(PR_TRUE); }
};
// No virtuals
// XPCCallContext is ALWAYS declared as a local variable in some function;
// i.e. instance lifetime is always controled by some C++ function returning.
@@ -1006,6 +1031,9 @@ public:
operator JSContext*() const {return GetJSContext();}
XPCReadableJSStringWrapper *NewStringWrapper(PRUnichar *str, PRUint32 len);
void DeleteString(nsAString *string);
#ifdef XPC_IDISPATCH_SUPPORT
/**
* Sets the IDispatch information for the context
@@ -1090,8 +1118,29 @@ private:
// XPCContext returns true. We're not responsible for rooting this object;
// whoever sets it on us needs to deal with that.
JSObject* mCallee;
};
#define XPCCCX_STRING_CACHE_SIZE 2
// String wrapper entry, holds a string, and a boolean that tells
// whether the string is in use or not.
struct StringWrapperEntry
{
StringWrapperEntry()
: mInUse(PR_FALSE)
{
}
XPCReadableJSStringWrapper mString;
PRBool mInUse;
};
// Reserve space for XPCCCX_STRING_CACHE_SIZE string wrapper
// entries for use on demand. It's important to not make this be
// string class members since we don't want to pay the cost of
// calling the constructors and destructors when the strings
// aren't being used.
char mStringWrapperData[sizeof(StringWrapperEntry) * XPCCCX_STRING_CACHE_SIZE];
};
/***************************************************************************
****************************************************************************
@@ -1105,8 +1154,10 @@ private:
// visibility from more than one .cpp file.
extern JSExtendedClass XPC_WN_NoHelper_JSClass;
extern JSClass XPC_WN_NoMods_Proto_JSClass;
extern JSClass XPC_WN_ModsAllowed_Proto_JSClass;
extern JSClass XPC_WN_NoMods_WithCall_Proto_JSClass;
extern JSClass XPC_WN_NoMods_NoCall_Proto_JSClass;
extern JSClass XPC_WN_ModsAllowed_WithCall_Proto_JSClass;
extern JSClass XPC_WN_ModsAllowed_NoCall_Proto_JSClass;
extern JSClass XPC_WN_Tearoff_JSClass;
extern JSObjectOps * JS_DLL_CALLBACK
@@ -1126,9 +1177,14 @@ XPC_WN_GetterSetter(JSContext *cx, JSObject *obj,
extern JSBool
xpc_InitWrappedNativeJSOps();
// Maybe this macro should check for class->enumerate ==
// XPC_WN_Shared_Proto_Enumerate or something rather than checking for
// 4 classes?
#define IS_PROTO_CLASS(clazz) \
((clazz) == &XPC_WN_NoMods_Proto_JSClass || \
(clazz) == &XPC_WN_ModsAllowed_Proto_JSClass)
((clazz) == &XPC_WN_NoMods_WithCall_Proto_JSClass || \
(clazz) == &XPC_WN_NoMods_NoCall_Proto_JSClass || \
(clazz) == &XPC_WN_ModsAllowed_WithCall_Proto_JSClass || \
(clazz) == &XPC_WN_ModsAllowed_NoCall_Proto_JSClass)
// Comes from xpcwrappednativeops.cpp
extern void
@@ -2643,21 +2699,6 @@ private:
/***************************************************************************/
// class to export a JSString as an const nsAString, no refcounting :(
class XPCReadableJSStringWrapper : public nsDependentString
{
public:
typedef nsDependentString::char_traits char_traits;
XPCReadableJSStringWrapper(PRUnichar *chars, size_t length) :
nsDependentString(chars, length)
{ }
XPCReadableJSStringWrapper() :
nsDependentString(char_traits::sEmptyBuffer, char_traits::sEmptyBuffer)
{ SetIsVoid(PR_TRUE); }
};
// readable string conversions, static methods only
class XPCStringConvert
{
@@ -2666,7 +2707,8 @@ public:
static JSString *ReadableToJSString(JSContext *cx,
const nsAString &readable);
static XPCReadableJSStringWrapper *JSStringToReadable(JSString *str);
static XPCReadableJSStringWrapper *JSStringToReadable(XPCCallContext& ccx,
JSString *str);
static void ShutdownDOMStringFinalizer();
@@ -2912,7 +2954,7 @@ private:
void SyncJSContexts();
private:
nsTArray<JSContextAndFrame> mStack;
nsAutoTArray<JSContextAndFrame, 16> mStack;
JSContext* mSafeJSContext;
// If non-null, we own it; same as mSafeJSContext if SetSafeJSContext

View File

@@ -262,7 +262,7 @@ COMPONENT_LIBS += system-pref
endif
endif
ifneq (,$(MOZ_ENABLE_GTK2))
ifdef MOZ_ENABLE_GTK2
STATIC_LIBS += gtkxtbin
endif
@@ -275,8 +275,9 @@ ifdef MOZ_ENABLE_POSTSCRIPT
DEFINES += -DMOZ_ENABLE_POSTSCRIPT
STATIC_LIBS += gfxpsshar
endif
ifneq (,$(filter icon,$(MOZ_IMG_DECODERS)))
ifndef MOZ_ENABLE_GNOMEUI
ifndef MOZ_ENABLE_GTK2
DEFINES += -DICON_DECODER
COMPONENT_LIBS += imgicon
endif

View File

@@ -50,6 +50,13 @@ MOZILLA_INTERNAL_API = 1
REQUIRES = string \
$(NULL)
# work around bug 408258
ifdef GNU_CC
ifneq ($(OS_ARCH), Darwin)
MODULE_OPTIMIZE_FLAGS = -Os -fno-strict-aliasing
endif
endif
ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
REQUIRES += macmorefiles
endif