NS_IMETHODIMP TestObserver::Observe(nsISupports *aSubject, const char *aTopic, const char16_t *someData ) { mObservations++; sTotalObservations++; if (!mExpectedData.IsEmpty()) { EXPECT_TRUE(mExpectedData.Equals(someData)); } return NS_OK; }
bool nsXBLProtoImpl::LookupMember(JSContext* aCx, nsString& aName, JS::Handle<jsid> aNameAsId, JS::MutableHandle<JSPropertyDescriptor> aDesc, JS::Handle<JSObject*> aClassObject) { for (nsXBLProtoImplMember* m = mMembers; m; m = m->GetNext()) { if (aName.Equals(m->GetName())) { return JS_GetPropertyDescriptorById(aCx, aClassObject, aNameAsId, 0, aDesc); } } return true; }
mozEnglishWordUtils::myspCapitalization mozEnglishWordUtils::captype(const nsString &word) { char16_t* lword=ToNewUnicode(word); ToUpperCase(lword,lword,word.Length()); if(word.Equals(lword)){ free(lword); return AllCap; } ToLowerCase(lword,lword,word.Length()); if(word.Equals(lword)){ free(lword); return NoCap; } int32_t length=word.Length(); if(Substring(word,1,length-1).Equals(lword+1)){ free(lword); return InitCap; } free(lword); return HuhCap; }
// nsIObserver NS_IMETHODIMP GMPRemoveTest::Observe(nsISupports* aSubject, const char* aTopic, const char16_t* aData) { EXPECT_TRUE(!strcmp(GMP_DELETED_TOPIC, aTopic)); nsString data(aData); if (mTmpPath.Equals(data)) { mTestMonitor.SetFinished(); nsCOMPtr<nsIObserverService> obs = mozilla::services::GetObserverService(); obs->RemoveObserver(this, GMP_DELETED_TOPIC); } return NS_OK; }
mozEnglishWordUtils::myspCapitalization mozEnglishWordUtils::captype(const nsString &word) { if(!mCaseConv) return HuhCap; //punt PRUnichar* lword=ToNewUnicode(word); mCaseConv->ToUpper(lword,lword,word.Length()); if(word.Equals(lword)){ nsMemory::Free(lword); return AllCap; } mCaseConv->ToLower(lword,lword,word.Length()); if(word.Equals(lword)){ nsMemory::Free(lword); return NoCap; } PRInt32 length=word.Length(); if(Substring(word,1,length-1).Equals(lword+1)){ nsMemory::Free(lword); return InitCap; } nsMemory::Free(lword); return HuhCap; }
PRBool nsMapiHook::VerifyUserName(const nsString& aUsername, nsCString& aIdKey) { nsresult rv; if (aUsername.IsEmpty()) return PR_FALSE; nsCOMPtr<nsIMsgAccountManager> accountManager(do_GetService(NS_MSGACCOUNTMANAGER_CONTRACTID, &rv)); if (NS_FAILED(rv)) return PR_FALSE; nsCOMPtr<nsISupportsArray> identities; rv = accountManager->GetAllIdentities(getter_AddRefs(identities)); if (NS_FAILED(rv)) return PR_FALSE; PRUint32 numIndentities; identities->Count(&numIndentities); for (PRUint32 i = 0; i < numIndentities; i++) { // convert supports->Identity nsCOMPtr<nsISupports> thisSupports; rv = identities->GetElementAt(i, getter_AddRefs(thisSupports)); if (NS_FAILED(rv)) continue; nsCOMPtr<nsIMsgIdentity> thisIdentity(do_QueryInterface(thisSupports, &rv)); if (NS_SUCCEEDED(rv) && thisIdentity) { nsCString email; rv = thisIdentity->GetEmail(email); if (NS_FAILED(rv)) continue; // get the username from the email and compare with the username PRInt32 index = email.FindChar('@'); if (index != -1) email.SetLength(index); if (aUsername.Equals(NS_ConvertASCIItoUTF16(email))) return NS_SUCCEEDED(thisIdentity->GetKey(aIdKey)); } } return PR_FALSE; }
int32_t GfxInfoBase::FindBlocklistedDeviceInList(const nsTArray<GfxDriverInfo>& info, nsAString& aSuggestedVersion, int32_t aFeature, nsACString& aFailureId, OperatingSystem os) { int32_t status = nsIGfxInfo::FEATURE_STATUS_UNKNOWN; uint32_t i = 0; for (; i < info.Length(); i++) { // Do the operating system check first, no point in getting the driver // info if we won't need to use it. If the OS of the system we are running // on is unknown, we still let DRIVER_OS_ALL catch and disable it; // if the OS of the downloadable entry is unknown, we skip the entry // as invalid. if (info[i].mOperatingSystem == DRIVER_OS_UNKNOWN || (info[i].mOperatingSystem != DRIVER_OS_ALL && info[i].mOperatingSystem != os)) { continue; } if (info[i].mOperatingSystemVersion && info[i].mOperatingSystemVersion != OperatingSystemVersion()) { continue; } // XXX: it would be better not to do this everytime round the loop nsAutoString adapterVendorID; nsAutoString adapterDeviceID; nsAutoString adapterDriverVersionString; if (info[i].mGpu2) { if (NS_FAILED(GetAdapterVendorID2(adapterVendorID)) || NS_FAILED(GetAdapterDeviceID2(adapterDeviceID)) || NS_FAILED(GetAdapterDriverVersion2(adapterDriverVersionString))) { return 0; } } else { if (NS_FAILED(GetAdapterVendorID(adapterVendorID)) || NS_FAILED(GetAdapterDeviceID(adapterDeviceID)) || NS_FAILED(GetAdapterDriverVersion(adapterDriverVersionString))) { return 0; } } #if defined(XP_WIN) || defined(ANDROID) uint64_t driverVersion; ParseDriverVersion(adapterDriverVersionString, &driverVersion); #endif if (!info[i].mAdapterVendor.Equals(GfxDriverInfo::GetDeviceVendor(VendorAll), nsCaseInsensitiveStringComparator()) && !info[i].mAdapterVendor.Equals(adapterVendorID, nsCaseInsensitiveStringComparator())) { continue; } if (info[i].mDevices != GfxDriverInfo::allDevices && info[i].mDevices->Length()) { bool deviceMatches = false; for (uint32_t j = 0; j < info[i].mDevices->Length(); j++) { if ((*info[i].mDevices)[j].Equals(adapterDeviceID, nsCaseInsensitiveStringComparator())) { deviceMatches = true; break; } } if (!deviceMatches) { continue; } } bool match = false; if (!info[i].mHardware.IsEmpty() && !info[i].mHardware.Equals(Hardware())) { continue; } if (!info[i].mModel.IsEmpty() && !info[i].mModel.Equals(Model())) { continue; } if (!info[i].mProduct.IsEmpty() && !info[i].mProduct.Equals(Product())) { continue; } if (!info[i].mManufacturer.IsEmpty() && !info[i].mManufacturer.Equals(Manufacturer())) { continue; } #if defined(XP_WIN) || defined(ANDROID) switch (info[i].mComparisonOp) { case DRIVER_LESS_THAN: match = driverVersion < info[i].mDriverVersion; break; case DRIVER_LESS_THAN_OR_EQUAL: match = driverVersion <= info[i].mDriverVersion; break; case DRIVER_GREATER_THAN: match = driverVersion > info[i].mDriverVersion; break; case DRIVER_GREATER_THAN_OR_EQUAL: match = driverVersion >= info[i].mDriverVersion; break; case DRIVER_EQUAL: match = driverVersion == info[i].mDriverVersion; break; case DRIVER_NOT_EQUAL: match = driverVersion != info[i].mDriverVersion; break; case DRIVER_BETWEEN_EXCLUSIVE: match = driverVersion > info[i].mDriverVersion && driverVersion < info[i].mDriverVersionMax; break; case DRIVER_BETWEEN_INCLUSIVE: match = driverVersion >= info[i].mDriverVersion && driverVersion <= info[i].mDriverVersionMax; break; case DRIVER_BETWEEN_INCLUSIVE_START: match = driverVersion >= info[i].mDriverVersion && driverVersion < info[i].mDriverVersionMax; break; case DRIVER_COMPARISON_IGNORED: // We don't have a comparison op, so we match everything. match = true; break; default: NS_WARNING("Bogus op in GfxDriverInfo"); break; } #else // We don't care what driver version it was. We only check OS version and if // the device matches. match = true; #endif if (match || info[i].mDriverVersion == GfxDriverInfo::allDriverVersions) { if (info[i].mFeature == GfxDriverInfo::allFeatures || info[i].mFeature == aFeature) { status = info[i].mFeatureStatus; if (!info[i].mRuleId.IsEmpty()) { aFailureId = info[i].mRuleId.get(); } else { aFailureId = "FEATURE_FAILURE_DL_BLACKLIST_NO_ID"; } break; } } } #if defined(XP_WIN) // As a very special case, we block D2D on machines with an NVidia 310M GPU // as either the primary or secondary adapter. D2D is also blocked when the // NV 310M is the primary adapter (using the standard blocklisting mechanism). // If the primary GPU already matched something in the blocklist then we // ignore this special rule. See bug 1008759. if (status == nsIGfxInfo::FEATURE_STATUS_UNKNOWN && (aFeature == nsIGfxInfo::FEATURE_DIRECT2D)) { nsAutoString adapterVendorID2; nsAutoString adapterDeviceID2; if ((!NS_FAILED(GetAdapterVendorID2(adapterVendorID2))) && (!NS_FAILED(GetAdapterDeviceID2(adapterDeviceID2)))) { nsAString &nvVendorID = (nsAString &)GfxDriverInfo::GetDeviceVendor(VendorNVIDIA); const nsString nv310mDeviceId = NS_LITERAL_STRING("0x0A70"); if (nvVendorID.Equals(adapterVendorID2, nsCaseInsensitiveStringComparator()) && nv310mDeviceId.Equals(adapterDeviceID2, nsCaseInsensitiveStringComparator())) { status = nsIGfxInfo::FEATURE_BLOCKED_DEVICE; aFailureId = "FEATURE_FAILURE_D2D_NV310M_BLOCK"; } } } // Depends on Windows driver versioning. We don't pass a GfxDriverInfo object // back to the Windows handler, so we must handle this here. if (status == FEATURE_BLOCKED_DRIVER_VERSION) { if (info[i].mSuggestedVersion) { aSuggestedVersion.AppendPrintf("%s", info[i].mSuggestedVersion); } else if (info[i].mComparisonOp == DRIVER_LESS_THAN && info[i].mDriverVersion != GfxDriverInfo::allDriverVersions) { aSuggestedVersion.AppendPrintf("%lld.%lld.%lld.%lld", (info[i].mDriverVersion & 0xffff000000000000) >> 48, (info[i].mDriverVersion & 0x0000ffff00000000) >> 32, (info[i].mDriverVersion & 0x00000000ffff0000) >> 16, (info[i].mDriverVersion & 0x000000000000ffff)); } }
bool operator== (const Scene_SceneEntry& entry) { return (bool) id.Equals(entry.id); }
bool nsEudoraEditor::GetEmbeddedImageCID(PRUint32 aCIDHash, const nsAString & aOldRef, nsString &aCID) { bool foundMatch = false; PRInt32 startImageTag = 0; PRInt32 closeImageTag = 0; while ( (startImageTag = m_body.Find("<img", true, closeImageTag)) != kNotFound ) { closeImageTag = m_body.Find(">", false, startImageTag); // We should always find a close tag, bail if we don't if (closeImageTag == kNotFound) break; // Find the source attribute and make sure it's for our image tag PRInt32 startSrcValue = m_body.Find("src", true, startImageTag); if ( (startSrcValue == kNotFound) || (startSrcValue > closeImageTag) ) continue; // Move past the src startSrcValue += 3; // Move past any whitespace while ( isspace(m_body.CharAt(startSrcValue)) ) ++startSrcValue; // We should find an = now if (m_body.CharAt(startSrcValue) != '=') continue; // Move past = ++startSrcValue; // Move past any whitespace while ( isspace(m_body.CharAt(startSrcValue)) ) ++startSrcValue; // Get the quote char and verify that it's valid char quoteChar = static_cast <char> (m_body.CharAt(startSrcValue)); if ( (quoteChar != '"') && (quoteChar != '\'') ) continue; // Move past the quote ++startSrcValue; PRInt32 endSrcValue = m_body.FindChar(quoteChar, startSrcValue); PRInt32 srcLength = endSrcValue - startSrcValue; nsString srcValue; aCID.Assign(Substring(m_body, startSrcValue, srcLength)); if (aCIDHash != 0) { // Verify source value starts with "cid:" if (!StringBeginsWith(aCID, NS_LITERAL_STRING("cid:"), nsCaseInsensitiveStringComparator())) continue; // Remove "cid:" from the start aCID.Cut(0, 4); PRUint32 hashValue = EudoraHashString( NS_LossyConvertUTF16toASCII(aCID).get() ); foundMatch = (hashValue == aCIDHash); } else { foundMatch = aCID.Equals(aOldRef); } } return foundMatch; }
PRBool FontAliasKey::Equals(const nsHashKey *aKey) const { return mString.Equals(((FontAliasKey*)aKey)->mString, nsCaseInsensitiveStringComparator()); }