<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>33751</bug_id>
          
          <creation_ts>2010-01-15 19:01:11 -0800</creation_ts>
          <short_desc>Frame::matchLabelsAgainstElement should take id attribute into account (as well as name)</short_desc>
          <delta_ts>2010-01-16 17:04:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Sullivan">sullivan</reporter>
          <assigned_to name="John Sullivan">sullivan</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>181454</commentid>
    <comment_count>0</comment_count>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2010-01-15 19:01:11 -0800</bug_when>
    <thetext>Frame::matchLabelsAgainstElement() is used at least by Safari for trying to guess what kind of data is expected by a form field -- e.g., phone number, street address, zip code, etc.

Currently this function only checks the name attribute of the given element. It would do a better job of guessing if it also checked the id attribute when the name attribute check fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181455</commentid>
    <comment_count>1</comment_count>
      <attachid>46725</attachid>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2010-01-15 19:02:13 -0800</bug_when>
    <thetext>Created attachment 46725
Test case that was reduced from http://www.autotrader.com</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181457</commentid>
    <comment_count>2</comment_count>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2010-01-15 19:05:13 -0800</bug_when>
    <thetext>This bug is in radar as 7538330.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181458</commentid>
    <comment_count>3</comment_count>
      <attachid>46726</attachid>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2010-01-15 19:10:39 -0800</bug_when>
    <thetext>Created attachment 46726
Patch for platform-agnostic and Mac versions of the relevant code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181459</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-15 19:15:31 -0800</bug_when>
    <thetext>Attachment 46726 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/page/Frame.cpp:542:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181462</commentid>
    <comment_count>5</comment_count>
      <attachid>46728</attachid>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2010-01-15 19:48:30 -0800</bug_when>
    <thetext>Created attachment 46728
Revised patch that fixes the doubled semicolon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181523</commentid>
    <comment_count>6</comment_count>
      <attachid>46728</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-16 10:42:09 -0800</bug_when>
    <thetext>Comment on attachment 46728
Revised patch that fixes the doubled semicolon.

I&apos;m not so fond with the name &quot;mutable&quot; in the local variable names here. It&apos;s also too bad we have no way to write regression tests for this function.

r=me despite that tho</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181574</commentid>
    <comment_count>7</comment_count>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2010-01-16 17:04:48 -0800</bug_when>
    <thetext>Checked in as r53367.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>46725</attachid>
            <date>2010-01-15 19:02:13 -0800</date>
            <delta_ts>2010-01-15 19:02:13 -0800</delta_ts>
            <desc>Test case that was reduced from http://www.autotrader.com</desc>
            <filename>7538330-reduction.html</filename>
            <type>text/html</type>
            <size>71</size>
            <attacher name="John Sullivan">sullivan</attacher>
            
              <data encoding="base64">PGZvcm0+WklQPGlucHV0IHR5cGU9InRleHQiIGlkPSJ6aXAiIG5hbWU9ImFkZHJlc3MiIHZhbHVl
PSIiIC8+PC9mb3JtPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46726</attachid>
            <date>2010-01-15 19:10:39 -0800</date>
            <delta_ts>2010-01-15 19:48:30 -0800</delta_ts>
            <desc>Patch for platform-agnostic and Mac versions of the relevant code.</desc>
            <filename>7538330_patch.txt</filename>
            <type>text/plain</type>
            <size>6736</size>
            <attacher name="John Sullivan">sullivan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzM1NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDEtMTUgIEpvaG4gU3VsbGl2YW4gIDxzdWxsaXZhbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMzNzUxIGFuZCA8cmRhcjovL3Byb2JsZW0vNzUzODMzMD4KKyAgICAgICAgWmlwIGNvZGUgZmll
bGQgaXMgbWlzaWRlbnRpZmllZCBhcyBzdHJlZXQgYWRkcmVzcyBiZWNhdXNlIGlkIGF0dHJpYnV0
ZSBpc24ndCBjaGVja2VkLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cy4gSSBiZWxpZXZlIHRoaXMgY29kZSBpcyB1c2VkIG9ubHkg
YnkgU2FmYXJpIEF1dG9GaWxsLCBidXQgaW4gYW55IGNhc2UKKyAgICAgICAgaXQgZG9lcyBub3Qg
YWZmZWN0IHBhZ2UgcmVuZGVyaW5nIG9yIGFueXRoaW5nIGVsc2UgYXQgdGhlIFdlYkNvcmUvV2Vi
S2l0IGxldmVsLgorCisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjptYXRjaExhYmVsc0FnYWluc3RTdHJpbmcpOgorICAgICAgICBOZXcgZnVuY3Rpb24sIHNwbGl0
IG91dCBmcm9tIG1hdGNoTGFiZWxzQWdhaW5zdEVsZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpG
cmFtZTo6bWF0Y2hMYWJlbHNBZ2FpbnN0RWxlbWVudCk6CisgICAgICAgIE5vdyBjYWxscyBtYXRj
aExhYmVsc0FnYWluc3RTdHJpbmcgZm9yIHRoZSBpZCBhdHRyaWJ1dGUgaWYgbm8gbWF0Y2ggaXMg
Zm91bmQgZm9yIHRoZSBuYW1lIGF0dHJpYnV0ZS4KKyAgICAgICAgCisgICAgICAgICogcGFnZS9t
YWMvRnJhbWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjptYXRjaExhYmVsc0FnYWluc3RTdHJp
bmcpOgorICAgICAgICBTYW1lIGFzIGFib3ZlLiBUaGlzIGlzIGEgcGFyYWxsZWwgY29weSBvZiB0
aGUgZnVuY3Rpb24gdXNpbmcgTWFjLXNwZWNpZmljIGRhdGEgc3RydWN0dXJlcy4KKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lOjptYXRjaExhYmVsc0FnYWluc3RFbGVtZW50KToKKyAgICAgICAgRGl0
dG8uCisKIDIwMTAtMDEtMTUgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9raWEuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCShyZXZpc2lvbiA1
MzI3NikKKysrIFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5NCwy
NSArNDk0LDI2IEBAIFN0cmluZyBGcmFtZTo6c2VhcmNoRm9yTGFiZWxzQmVmb3JlRWxlbWUKICAg
ICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLVN0cmluZyBGcmFtZTo6bWF0Y2hMYWJlbHNBZ2FpbnN0
RWxlbWVudChjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFiZWxzLCBFbGVtZW50KiBlbGVtZW50KQor
c3RhdGljIFN0cmluZyBtYXRjaExhYmVsc0FnYWluc3RTdHJpbmcoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGxhYmVscywgY29uc3QgU3RyaW5nJiBzdHJpbmdUb01hdGNoKQogewotICAgIFN0cmluZyBu
YW1lID0gZWxlbWVudC0+Z2V0QXR0cmlidXRlKG5hbWVBdHRyKTsKLSAgICBpZiAobmFtZS5pc0Vt
cHR5KCkpCisgICAgaWYgKHN0cmluZ1RvTWF0Y2guaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4g
U3RyaW5nKCk7CiAKLSAgICAvLyBNYWtlIG51bWJlcnMgYW5kIF8ncyBpbiBmaWVsZCBuYW1lcyBi
ZWhhdmUgbGlrZSB3b3JkIGJvdW5kYXJpZXMsIGUuZy4sICJhZGRyZXNzMiIKLSAgICByZXBsYWNl
KG5hbWUsIFJlZ3VsYXJFeHByZXNzaW9uKCJcXGQiLCBUZXh0Q2FzZVNlbnNpdGl2ZSksICIgIik7
Ci0gICAgbmFtZS5yZXBsYWNlKCdfJywgJyAnKTsKKyAgICBTdHJpbmcgbXV0YWJsZVN0cmluZ1Rv
TWF0Y2ggPSBzdHJpbmdUb01hdGNoOwogCisgICAgLy8gTWFrZSBudW1iZXJzIGFuZCBfJ3MgaW4g
ZmllbGQgbmFtZXMgYmVoYXZlIGxpa2Ugd29yZCBib3VuZGFyaWVzLCBlLmcuLCAiYWRkcmVzczIi
CisgICAgcmVwbGFjZShtdXRhYmxlU3RyaW5nVG9NYXRjaCwgUmVndWxhckV4cHJlc3Npb24oIlxc
ZCIsIFRleHRDYXNlU2Vuc2l0aXZlKSwgIiAiKTsKKyAgICBtdXRhYmxlU3RyaW5nVG9NYXRjaC5y
ZXBsYWNlKCdfJywgJyAnKTsKKyAgICAKICAgICBPd25QdHI8UmVndWxhckV4cHJlc3Npb24+IHJl
Z0V4cChjcmVhdGVSZWdFeHBGb3JMYWJlbHMobGFiZWxzKSk7Ci0gICAgLy8gVXNlIHRoZSBsYXJn
ZXN0IG1hdGNoIHdlIGNhbiBmaW5kIGluIHRoZSB3aG9sZSBuYW1lIHN0cmluZworICAgIC8vIFVz
ZSB0aGUgbGFyZ2VzdCBtYXRjaCB3ZSBjYW4gZmluZCBpbiB0aGUgd2hvbGUgc3RyaW5nCiAgICAg
aW50IHBvczsKICAgICBpbnQgbGVuZ3RoOwogICAgIGludCBiZXN0UG9zID0gLTE7CiAgICAgaW50
IGJlc3RMZW5ndGggPSAtMTsKICAgICBpbnQgc3RhcnQgPSAwOwogICAgIGRvIHsKLSAgICAgICAg
cG9zID0gcmVnRXhwLT5tYXRjaChuYW1lLCBzdGFydCk7CisgICAgICAgIHBvcyA9IHJlZ0V4cC0+
bWF0Y2gobXV0YWJsZVN0cmluZ1RvTWF0Y2gsIHN0YXJ0KTsKICAgICAgICAgaWYgKHBvcyAhPSAt
MSkgewogICAgICAgICAgICAgbGVuZ3RoID0gcmVnRXhwLT5tYXRjaGVkTGVuZ3RoKCk7CiAgICAg
ICAgICAgICBpZiAobGVuZ3RoID49IGJlc3RMZW5ndGgpIHsKQEAgLTUyMiwxMSArNTIzLDI0IEBA
IFN0cmluZyBGcmFtZTo6bWF0Y2hMYWJlbHNBZ2FpbnN0RWxlbWVudCgKICAgICAgICAgICAgIHN0
YXJ0ID0gcG9zICsgMTsKICAgICAgICAgfQogICAgIH0gd2hpbGUgKHBvcyAhPSAtMSk7Ci0KKyAg
ICAKICAgICBpZiAoYmVzdFBvcyAhPSAtMSkKLSAgICAgICAgcmV0dXJuIG5hbWUuc3Vic3RyaW5n
KGJlc3RQb3MsIGJlc3RMZW5ndGgpOworICAgICAgICByZXR1cm4gbXV0YWJsZVN0cmluZ1RvTWF0
Y2guc3Vic3RyaW5nKGJlc3RQb3MsIGJlc3RMZW5ndGgpOwogICAgIHJldHVybiBTdHJpbmcoKTsK
IH0KKyAgICAKK1N0cmluZyBGcmFtZTo6bWF0Y2hMYWJlbHNBZ2FpbnN0RWxlbWVudChjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgbGFiZWxzLCBFbGVtZW50KiBlbGVtZW50KQoreworICAgIC8vIE1hdGNo
IGFnYWluc3QgdGhlIG5hbWUgZWxlbWVudCwgdGhlbiBhZ2FpbnN0IHRoZSBpZCBlbGVtZW50IGlm
IG5vIG1hdGNoIGlzIGZvdW5kIGZvciB0aGUgbmFtZSBlbGVtZW50LgorICAgIC8vIFNlZSA3NTM4
MzMwIGZvciBvbmUgcG9wdWxhciBzaXRlIHRoYXQgYmVuZWZpdHMgZnJvbSB0aGUgaWQgZWxlbWVu
dCBjaGVjay4KKyAgICAvLyBGSVhNRTogVGhpcyBjb2RlIGlzIG1pcnJvcmVkIGluIEZyYW1lTWFj
Lm1tLiBJdCB3b3VsZCBiZSBuaWNlIHRvIG1ha2UgdGhlIE1hYyBjb2RlIGNhbGwgdGhlIHBsYXRm
b3JtLWFnbm9zdGljCisgICAgLy8gY29kZSwgd2hpY2ggd291bGQgcmVxdWlyZSBjb252ZXJ0aW5n
IHRoZSBOU0FycmF5IG9mIE5TU3RyaW5ncyB0byBhIFZlY3RvciBvZiBTdHJpbmdzIHNvbWV3aGVy
ZSBhbG9uZyB0aGUgd2F5LgorICAgIFN0cmluZyByZXN1bHRGcm9tTmFtZUF0dHJpYnV0ZSA9IG1h
dGNoTGFiZWxzQWdhaW5zdFN0cmluZyhsYWJlbHMsIGVsZW1lbnQtPmdldEF0dHJpYnV0ZShuYW1l
QXR0cikpOworICAgIGlmICghcmVzdWx0RnJvbU5hbWVBdHRyaWJ1dGUuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4gcmVzdWx0RnJvbU5hbWVBdHRyaWJ1dGU7CisgICAgCisgICAgcmV0dXJuIG1h
dGNoTGFiZWxzQWdhaW5zdFN0cmluZyhsYWJlbHMsIGVsZW1lbnQtPmdldEF0dHJpYnV0ZShpZEF0
dHIpKTs7Cit9CiAKIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIEZyYW1lOjptYXJrKCkgY29uc3QK
IHsKSW5kZXg6IFdlYkNvcmUvcGFnZS9tYWMvRnJhbWVNYWMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL21hYy9GcmFtZU1hYy5tbQkocmV2aXNpb24gNTMyNzYpCisrKyBXZWJDb3JlL3Bh
Z2UvbWFjL0ZyYW1lTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMjksMjUgKzIyOSwyNiBAQCBO
U1N0cmluZyogRnJhbWU6OnNlYXJjaEZvckxhYmVsc0JlZm9yZUVsCiAgICAgcmV0dXJuIG5pbDsK
IH0KIAotTlNTdHJpbmcqIEZyYW1lOjptYXRjaExhYmVsc0FnYWluc3RFbGVtZW50KE5TQXJyYXkq
IGxhYmVscywgRWxlbWVudCogZWxlbWVudCkKK3N0YXRpYyBOU1N0cmluZyAqbWF0Y2hMYWJlbHNB
Z2FpbnN0U3RyaW5nKE5TQXJyYXkgKmxhYmVscywgY29uc3QgU3RyaW5nJiBzdHJpbmdUb01hdGNo
KQogewotICAgIFN0cmluZyBuYW1lID0gZWxlbWVudC0+Z2V0QXR0cmlidXRlKG5hbWVBdHRyKTsK
LSAgICBpZiAobmFtZS5pc0VtcHR5KCkpCisgICAgaWYgKHN0cmluZ1RvTWF0Y2guaXNFbXB0eSgp
KQogICAgICAgICByZXR1cm4gbmlsOwotCisgICAgCisgICAgU3RyaW5nIG11dGFibGVTdHJpbmdU
b01hdGNoID0gc3RyaW5nVG9NYXRjaDsKKyAgICAKICAgICAvLyBNYWtlIG51bWJlcnMgYW5kIF8n
cyBpbiBmaWVsZCBuYW1lcyBiZWhhdmUgbGlrZSB3b3JkIGJvdW5kYXJpZXMsIGUuZy4sICJhZGRy
ZXNzMiIKLSAgICByZXBsYWNlKG5hbWUsIFJlZ3VsYXJFeHByZXNzaW9uKCJcXGQiLCBUZXh0Q2Fz
ZVNlbnNpdGl2ZSksICIgIik7Ci0gICAgbmFtZS5yZXBsYWNlKCdfJywgJyAnKTsKLQorICAgIHJl
cGxhY2UobXV0YWJsZVN0cmluZ1RvTWF0Y2gsIFJlZ3VsYXJFeHByZXNzaW9uKCJcXGQiLCBUZXh0
Q2FzZVNlbnNpdGl2ZSksICIgIik7CisgICAgbXV0YWJsZVN0cmluZ1RvTWF0Y2gucmVwbGFjZSgn
XycsICcgJyk7CisgICAgCiAgICAgUmVndWxhckV4cHJlc3Npb24qIHJlZ0V4cCA9IHJlZ0V4cEZv
ckxhYmVscyhsYWJlbHMpOwotICAgIC8vIFVzZSB0aGUgbGFyZ2VzdCBtYXRjaCB3ZSBjYW4gZmlu
ZCBpbiB0aGUgd2hvbGUgbmFtZSBzdHJpbmcKKyAgICAvLyBVc2UgdGhlIGxhcmdlc3QgbWF0Y2gg
d2UgY2FuIGZpbmQgaW4gdGhlIHdob2xlIHN0cmluZwogICAgIGludCBwb3M7CiAgICAgaW50IGxl
bmd0aDsKICAgICBpbnQgYmVzdFBvcyA9IC0xOwogICAgIGludCBiZXN0TGVuZ3RoID0gLTE7CiAg
ICAgaW50IHN0YXJ0ID0gMDsKICAgICBkbyB7Ci0gICAgICAgIHBvcyA9IHJlZ0V4cC0+bWF0Y2go
bmFtZSwgc3RhcnQpOworICAgICAgICBwb3MgPSByZWdFeHAtPm1hdGNoKG11dGFibGVTdHJpbmdU
b01hdGNoLCBzdGFydCk7CiAgICAgICAgIGlmIChwb3MgIT0gLTEpIHsKICAgICAgICAgICAgIGxl
bmd0aCA9IHJlZ0V4cC0+bWF0Y2hlZExlbmd0aCgpOwogICAgICAgICAgICAgaWYgKGxlbmd0aCA+
PSBiZXN0TGVuZ3RoKSB7CkBAIC0yNTcsMTIgKzI1OCwyNSBAQCBOU1N0cmluZyogRnJhbWU6Om1h
dGNoTGFiZWxzQWdhaW5zdEVsZW1lCiAgICAgICAgICAgICBzdGFydCA9IHBvcyArIDE7CiAgICAg
ICAgIH0KICAgICB9IHdoaWxlIChwb3MgIT0gLTEpOwotCisgICAgCiAgICAgaWYgKGJlc3RQb3Mg
IT0gLTEpCi0gICAgICAgIHJldHVybiBuYW1lLnN1YnN0cmluZyhiZXN0UG9zLCBiZXN0TGVuZ3Ro
KTsKKyAgICAgICAgcmV0dXJuIG11dGFibGVTdHJpbmdUb01hdGNoLnN1YnN0cmluZyhiZXN0UG9z
LCBiZXN0TGVuZ3RoKTsKICAgICByZXR1cm4gbmlsOwogfQogCitOU1N0cmluZyogRnJhbWU6Om1h
dGNoTGFiZWxzQWdhaW5zdEVsZW1lbnQoTlNBcnJheSogbGFiZWxzLCBFbGVtZW50KiBlbGVtZW50
KQoreworICAgIC8vIE1hdGNoIGFnYWluc3QgdGhlIG5hbWUgZWxlbWVudCwgdGhlbiBhZ2FpbnN0
IHRoZSBpZCBlbGVtZW50IGlmIG5vIG1hdGNoIGlzIGZvdW5kIGZvciB0aGUgbmFtZSBlbGVtZW50
LgorICAgIC8vIFNlZSA3NTM4MzMwIGZvciBvbmUgcG9wdWxhciBzaXRlIHRoYXQgYmVuZWZpdHMg
ZnJvbSB0aGUgaWQgZWxlbWVudCBjaGVjay4KKyAgICAvLyBGSVhNRTogVGhpcyBjb2RlIGlzIG1p
cnJvcmVkIGluIEZyYW1lLmNwcC4gSXQgd291bGQgYmUgbmljZSB0byBtYWtlIHRoZSBNYWMgY29k
ZSBjYWxsIHRoZSBwbGF0Zm9ybS1hZ25vc3RpYworICAgIC8vIGNvZGUsIHdoaWNoIHdvdWxkIHJl
cXVpcmUgY29udmVydGluZyB0aGUgTlNBcnJheSBvZiBOU1N0cmluZ3MgdG8gYSBWZWN0b3Igb2Yg
U3RyaW5ncyBzb21ld2hlcmUgYWxvbmcgdGhlIHdheS4KKyAgICBTdHJpbmcgcmVzdWx0RnJvbU5h
bWVBdHRyaWJ1dGUgPSBtYXRjaExhYmVsc0FnYWluc3RTdHJpbmcobGFiZWxzLCBlbGVtZW50LT5n
ZXRBdHRyaWJ1dGUobmFtZUF0dHIpKTsKKyAgICBpZiAoIXJlc3VsdEZyb21OYW1lQXR0cmlidXRl
LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHJlc3VsdEZyb21OYW1lQXR0cmlidXRlOworICAg
IAorICAgIHJldHVybiBtYXRjaExhYmVsc0FnYWluc3RTdHJpbmcobGFiZWxzLCBlbGVtZW50LT5n
ZXRBdHRyaWJ1dGUoaWRBdHRyKSk7Cit9CisKIE5TSW1hZ2UqIEZyYW1lOjppbWFnZUZyb21SZWN0
KE5TUmVjdCByZWN0KSBjb25zdAogewogICAgIE5TVmlldyogdmlldyA9IG1fdmlldy0+ZG9jdW1l
bnRWaWV3KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46728</attachid>
            <date>2010-01-15 19:48:30 -0800</date>
            <delta_ts>2010-01-16 10:42:08 -0800</delta_ts>
            <desc>Revised patch that fixes the doubled semicolon.</desc>
            <filename>7538330_patch_2.txt</filename>
            <type>text/plain</type>
            <size>6735</size>
            <attacher name="John Sullivan">sullivan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzM1NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDEtMTUgIEpvaG4gU3VsbGl2YW4gIDxzdWxsaXZhbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMzNzUxIGFuZCA8cmRhcjovL3Byb2JsZW0vNzUzODMzMD4KKyAgICAgICAgWmlwIGNvZGUgZmll
bGQgaXMgbWlzaWRlbnRpZmllZCBhcyBzdHJlZXQgYWRkcmVzcyBiZWNhdXNlIGlkIGF0dHJpYnV0
ZSBpc24ndCBjaGVja2VkLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cy4gSSBiZWxpZXZlIHRoaXMgY29kZSBpcyB1c2VkIG9ubHkg
YnkgU2FmYXJpIEF1dG9GaWxsLCBidXQgaW4gYW55IGNhc2UKKyAgICAgICAgaXQgZG9lcyBub3Qg
YWZmZWN0IHBhZ2UgcmVuZGVyaW5nIG9yIGFueXRoaW5nIGVsc2UgYXQgdGhlIFdlYkNvcmUvV2Vi
S2l0IGxldmVsLgorCisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjptYXRjaExhYmVsc0FnYWluc3RTdHJpbmcpOgorICAgICAgICBOZXcgZnVuY3Rpb24sIHNwbGl0
IG91dCBmcm9tIG1hdGNoTGFiZWxzQWdhaW5zdEVsZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpG
cmFtZTo6bWF0Y2hMYWJlbHNBZ2FpbnN0RWxlbWVudCk6CisgICAgICAgIE5vdyBjYWxscyBtYXRj
aExhYmVsc0FnYWluc3RTdHJpbmcgZm9yIHRoZSBpZCBhdHRyaWJ1dGUgaWYgbm8gbWF0Y2ggaXMg
Zm91bmQgZm9yIHRoZSBuYW1lIGF0dHJpYnV0ZS4KKyAgICAgICAgCisgICAgICAgICogcGFnZS9t
YWMvRnJhbWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjptYXRjaExhYmVsc0FnYWluc3RTdHJp
bmcpOgorICAgICAgICBTYW1lIGFzIGFib3ZlLiBUaGlzIGlzIGEgcGFyYWxsZWwgY29weSBvZiB0
aGUgZnVuY3Rpb24gdXNpbmcgTWFjLXNwZWNpZmljIGRhdGEgc3RydWN0dXJlcy4KKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lOjptYXRjaExhYmVsc0FnYWluc3RFbGVtZW50KToKKyAgICAgICAgRGl0
dG8uCisKIDIwMTAtMDEtMTUgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9raWEuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCShyZXZpc2lvbiA1
MzI3NikKKysrIFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5NCwy
NSArNDk0LDI2IEBAIFN0cmluZyBGcmFtZTo6c2VhcmNoRm9yTGFiZWxzQmVmb3JlRWxlbWUKICAg
ICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLVN0cmluZyBGcmFtZTo6bWF0Y2hMYWJlbHNBZ2FpbnN0
RWxlbWVudChjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFiZWxzLCBFbGVtZW50KiBlbGVtZW50KQor
c3RhdGljIFN0cmluZyBtYXRjaExhYmVsc0FnYWluc3RTdHJpbmcoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGxhYmVscywgY29uc3QgU3RyaW5nJiBzdHJpbmdUb01hdGNoKQogewotICAgIFN0cmluZyBu
YW1lID0gZWxlbWVudC0+Z2V0QXR0cmlidXRlKG5hbWVBdHRyKTsKLSAgICBpZiAobmFtZS5pc0Vt
cHR5KCkpCisgICAgaWYgKHN0cmluZ1RvTWF0Y2guaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4g
U3RyaW5nKCk7CiAKLSAgICAvLyBNYWtlIG51bWJlcnMgYW5kIF8ncyBpbiBmaWVsZCBuYW1lcyBi
ZWhhdmUgbGlrZSB3b3JkIGJvdW5kYXJpZXMsIGUuZy4sICJhZGRyZXNzMiIKLSAgICByZXBsYWNl
KG5hbWUsIFJlZ3VsYXJFeHByZXNzaW9uKCJcXGQiLCBUZXh0Q2FzZVNlbnNpdGl2ZSksICIgIik7
Ci0gICAgbmFtZS5yZXBsYWNlKCdfJywgJyAnKTsKKyAgICBTdHJpbmcgbXV0YWJsZVN0cmluZ1Rv
TWF0Y2ggPSBzdHJpbmdUb01hdGNoOwogCisgICAgLy8gTWFrZSBudW1iZXJzIGFuZCBfJ3MgaW4g
ZmllbGQgbmFtZXMgYmVoYXZlIGxpa2Ugd29yZCBib3VuZGFyaWVzLCBlLmcuLCAiYWRkcmVzczIi
CisgICAgcmVwbGFjZShtdXRhYmxlU3RyaW5nVG9NYXRjaCwgUmVndWxhckV4cHJlc3Npb24oIlxc
ZCIsIFRleHRDYXNlU2Vuc2l0aXZlKSwgIiAiKTsKKyAgICBtdXRhYmxlU3RyaW5nVG9NYXRjaC5y
ZXBsYWNlKCdfJywgJyAnKTsKKyAgICAKICAgICBPd25QdHI8UmVndWxhckV4cHJlc3Npb24+IHJl
Z0V4cChjcmVhdGVSZWdFeHBGb3JMYWJlbHMobGFiZWxzKSk7Ci0gICAgLy8gVXNlIHRoZSBsYXJn
ZXN0IG1hdGNoIHdlIGNhbiBmaW5kIGluIHRoZSB3aG9sZSBuYW1lIHN0cmluZworICAgIC8vIFVz
ZSB0aGUgbGFyZ2VzdCBtYXRjaCB3ZSBjYW4gZmluZCBpbiB0aGUgd2hvbGUgc3RyaW5nCiAgICAg
aW50IHBvczsKICAgICBpbnQgbGVuZ3RoOwogICAgIGludCBiZXN0UG9zID0gLTE7CiAgICAgaW50
IGJlc3RMZW5ndGggPSAtMTsKICAgICBpbnQgc3RhcnQgPSAwOwogICAgIGRvIHsKLSAgICAgICAg
cG9zID0gcmVnRXhwLT5tYXRjaChuYW1lLCBzdGFydCk7CisgICAgICAgIHBvcyA9IHJlZ0V4cC0+
bWF0Y2gobXV0YWJsZVN0cmluZ1RvTWF0Y2gsIHN0YXJ0KTsKICAgICAgICAgaWYgKHBvcyAhPSAt
MSkgewogICAgICAgICAgICAgbGVuZ3RoID0gcmVnRXhwLT5tYXRjaGVkTGVuZ3RoKCk7CiAgICAg
ICAgICAgICBpZiAobGVuZ3RoID49IGJlc3RMZW5ndGgpIHsKQEAgLTUyMiwxMSArNTIzLDI0IEBA
IFN0cmluZyBGcmFtZTo6bWF0Y2hMYWJlbHNBZ2FpbnN0RWxlbWVudCgKICAgICAgICAgICAgIHN0
YXJ0ID0gcG9zICsgMTsKICAgICAgICAgfQogICAgIH0gd2hpbGUgKHBvcyAhPSAtMSk7Ci0KKyAg
ICAKICAgICBpZiAoYmVzdFBvcyAhPSAtMSkKLSAgICAgICAgcmV0dXJuIG5hbWUuc3Vic3RyaW5n
KGJlc3RQb3MsIGJlc3RMZW5ndGgpOworICAgICAgICByZXR1cm4gbXV0YWJsZVN0cmluZ1RvTWF0
Y2guc3Vic3RyaW5nKGJlc3RQb3MsIGJlc3RMZW5ndGgpOwogICAgIHJldHVybiBTdHJpbmcoKTsK
IH0KKyAgICAKK1N0cmluZyBGcmFtZTo6bWF0Y2hMYWJlbHNBZ2FpbnN0RWxlbWVudChjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgbGFiZWxzLCBFbGVtZW50KiBlbGVtZW50KQoreworICAgIC8vIE1hdGNo
IGFnYWluc3QgdGhlIG5hbWUgZWxlbWVudCwgdGhlbiBhZ2FpbnN0IHRoZSBpZCBlbGVtZW50IGlm
IG5vIG1hdGNoIGlzIGZvdW5kIGZvciB0aGUgbmFtZSBlbGVtZW50LgorICAgIC8vIFNlZSA3NTM4
MzMwIGZvciBvbmUgcG9wdWxhciBzaXRlIHRoYXQgYmVuZWZpdHMgZnJvbSB0aGUgaWQgZWxlbWVu
dCBjaGVjay4KKyAgICAvLyBGSVhNRTogVGhpcyBjb2RlIGlzIG1pcnJvcmVkIGluIEZyYW1lTWFj
Lm1tLiBJdCB3b3VsZCBiZSBuaWNlIHRvIG1ha2UgdGhlIE1hYyBjb2RlIGNhbGwgdGhlIHBsYXRm
b3JtLWFnbm9zdGljCisgICAgLy8gY29kZSwgd2hpY2ggd291bGQgcmVxdWlyZSBjb252ZXJ0aW5n
IHRoZSBOU0FycmF5IG9mIE5TU3RyaW5ncyB0byBhIFZlY3RvciBvZiBTdHJpbmdzIHNvbWV3aGVy
ZSBhbG9uZyB0aGUgd2F5LgorICAgIFN0cmluZyByZXN1bHRGcm9tTmFtZUF0dHJpYnV0ZSA9IG1h
dGNoTGFiZWxzQWdhaW5zdFN0cmluZyhsYWJlbHMsIGVsZW1lbnQtPmdldEF0dHJpYnV0ZShuYW1l
QXR0cikpOworICAgIGlmICghcmVzdWx0RnJvbU5hbWVBdHRyaWJ1dGUuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4gcmVzdWx0RnJvbU5hbWVBdHRyaWJ1dGU7CisgICAgCisgICAgcmV0dXJuIG1h
dGNoTGFiZWxzQWdhaW5zdFN0cmluZyhsYWJlbHMsIGVsZW1lbnQtPmdldEF0dHJpYnV0ZShpZEF0
dHIpKTsKK30KIAogY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgRnJhbWU6Om1hcmsoKSBjb25zdAog
ewpJbmRleDogV2ViQ29yZS9wYWdlL21hYy9GcmFtZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BhZ2UvbWFjL0ZyYW1lTWFjLm1tCShyZXZpc2lvbiA1MzI3NikKKysrIFdlYkNvcmUvcGFn
ZS9tYWMvRnJhbWVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTIyOSwyNSArMjI5LDI2IEBAIE5T
U3RyaW5nKiBGcmFtZTo6c2VhcmNoRm9yTGFiZWxzQmVmb3JlRWwKICAgICByZXR1cm4gbmlsOwog
fQogCi1OU1N0cmluZyogRnJhbWU6Om1hdGNoTGFiZWxzQWdhaW5zdEVsZW1lbnQoTlNBcnJheSog
bGFiZWxzLCBFbGVtZW50KiBlbGVtZW50KQorc3RhdGljIE5TU3RyaW5nICptYXRjaExhYmVsc0Fn
YWluc3RTdHJpbmcoTlNBcnJheSAqbGFiZWxzLCBjb25zdCBTdHJpbmcmIHN0cmluZ1RvTWF0Y2gp
CiB7Ci0gICAgU3RyaW5nIG5hbWUgPSBlbGVtZW50LT5nZXRBdHRyaWJ1dGUobmFtZUF0dHIpOwot
ICAgIGlmIChuYW1lLmlzRW1wdHkoKSkKKyAgICBpZiAoc3RyaW5nVG9NYXRjaC5pc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybiBuaWw7Ci0KKyAgICAKKyAgICBTdHJpbmcgbXV0YWJsZVN0cmluZ1Rv
TWF0Y2ggPSBzdHJpbmdUb01hdGNoOworICAgIAogICAgIC8vIE1ha2UgbnVtYmVycyBhbmQgXydz
IGluIGZpZWxkIG5hbWVzIGJlaGF2ZSBsaWtlIHdvcmQgYm91bmRhcmllcywgZS5nLiwgImFkZHJl
c3MyIgotICAgIHJlcGxhY2UobmFtZSwgUmVndWxhckV4cHJlc3Npb24oIlxcZCIsIFRleHRDYXNl
U2Vuc2l0aXZlKSwgIiAiKTsKLSAgICBuYW1lLnJlcGxhY2UoJ18nLCAnICcpOwotCisgICAgcmVw
bGFjZShtdXRhYmxlU3RyaW5nVG9NYXRjaCwgUmVndWxhckV4cHJlc3Npb24oIlxcZCIsIFRleHRD
YXNlU2Vuc2l0aXZlKSwgIiAiKTsKKyAgICBtdXRhYmxlU3RyaW5nVG9NYXRjaC5yZXBsYWNlKCdf
JywgJyAnKTsKKyAgICAKICAgICBSZWd1bGFyRXhwcmVzc2lvbiogcmVnRXhwID0gcmVnRXhwRm9y
TGFiZWxzKGxhYmVscyk7Ci0gICAgLy8gVXNlIHRoZSBsYXJnZXN0IG1hdGNoIHdlIGNhbiBmaW5k
IGluIHRoZSB3aG9sZSBuYW1lIHN0cmluZworICAgIC8vIFVzZSB0aGUgbGFyZ2VzdCBtYXRjaCB3
ZSBjYW4gZmluZCBpbiB0aGUgd2hvbGUgc3RyaW5nCiAgICAgaW50IHBvczsKICAgICBpbnQgbGVu
Z3RoOwogICAgIGludCBiZXN0UG9zID0gLTE7CiAgICAgaW50IGJlc3RMZW5ndGggPSAtMTsKICAg
ICBpbnQgc3RhcnQgPSAwOwogICAgIGRvIHsKLSAgICAgICAgcG9zID0gcmVnRXhwLT5tYXRjaChu
YW1lLCBzdGFydCk7CisgICAgICAgIHBvcyA9IHJlZ0V4cC0+bWF0Y2gobXV0YWJsZVN0cmluZ1Rv
TWF0Y2gsIHN0YXJ0KTsKICAgICAgICAgaWYgKHBvcyAhPSAtMSkgewogICAgICAgICAgICAgbGVu
Z3RoID0gcmVnRXhwLT5tYXRjaGVkTGVuZ3RoKCk7CiAgICAgICAgICAgICBpZiAobGVuZ3RoID49
IGJlc3RMZW5ndGgpIHsKQEAgLTI1NywxMiArMjU4LDI1IEBAIE5TU3RyaW5nKiBGcmFtZTo6bWF0
Y2hMYWJlbHNBZ2FpbnN0RWxlbWUKICAgICAgICAgICAgIHN0YXJ0ID0gcG9zICsgMTsKICAgICAg
ICAgfQogICAgIH0gd2hpbGUgKHBvcyAhPSAtMSk7Ci0KKyAgICAKICAgICBpZiAoYmVzdFBvcyAh
PSAtMSkKLSAgICAgICAgcmV0dXJuIG5hbWUuc3Vic3RyaW5nKGJlc3RQb3MsIGJlc3RMZW5ndGgp
OworICAgICAgICByZXR1cm4gbXV0YWJsZVN0cmluZ1RvTWF0Y2guc3Vic3RyaW5nKGJlc3RQb3Ms
IGJlc3RMZW5ndGgpOwogICAgIHJldHVybiBuaWw7CiB9CiAKK05TU3RyaW5nKiBGcmFtZTo6bWF0
Y2hMYWJlbHNBZ2FpbnN0RWxlbWVudChOU0FycmF5KiBsYWJlbHMsIEVsZW1lbnQqIGVsZW1lbnQp
Cit7CisgICAgLy8gTWF0Y2ggYWdhaW5zdCB0aGUgbmFtZSBlbGVtZW50LCB0aGVuIGFnYWluc3Qg
dGhlIGlkIGVsZW1lbnQgaWYgbm8gbWF0Y2ggaXMgZm91bmQgZm9yIHRoZSBuYW1lIGVsZW1lbnQu
CisgICAgLy8gU2VlIDc1MzgzMzAgZm9yIG9uZSBwb3B1bGFyIHNpdGUgdGhhdCBiZW5lZml0cyBm
cm9tIHRoZSBpZCBlbGVtZW50IGNoZWNrLgorICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgaXMgbWly
cm9yZWQgaW4gRnJhbWUuY3BwLiBJdCB3b3VsZCBiZSBuaWNlIHRvIG1ha2UgdGhlIE1hYyBjb2Rl
IGNhbGwgdGhlIHBsYXRmb3JtLWFnbm9zdGljCisgICAgLy8gY29kZSwgd2hpY2ggd291bGQgcmVx
dWlyZSBjb252ZXJ0aW5nIHRoZSBOU0FycmF5IG9mIE5TU3RyaW5ncyB0byBhIFZlY3RvciBvZiBT
dHJpbmdzIHNvbWV3aGVyZSBhbG9uZyB0aGUgd2F5LgorICAgIFN0cmluZyByZXN1bHRGcm9tTmFt
ZUF0dHJpYnV0ZSA9IG1hdGNoTGFiZWxzQWdhaW5zdFN0cmluZyhsYWJlbHMsIGVsZW1lbnQtPmdl
dEF0dHJpYnV0ZShuYW1lQXR0cikpOworICAgIGlmICghcmVzdWx0RnJvbU5hbWVBdHRyaWJ1dGUu
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gcmVzdWx0RnJvbU5hbWVBdHRyaWJ1dGU7CisgICAg
CisgICAgcmV0dXJuIG1hdGNoTGFiZWxzQWdhaW5zdFN0cmluZyhsYWJlbHMsIGVsZW1lbnQtPmdl
dEF0dHJpYnV0ZShpZEF0dHIpKTsKK30KKwogTlNJbWFnZSogRnJhbWU6OmltYWdlRnJvbVJlY3Qo
TlNSZWN0IHJlY3QpIGNvbnN0CiB7CiAgICAgTlNWaWV3KiB2aWV3ID0gbV92aWV3LT5kb2N1bWVu
dFZpZXcoKTsK
</data>
<flag name="review"
          id="29034"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>