Backout bug 820902 for bustage. CLOSED TREE
authorBenjamin Peterson <benjamin@python.org>
Thu, 13 Dec 2012 19:27:02 -0500
changeset 125115 a17cb882eb6bd663f885f7ea8c28c1279c64135c
parent 125114 0ad5a4247d718ea85c2c5f6568dbb13548425f43
child 125116 7b689ddc455ca0f6b1c80faaaac81b198696abf6
push id2151
push userlsblakk@mozilla.com
push dateTue, 19 Feb 2013 18:06:57 +0000
treeherdermozilla-beta@4952e88741ec [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs820902
milestone20.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backout bug 820902 for bustage. CLOSED TREE
content/base/src/nsAttrValue.cpp
layout/reftests/css-selectors/attr-case-insensitive-1-ref.html
layout/reftests/css-selectors/attr-case-insensitive-1.html
layout/reftests/css-selectors/reftest.list
--- a/content/base/src/nsAttrValue.cpp
+++ b/content/base/src/nsAttrValue.cpp
@@ -1061,35 +1061,34 @@ nsAttrValue::Equals(const nsAString& aVa
   switch (BaseType()) {
     case eStringBase:
     {
       nsStringBuffer* str = static_cast<nsStringBuffer*>(GetPtr());
       if (str) {
         nsDependentString dep(static_cast<PRUnichar*>(str->Data()),
                               str->StorageSize()/sizeof(PRUnichar) - 1);
         return aCaseSensitive == eCaseMatters ? aValue.Equals(dep) :
-          nsContentUtils::EqualsIgnoreASCIICase(aValue, dep);
+          aValue.Equals(dep, nsCaseInsensitiveStringComparator());
       }
       return aValue.IsEmpty();
     }
     case eAtomBase:
       if (aCaseSensitive == eCaseMatters) {
         return static_cast<nsIAtom*>(GetPtr())->Equals(aValue);
       }
-      return nsContentUtils::EqualsIgnoreASCIICase(
-          nsDependentAtomString(static_cast<nsIAtom*>(GetPtr())),
-          aValue);
+      return nsDependentAtomString(static_cast<nsIAtom*>(GetPtr())).
+        Equals(aValue, nsCaseInsensitiveStringComparator());
     default:
       break;
   }
 
   nsAutoString val;
   ToString(val);
   return aCaseSensitive == eCaseMatters ? val.Equals(aValue) :
-    nsContentUtils::EqualsIgnoreASCIICase(val, aValue);
+    val.Equals(aValue, nsCaseInsensitiveStringComparator());
 }
 
 bool
 nsAttrValue::Equals(nsIAtom* aValue, nsCaseTreatment aCaseSensitive) const
 {
   if (aCaseSensitive != eCaseMatters) {
     // Need a better way to handle this!
     nsAutoString value;
deleted file mode 100644
--- a/layout/reftests/css-selectors/attr-case-insensitive-1-ref.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
-<meta charset="utf-8">
-<style type="text/css">
-.ascii > span {
-  background-color: yellow;
-}
-</style>
-</head>
-<body>
-
-<div class="ascii"><span lang="paSSfield-killroyß">case-sensitive</span></div>
-<div class="ascii"><span lang="passfield-killroyß">lowercase</span></div>
-<div class="ascii"><span lang="PASSFIELD-KILLROYß">uppercase</span></div>
-<div class="nonascii"><span lang="paſſfield-killroyß">small long s (C)</span></div>
-<div class="nonascii"><span lang="passfield-&#x212a;illroyß">kelvin sign (C)</span></div>
-<div class="nonascii"><span lang="paßfield-killroyß">small sharp s (F)</span></div>
-<div class="nonascii"><span lang="paẞfield-killroyß">capital sharp s (F)</span></div>
-<div class="nonascii"><span lang="passfield-killroyẞ">capital sharp s (S)</span></div>
-<div class="nonascii"><span lang="passfield-killroyß">fi ligature (U+fb01) (F)</span></div>
-<div class="nonascii"><span lang="passfıeld-killroyß"> dotless i (T)</span></div>
-<div class="nonascii"><span lang="passfİeld-killroyß">dotted I (T)</span></div>
-
-</body>
-</html>
deleted file mode 100644
--- a/layout/reftests/css-selectors/attr-case-insensitive-1.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
-<meta charset="utf-8">
-<style type="text/css">
-span[lang="paSSfield-killroyß"] {
-  background-color: yellow;
-}
-</style>
-</head>
-<body>
-
-<div class="ascii"><span lang="paSSfield-killroyß">case-sensitive</span></div>
-<div class="ascii"><span lang="passfield-killroyß">lowercase</span></div>
-<div class="ascii"><span lang="PASSFIELD-KILLROYß">uppercase</span></div>
-<div class="nonascii"><span lang="paſſfield-killroyß">small long s (C)</span></div>
-<div class="nonascii"><span lang="passfield-&#x212a;illroyß">kelvin sign (C)</span></div>
-<div class="nonascii"><span lang="paßfield-killroyß">small sharp s (F)</span></div>
-<div class="nonascii"><span lang="paẞfield-killroyß">capital sharp s (F)</span></div>
-<div class="nonascii"><span lang="passfield-killroyẞ">capital sharp s (S)</span></div>
-<div class="nonascii"><span lang="passfield-killroyß">fi ligature (U+fb01) (F)</span></div>
-<div class="nonascii"><span lang="passfıeld-killroyß"> dotless i (T)</span></div>
-<div class="nonascii"><span lang="passfİeld-killroyß">dotted I (T)</span></div>
-
-</body>
-</html>
--- a/layout/reftests/css-selectors/reftest.list
+++ b/layout/reftests/css-selectors/reftest.list
@@ -1,2 +1,1 @@
 == state-dependent-in-any.html state-dependent-in-any-ref.html
-== attr-case-insensitive-1.html attr-case-insensitive-1-ref.html