Merge remote-tracking branch 'origin/tracking' into custom

This commit is contained in:
roytam1 2022-04-25 20:53:39 +08:00
commit 304125d9e5
4 changed files with 68 additions and 5 deletions

View file

@ -165,7 +165,7 @@ ifeq ($(MOZ_WIDGET_TOOLKIT),gtk3)
toolkit/library/target: widget/gtk/mozgtk/gtk3/target toolkit/library/target: widget/gtk/mozgtk/gtk3/target
endif endif
ifdef MOZ_LDAP_XPCOM ifdef MOZ_LDAP_XPCOM
ldap/target: config/external/nss/target mozglue/build/target ldap/target: security/target mozglue/build/target
toolkit/library/target: ldap/target toolkit/library/target: ldap/target
endif endif
ifeq ($(MOZ_REPLACE_MALLOC_LINKAGE),dummy library) ifeq ($(MOZ_REPLACE_MALLOC_LINKAGE),dummy library)

View file

@ -126,7 +126,9 @@ DOMIntersectionObserver::SetRootMargin(const nsAString& aString)
for (uint32_t i = 0; i < ArrayLength(nsCSSRect::sides); ++i) { for (uint32_t i = 0; i < ArrayLength(nsCSSRect::sides); ++i) {
nsCSSValue value = mRootMargin.*nsCSSRect::sides[i]; nsCSSValue value = mRootMargin.*nsCSSRect::sides[i];
if (!(value.IsPixelLengthUnit() || value.IsPercentLengthUnit())) { if (!(value.IsPixelLengthUnit() ||
value.IsPercentLengthUnit() ||
value.IsFloatUnit(value.GetUnit()))) {
return false; return false;
} }
} }
@ -327,6 +329,8 @@ DOMIntersectionObserver::Update(nsIDocument* aDocument, DOMHighResTimeStamp time
nsStyleCoord coord; nsStyleCoord coord;
if (value.IsPixelLengthUnit()) { if (value.IsPixelLengthUnit()) {
coord.SetCoordValue(value.GetPixelLength()); coord.SetCoordValue(value.GetPixelLength());
} else if (value.IsFloatUnit(value.GetUnit())) {
coord.SetCoordValue(value.GetFloatValue());
} else if (value.IsPercentLengthUnit()) { } else if (value.IsPercentLengthUnit()) {
coord.SetPercentValue(value.GetPercentValue()); coord.SetPercentValue(value.GetPercentValue());
} else { } else {

View file

@ -2312,8 +2312,20 @@ CSSParserImpl::ParseMarginString(const nsSubstring& aBuffer,
nsAutoSuppressErrors suppressErrors(this, aSuppressErrors); nsAutoSuppressErrors suppressErrors(this, aSuppressErrors);
// Parse a margin, and check that there's nothing else after it. bool marginParsed = false;
bool marginParsed = ParseGroupedBoxProperty(VARIANT_LP, aValue, 0) && !GetToken(true);
// Treat margin as zero length if there are no tokens, i.e., the specified
// margin string is empty or consists only of whitespace characters.
if (!GetToken(true)) {
nsCSSRect& zeroRootMargin = aValue.SetRectValue();
zeroRootMargin.SetAllSidesTo(nsCSSValue(0.0f, eCSSUnit_Pixel));
marginParsed = true;
} else {
UngetToken();
// Parse a margin, and check that there's nothing else after it.
marginParsed = ParseGroupedBoxProperty(VARIANT_LPN, aValue, 0) &&
!GetToken(true);
}
if (aSuppressErrors) { if (aSuppressErrors) {
CLEAR_ERROR(); CLEAR_ERROR();

View file

@ -57,7 +57,54 @@ CryptoX_Result NSS_VerifySignature(VFYContext * const *ctx ,
#define CryptoX_FreeCertificate(cert) \ #define CryptoX_FreeCertificate(cert) \
CERT_DestroyCertificate(*cert) CERT_DestroyCertificate(*cert)
#if defined(XP_WIN) #elif XP_MACOSX
#define CryptoX_InvalidHandleValue NULL
#define CryptoX_ProviderHandle void*
#define CryptoX_SignatureHandle void*
#define CryptoX_PublicKey void*
#define CryptoX_Certificate void*
// Forward-declare Objective-C functions implemented in MacVerifyCrypto.mm.
#ifdef __cplusplus
extern "C" {
#endif
CryptoX_Result CryptoMac_InitCryptoProvider();
CryptoX_Result CryptoMac_VerifyBegin(CryptoX_SignatureHandle* aInputData);
CryptoX_Result CryptoMac_VerifyUpdate(CryptoX_SignatureHandle* aInputData,
void* aBuf, unsigned int aLen);
CryptoX_Result CryptoMac_LoadPublicKey(const unsigned char* aCertData,
unsigned int aDataSize,
CryptoX_PublicKey* aPublicKey);
CryptoX_Result CryptoMac_VerifySignature(CryptoX_SignatureHandle* aInputData,
CryptoX_PublicKey* aPublicKey,
const unsigned char* aSignature,
unsigned int aSignatureLen);
void CryptoMac_FreeSignatureHandle(CryptoX_SignatureHandle* aInputData);
void CryptoMac_FreePublicKey(CryptoX_PublicKey* aPublicKey);
#ifdef __cplusplus
} // extern "C"
#endif
#define CryptoX_InitCryptoProvider(aProviderHandle) \
CryptoMac_InitCryptoProvider()
#define CryptoX_VerifyBegin(aCryptoHandle, aInputData, aPublicKey) \
CryptoMac_VerifyBegin(aInputData)
#define CryptoX_VerifyUpdate(aInputData, aBuf, aLen) \
CryptoMac_VerifyUpdate(aInputData, aBuf, aLen)
#define CryptoX_LoadPublicKey(aProviderHandle, aCertData, aDataSize, \
aPublicKey) \
CryptoMac_LoadPublicKey(aCertData, aDataSize, aPublicKey)
#define CryptoX_VerifySignature(aInputData, aPublicKey, aSignature, \
aSignatureLen) \
CryptoMac_VerifySignature(aInputData, aPublicKey, aSignature, aSignatureLen)
#define CryptoX_FreeSignatureHandle(aInputData) \
CryptoMac_FreeSignatureHandle(aInputData)
#define CryptoX_FreePublicKey(aPublicKey) \
CryptoMac_FreePublicKey(aPublicKey)
#define CryptoX_FreeCertificate(aCertificate)
#elif defined(XP_WIN)
#include <windows.h> #include <windows.h>
#include <wincrypt.h> #include <wincrypt.h>