Merge 8 changesets from cvs-trunk-mirror to mozilla-central. Use (hg log -r b60aee4a61a6:e70e05d8eda2) to see them.
authorjorendorff@mozilla.com
Fri, 16 May 2008 11:55:05 -0500
changeset 15135 e5926576f014aa04509af07dde605ad21d294848
parent 15126 9702ca54548102ae6f02d50cb6221a8ea043f877 (current diff)
parent 15134 e70e05d8eda2ad68d8b1039d7f78944dda15ee13 (diff)
child 15136 94f683ea67ed15dcaeaefa810150667ee966fc15
push idunknown
push userunknown
push dateunknown
milestone1.9.1a1pre
Merge 8 changesets from cvs-trunk-mirror to mozilla-central. Use (hg log -r b60aee4a61a6:e70e05d8eda2) to see them.
layout/reftests/bugs/reftest.list
--- a/js/tests/ecma_2/Exceptions/function-001.js
+++ b/js/tests/ecma_2/Exceptions/function-001.js
@@ -61,24 +61,24 @@ gTestfile = 'function-001.js';
 var SECTION = "function-001.js";
 var VERSION = "JS_12";
 var TITLE   = "functions not separated by semicolons are errors in version 120 and higher";
 var BUGNUMBER="10278";
 
 startTest();
 writeHeaderToLog( SECTION + " "+ TITLE);
 
-var result = "fail";
+var result = "pass";
 var exception = "no exception thrown";
 
 try {
   eval("function f(){}function g(){}");
 } catch ( e ) {
-  result = "pass"
-    exception = e.toString();
+  result = "fail";
+  exception = e.toString();
 }
 
 new TestCase(
   SECTION,
   "eval(\"function f(){}function g(){}\") (threw "+exception,
   "pass",
   result );
 
--- a/js/tests/spidermonkey-n-1.9.0.tests
+++ b/js/tests/spidermonkey-n-1.9.0.tests
@@ -1,13 +1,12 @@
 # Obsolete SpiderMonkey tests
 #
 # invalidated by bug 10278
 #
-ecma_2/Exceptions/function-001.js
 js1_2/function/function-001-n.js
 js1_3/Script/function-001-n.js
 js1_3/regress/function-001-n.js
 #
 # WONTFIX bug 119719
 #
 js1_5/Regress/regress-119719.js
 #
--- a/js/tests/spidermonkey-n.tests
+++ b/js/tests/spidermonkey-n.tests
@@ -1,13 +1,12 @@
 # Obsolete SpiderMonkey tests
 #
 # invalidated by bug 10278
 #
-ecma_2/Exceptions/function-001.js
 js1_2/function/function-001-n.js
 js1_3/Script/function-001-n.js
 js1_3/regress/function-001-n.js
 #
 # WONTFIX bug 119719
 #
 js1_5/Regress/regress-119719.js
 #
--- a/testing/extensions/community/install.rdf
+++ b/testing/extensions/community/install.rdf
@@ -1,16 +1,16 @@
 <?xml version="1.0"?>
 <RDF:RDF xmlns:em="http://www.mozilla.org/2004/em-rdf#"
          xmlns:NC="http://home.netscape.com/NC-rdf#"
          xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
   <RDF:Description RDF:about="rdf:#$QJqvE"
                    em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
                    em:minVersion="2.0"
-                   em:maxVersion="3.0pre"/>
+                   em:maxVersion="3.0"/>
   <RDF:Description RDF:about="urn:mozilla:install-manifest"
                    em:id="{667e9f3d-0096-4d2b-b171-9a96afbabe20}"
                    em:version="0.1.12"
                    em:type="2"
                    em:name="Mozilla QA Companion"
                    em:description="The QA tool for testers."
                    em:creator="Mozilla QA Team"
                    em:homepageURL="http://quality.mozilla.org/"
--- a/testing/performance/talos/cmanager_linux.py
+++ b/testing/performance/talos/cmanager_linux.py
@@ -44,17 +44,18 @@
    from the local disk, timing each one.  The script dumps the sum of the
    mean times to open each page, and the standard deviation, to standard out.
    We can also measure performance attributes during the test.  See below for
    what can be monitored
 """
 
 __author__ = 'annie.sullivan@gmail.com (Annie Sullivan)'
 
-
+import subprocess
+import sys
 import os
 import time
 import threading
 
 import ffprocess
 
 def GetPrivateBytes(pid):
   """Calculate the amount of private, writeable memory allocated to a process.
@@ -93,20 +94,33 @@ def GetResidentSize(pid):
     if line.find("VmRSS") >= 0:
       return int(line.split()[1]) * 1024
 
 
 def GetCpuTime(pid, sampleTime=1):
   # return all zeros on this platform as per the 7/18/07 perf meeting
   return 0
 
+def GetXRes(pid):
+  """Returns the total bytes used by X"""
+  try: 
+    cmdline = "xrestop -m 1 -b | grep -A 15 " + str(pid) + " | tr -d \"\n\" | sed \"s/.*total bytes.*: ~//g\""
+    pipe = subprocess.Popen(cmdline, shell=True, stdout=-1).stdout
+    data = pipe.read()
+    pipe.close()
+    return data
+  except:
+    print "Unexpected error:", sys.exc_info()
+    return -1
+
 counterDict = {}
 counterDict["Private Bytes"] = GetPrivateBytes
 counterDict["RSS"] = GetResidentSize
 counterDict["% Processor Time"] = GetCpuTime
+counterDict["XRes"] = GetXRes
 
 class CounterManager(threading.Thread):
   """This class manages the monitoring of a process with any number of
      counters.
 
      A counter can be any function that takes an argument of one pid and
      returns a piece of data about that process.
      Some examples are: CalcCPUTime, GetResidentSize, and GetPrivateBytes
--- a/testing/performance/talos/post_file.py
+++ b/testing/performance/talos/post_file.py
@@ -1,45 +1,55 @@
 #http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/146306
 #   Submitter: Wade Leftwich
 # Licensing:
 #   according to http://aspn.activestate.com/ASPN/Cookbook/Python
 #   "Except where otherwise noted, recipes in the Python Cookbook are published under the Python license ."
 #   This recipe is covered under the Python license: http://www.python.org/license
 
 import httplib, mimetypes, urllib2
+from socket import error, herror, gaierror, timeout
 
 def link_exists(host, selector):
     """
     Check to see if the given host exists and is reachable
     """
     try:
       site = urllib2.urlopen("http://" + host + selector)
       meta = site.info()
-    except urllib2.URLError:
-      print "FAIL: http://" + host + selector + " raises URLError (check if link exists)"
+    except urllib2.URLError, e:
+      print "FAIL: graph server does not resolve" 
+      print "FAIL: " + str(e.reason)
       return 0
     return 1
 
 def post_multipart(host, selector, fields, files):
     """
     Post fields and files to an http host as multipart/form-data.
     fields is a sequence of (name, value) elements for regular form fields.
     files is a sequence of (name, filename, value) elements for data to be uploaded as files
     Return the server's response page.
     """
-    content_type, body = encode_multipart_formdata(fields, files)
-    h = httplib.HTTP(host)
-    h.putrequest('POST', selector)
-    h.putheader('content-type', content_type)
-    h.putheader('content-length', str(len(body)))
-    h.endheaders()
-    h.send(body)
-    errcode, errmsg, headers = h.getreply()
-    return h.file.read()
+    try:
+      content_type, body = encode_multipart_formdata(fields, files)
+      h = httplib.HTTP(host)
+      h.putrequest('POST', selector)
+      h.putheader('content-type', content_type)
+      h.putheader('content-length', str(len(body)))
+      h.endheaders()
+      h.send(body)
+      errcode, errmsg, headers = h.getreply()
+      return h.file.read()
+    except (httplib.HTTPException, error, herror, gaierror, timeout), e:
+      print "FAIL: graph server unreachable"
+      print "FAIL: " + str(e)
+      raise
+    except:
+      print "FAIL: graph server unreachable"
+      raise
 
 def encode_multipart_formdata(fields, files):
     """
     fields is a sequence of (name, value) elements for regular form fields.
     files is a sequence of (name, filename, value) elements for data to be uploaded as files
     Return (content_type, body) ready for httplib.HTTP instance
     """
     BOUNDARY = '----------ThIs_Is_tHe_bouNdaRY_$'
--- a/testing/performance/talos/run_tests.py
+++ b/testing/performance/talos/run_tests.py
@@ -125,23 +125,21 @@ def send_to_csv(csv_dir, results):
         i = 0
         for val in cd[count_type]:
           writer.writerow([i, val])
           i += 1
 
 def post_chunk(results_server, results_link, id, filename):
   tmpf = open(filename, "r")
   file_data = tmpf.read()
-  while True:
-    try:
-      ret = post_file.post_multipart(results_server, results_link, [("key", "value")], [("filename", filename, file_data)])
-    except IOError:
-      print "FAIL: IOError on sending data to the graph server"
-    else:
-      break
+  try:
+    ret = post_file.post_multipart(results_server, results_link, [("key", "value")], [("filename", filename, file_data)])
+  except:
+    print "FAIL: error in post data"
+    sys.exit(0)
   links = process_Request(ret)
   utils.debug(id + ": sent results")
   return links
 
 def chunk_list(val_list):
   """ 
     divide up a list into manageable chunks
     currently set at length 500 
@@ -280,17 +278,17 @@ def test_file(filename):
          print "FAIL: path \"" + csv_dir + "\" does not exist"
          sys.exit(0)
     elif item == 'results_server':
        results_server = yaml_config[item]
     elif item == 'results_link' :
        results_link = yaml_config[item]
   if (results_link != results_server != ''):
     if not post_file.link_exists(results_server, results_link):
-      exit(0)
+      sys.exit(0)
   browser_config = {'preferences'  : yaml_config['preferences'],
                     'extensions'   : yaml_config['extensions'],
                     'firefox'      : yaml_config['firefox'],
                     'branch'       : yaml_config['branch'],
                     'buildid'      : yaml_config['buildid'],
                     'profile_path' : yaml_config['profile_path'],
                     'env'          : yaml_config['env'],
                     'dirs'         : yaml_config['dirs'],
--- a/testing/release/updates/moz19-firefox-linux.cfg
+++ b/testing/release/updates/moz19-firefox-linux.cfg
@@ -1,10 +1,12 @@
+# 3.0b5 linux
+release="3.0b5" product="Firefox" platform="Linux_x86-gcc3" build_id="2008032619" locales="af ar be ca cs da de el en-GB en-US es-AR es-ES eu fi fr fy-NL gu-IN he hu id it ja ka ko ku lt mk mn nb-NO nl nn-NO pa-IN pl pt-BR pt-PT ro ru sk sq sr sv-SE tr uk zh-CN zh-TW" channel="betatest" from="/firefox/releases/3.0b5/linux-i686/%locale%/firefox-3.0b5.tar.bz2" aus_server="https://aus2.mozilla.org" ftp_server="stage-old.mozilla.org/pub/mozilla.org" to="/firefox/nightly/3.0rc1-candidates/build1/firefox-3.0.%locale%.linux-i686.tar.bz2"
 # 3.0b4 linux
-release="3.0b4" product="Firefox" platform="Linux_x86-gcc3" build_id="2008030318" locales="ar be ca cs da de el en-GB en-US es-AR es-ES eu fi fr fy-NL ga-IE gu-IN he hu it ja ka ko lt mk nb-NO nl pa-IN pl pt-BR pt-PT ro ru sk sq sv-SE tr uk zh-CN zh-TW" channel="betatest" from="/firefox/releases/3.0b4/linux-i686/%locale%/firefox-3.0b4.tar.bz2" aus_server="https://aus2.mozilla.org" ftp_server="stage-old.mozilla.org/pub/mozilla.org" to="/firefox/nightly/3.0b5-candidates/rc2/firefox-3.0b5.%locale%.linux-i686.tar.bz2"
+release="3.0b4" product="Firefox" platform="Linux_x86-gcc3" build_id="2008030318" locales="ar be ca cs da de el en-GB en-US es-AR es-ES eu fi fr fy-NL ga-IE gu-IN he hu it ja ka ko lt mk nb-NO nl pa-IN pl pt-BR pt-PT ro ru sk sq sv-SE tr uk zh-CN zh-TW" channel="betatest" 
 # 3.0b3 linux
 release="3.0b3" product="Firefox" platform="Linux_x86-gcc3" build_id="2008020513" locales="ar be ca cs de en-US es-ES eu fi fr fy-NL ga-IE gu-IN he hu it ja ka ko lt nb-NO nl pa-IN pl pt-BR pt-PT ro ru sk sv-SE tr uk zh-CN zh-TW" channel="betatest" 
 # 3.0b2 linux
 release="3.0b2" product="Firefox" platform="Linux_x86-gcc3" build_id="2007121016" locales="be ca cs de el en-US es-AR es-ES eu fi fr fy-NL gu-IN he it ja ko nb-NO nl pa-IN pl pt-PT ro ru sk sv-SE tr uk zh-CN" channel="betatest" 
 # 3.0b1 linux
 release="3.0b1" product="Firefox" platform="Linux_x86-gcc3" build_id="2007110903" locales="be cs de el en-US es-ES fi fr fy-NL gu-IN ja ko nl pl ru sk sv-SE uk zh-CN" channel="betatest" 
 release="3.0a8" product="Firefox" platform="Linux_x86-gcc3" build_id="2007091211" locales="en-US" channel="betatest"
 release="3.0a7" product="Firefox" platform="Linux_x86-gcc3" build_id="2007080209" locales="en-US" channel="betatest"
--- a/testing/release/updates/moz19-firefox-mac.cfg
+++ b/testing/release/updates/moz19-firefox-mac.cfg
@@ -1,10 +1,12 @@
+# 3.0b5 macosx
+release="3.0b5" product="Firefox" platform="Darwin_Universal-gcc3" build_id="2008032619" locales="af be ca cs da de el en-GB en-US es-AR es-ES eu fi fr fy-NL gu-IN hu id it ja-JP-mac ka ko ku lt mk mn nb-NO nl nn-NO pa-IN pl pt-BR pt-PT ro ru sk sq sr sv-SE tr uk zh-CN zh-TW" channel="betatest" from="/firefox/releases/3.0b5/mac/%locale%/Firefox 3.0 Beta 5.dmg" aus_server="https://aus2.mozilla.org" ftp_server="stage-old.mozilla.org/pub/mozilla.org" to="/firefox/nightly/3.0rc1-candidates/build1/firefox-3.0.%locale%.mac.dmg"
 # 3.0b4 macosx
-release="3.0b4" product="Firefox" platform="Darwin_Universal-gcc3" build_id="2008030317" locales="ar be ca cs da de el en-GB en-US es-AR es-ES eu fi fr fy-NL ga-IE gu-IN he hu it ja-JP-mac ka ko lt mk nb-NO nl pa-IN pl pt-BR pt-PT ro ru sk sq sv-SE tr uk zh-CN zh-TW" channel="betatest" from="/firefox/releases/3.0b4/mac/%locale%/Firefox 3.0 Beta 4.dmg" aus_server="https://aus2.mozilla.org" ftp_server="stage-old.mozilla.org/pub/mozilla.org" to="/firefox/nightly/3.0b5-candidates/rc2/firefox-3.0b5.%locale%.mac.dmg"
+release="3.0b4" product="Firefox" platform="Darwin_Universal-gcc3" build_id="2008030317" locales="ar be ca cs da de el en-GB en-US es-AR es-ES eu fi fr fy-NL ga-IE gu-IN he hu it ja-JP-mac ka ko lt mk nb-NO nl pa-IN pl pt-BR pt-PT ro ru sk sq sv-SE tr uk zh-CN zh-TW" channel="betatest" 
 # 3.0b3 macosx
 release="3.0b3" product="Firefox" platform="Darwin_Universal-gcc3" build_id="2008020511" locales="ar be ca cs de en-US es-ES eu fi fr fy-NL ga-IE gu-IN he hu it ja-JP-mac ka ko lt nb-NO nl pa-IN pl pt-BR pt-PT ro ru sk sv-SE tr uk zh-CN zh-TW" channel="betatest" 
 # 3.0b2 macosx
 release="3.0b2" product="Firefox" platform="Darwin_Universal-gcc3" build_id="2007121014" locales="be ca cs de el en-US es-AR es-ES eu fi fr fy-NL gu-IN he it ja-JP-mac ko nb-NO nl pa-IN pl pt-PT ro ru sk sv-SE tr uk zh-CN" channel="betatest" 
 # 3.0b1 macosx
 release="3.0b1" product="Firefox" platform="Darwin_Universal-gcc3" build_id="2007110903" locales="be cs de el en-US es-ES fi fr fy-NL gu-IN ja-JP-mac ko nl pl ru sk sv-SE uk zh-CN" channel="betatest" 
 release="3.0a8" product="Firefox" platform="Darwin_Universal-gcc3" build_id="2007091211" locales="en-US" channel="betatest"
 release="3.0a7" product="Firefox" platform="Darwin_Universal-gcc3" build_id="2007080209" locales="en-US" channel="betatest"
--- a/testing/release/updates/moz19-firefox-win32.cfg
+++ b/testing/release/updates/moz19-firefox-win32.cfg
@@ -1,10 +1,12 @@
+# 3.0b5 win32
+release="3.0b5" product="Firefox" platform="WINNT_x86-msvc" build_id="2008032620" locales="af ar be ca cs da de el en-GB en-US es-AR es-ES eu fi fr fy-NL gu-IN he hu id it ja ka ko ku lt mk mn nb-NO nl nn-NO pa-IN pl pt-BR pt-PT ro ru sk sq sr sv-SE tr uk zh-CN zh-TW" channel="betatest" from="/firefox/releases/3.0b5/win32/%locale%/Firefox Setup 3.0 Beta 5.exe" aus_server="https://aus2.mozilla.org" ftp_server="stage-old.mozilla.org/pub/mozilla.org" to="/firefox/nightly/3.0rc1-candidates/build1/firefox-3.0.%locale%.win32.installer.exe"
 # 3.0b4 win32
-release="3.0b4" product="Firefox" platform="WINNT_x86-msvc" build_id="2008030714" locales="ar be ca cs da de el en-GB en-US es-AR es-ES eu fi fr fy-NL ga-IE gu-IN he hu it ja ka ko lt mk nb-NO nl pa-IN pl pt-BR pt-PT ro ru sk sq sv-SE tr uk zh-CN zh-TW" channel="betatest" from="/firefox/releases/3.0b4/win32/%locale%/Firefox Setup 3.0 Beta 4.exe" aus_server="https://aus2.mozilla.org" ftp_server="stage-old.mozilla.org/pub/mozilla.org" to="/firefox/nightly/3.0b5-candidates/rc2/firefox-3.0b5.%locale%.win32.installer.exe"
+release="3.0b4" product="Firefox" platform="WINNT_x86-msvc" build_id="2008030714" locales="ar be ca cs da de el en-GB en-US es-AR es-ES eu fi fr fy-NL ga-IE gu-IN he hu it ja ka ko lt mk nb-NO nl pa-IN pl pt-BR pt-PT ro ru sk sq sv-SE tr uk zh-CN zh-TW" channel="betatest" 
 # 3.0b3 win32
 release="3.0b3" product="Firefox" platform="WINNT_x86-msvc" build_id="2008020514" locales="ar be ca cs de en-US es-ES eu fi fr fy-NL ga-IE gu-IN he hu it ja ka ko lt nb-NO nl pa-IN pl pt-BR pt-PT ro ru sk sv-SE tr uk zh-CN zh-TW" channel="betatest" 
 # 3.0b2 win32
 release="3.0b2" product="Firefox" platform="WINNT_x86-msvc" build_id="2007121120" locales="be ca cs de el en-US es-AR es-ES eu fi fr fy-NL gu-IN he it ja ko nb-NO nl pa-IN pl ro ru sk sv-SE tr uk zh-CN" channel="betatest" 
 # 3.0b1 win32
 release="3.0b1" product="Firefox" platform="WINNT_x86-msvc" build_id="2007110904" locales="be cs de el en-US es-ES fi fr fy-NL ja ko nl pl ru sk sv-SE uk zh-CN" channel="betatest" 
 release="3.0a8" product="Firefox" platform="WINNT_x86-msvc" build_id="2007091216" locales="en-US" channel="betatest"
 release="3.0a7" product="Firefox" platform="WINNT_x86-msvc" build_id="2007080210" locales="en-US" channel="betatest"
--- a/xpfe/components/autocomplete/resources/content/autocomplete.xml
+++ b/xpfe/components/autocomplete/resources/content/autocomplete.xml
@@ -144,77 +144,77 @@
       <!-- maximum number of rows to display -->
       <property name="maxRows"
                 onset="this.setAttribute('maxrows', val); return val;"
                 onget="var t = parseInt(this.getAttribute('maxrows')); return t ? t : 0;"/>
 
       <!-- option for filling the textbox with the best match while typing 
            and selecting the difference -->
       <property name="autoFill"
-                onset="this.setAttribute('autoFill', val); return val;"
-                onget="return this.getAttribute('autoFill') == 'true';"/>
+                onset="this.setAttribute('autofill', val); return val;"
+                onget="return this.getAttribute('autofill') == 'true';"/>
 
       <!-- if the resulting match string is not at the beginning of the typed string,
            this will optionally autofill like this "bar |>> foobar|" -->
       <property name="autoFillAfterMatch"
-                onset="this.setAttribute('autoFillAfterMatch', val); return val;"
-                onget="return this.getAttribute('autoFillAfterMatch') == 'true';"/>
+                onset="this.setAttribute('autofillaftermatch', val); return val;"
+                onget="return this.getAttribute('autofillaftermatch') == 'true';"/>
 
       <!--  if this attribute is set, allow different style for 
             non auto-completed lines -->
       <property name="highlightNonMatches"
-                onset="this.setAttribute('highlightNonMatches', val); return val;"
-                onget="return this.getAttribute('highlightNonMatches') == 'true';"/>
+                onset="this.setAttribute('highlightnonmatches', val); return val;"
+                onget="return this.getAttribute('highlightnonmatches') == 'true';"/>
 
       <!-- toggles a second column in the results list which contains
            the string in the comment field of each autocomplete result -->
       <property name="showCommentColumn"
-                onget="return this.getAttribute('showCommentColumn') == 'true';">
+                onget="return this.getAttribute('showcommentcolumn') == 'true';">
         <setter><![CDATA[
           this.resultsPopup.showCommentColumn = val;
-          this.setAttribute('showCommentColumn', val); return val;
+          this.setAttribute('showcommentcolumn', val); return val;
         ]]></setter>
       </property>
 
                 
       <!-- option for completing to the default result whenever the user hits
            enter or the textbox loses focus -->
       <property name="forceComplete"
-                onset="this.setAttribute('forceComplete', val); return val;"
-                onget="return this.getAttribute('forceComplete') == 'true';"/>
+                onset="this.setAttribute('forcecomplete', val); return val;"
+                onget="return this.getAttribute('forcecomplete') == 'true';"/>
 
       <!-- option to show the popup containing the results -->
       <property name="showPopup"
                 onset="this.setAttribute('showpopup', val); return val;"
                 onget="return this.getAttribute('showpopup') == 'true';"/>
 
       <!-- option to allow scrolling through the list via the tab key, rather than
            tab moving focus out of the textbox -->
       <property name="tabScrolling"
-                onset="return this.setAttribute('tabScrolling', val); return val;"
-                onget="return this.getAttribute('tabScrolling') == 'true';"/>
+                onset="return this.setAttribute('tabscrolling', val); return val;"
+                onget="return this.getAttribute('tabscrolling') == 'true';"/>
 
       <!-- option to turn off autocomplete -->
-      <property name="disableAutocomplete"
-                onset="this.setAttribute('disableAutocomplete', val); return val;"
-                onget="return this.getAttribute('disableAutocomplete') == 'true';"/>
+      <property name="disableAutoComplete"
+                onset="this.setAttribute('disableautocomplete', val); return val;"
+                onget="return this.getAttribute('disableautocomplete') == 'true';"/>
 
       <!-- option to completely ignore any blur events while  
            searches are still going on.  This is useful so that nothing
            gets autopicked if the window is required to lose focus for
            some reason (eg in LDAP autocomplete, another window may be
            brought up so that the user can enter a password to authenticate
            to an LDAP server).  -->
       <property name="ignoreBlurWhileSearching"
-                onset="this.setAttribute('ignoreBlurWhileSearching', val); return val;"
-                onget="return this.getAttribute('ignoreBlurWhileSearching') == 'true';"/>
+                onset="this.setAttribute('ignoreblurwhilesearching', val); return val;"
+                onget="return this.getAttribute('ignoreblurwhilesearching') == 'true';"/>
 
       <property name="minResultsForPopup"
-                onset="this.setAttribute('minResultsForPopup', val); return val;"
-                onget="var t = this.getAttribute('minResultsForPopup'); return t ? parseInt(t) : 1;"/>
+                onset="this.setAttribute('minresultsforpopup', val); return val;"
+                onget="var t = this.getAttribute('minresultsforpopup'); return t ? parseInt(t) : 1;"/>
       
       <!-- state which indicates the current action being performed by the user.
            Possible values are : none, typing, scrolling -->
       <property name="userAction"
                 onset="this.setAttribute('userAction', val); return val;"
                 onget="return this.getAttribute('userAction');"/>
       
       <!-- state which indicates if the last search had no matches -->
@@ -553,17 +553,17 @@
         <body><![CDATA[
           // bail if the binding was detached or the element removed from
           // document during the timeout
           if (!("startLookup" in me) || !me.ownerDocument || !me.parentNode)
             return;
 
           me.clearTimer();
             
-          if (me.disableAutocomplete)
+          if (me.disableAutoComplete)
             return;
 
           switch (aAction) {
             case "startLookup":
               me.startLookup();
               break;
 
             case "stopLookup":
@@ -619,17 +619,17 @@
       </method>
 
       <!--  -->
       <method name="processResults">
         <parameter name="aSessionName"/>
         <parameter name="aResults"/>
         <parameter name="aStatus"/>
         <body><![CDATA[
-          if (this.disableAutocomplete)
+          if (this.disableAutoComplete)
             return;
 
           --this.mSessionReturns;
 
           var firstReturn = this.mSessionReturns == (this.sessionCount-1) - this.mFailureCount;
 
           this.mLastStatus[aSessionName] = aStatus;
 
@@ -742,17 +742,17 @@
            determine what value to leave in the textbox -->
       <method name="finishAutoComplete">
         <parameter name="aForceComplete"/>
         <parameter name="aFireTextCommand"/>
         <parameter name="aTriggeringEvent"/>
         <body><![CDATA[
           this.mFinishAfterSearch = false;
           this.mFireAfterSearch = false;
-          if (this.mNeedToFinish && !this.disableAutocomplete) {
+          if (this.mNeedToFinish && !this.disableAutoComplete) {
             // set textbox value to either override value, or default search result 
             var val = this.resultsPopup.overrideValue;
             if (val) {
               this.setTextValue(val);
               this.mNeedToFinish = false;
             } else if (this.mTransientValue || 
                        !(this.forceComplete || this.mDefaultMatchFilled) ||
                        !(this.forceComplete || aForceComplete) ||
@@ -894,17 +894,17 @@
           // stop current lookup in case it's async.
           this.stopLookup();
           // stop the queued up lookup on a timer
           this.clearTimer();
 
           if (this.ignoreInputEvent)
             return;
           
-          if (this.disableAutocomplete)
+          if (this.disableAutoComplete)
             return;
 
           this.userAction = "typing";
           this.mNeedToFinish = true;
           this.mTransientValue = false;
           this.mNeedToComplete = true;
           var str = this.value;
           this.currentSearchString = str;