<?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>93544</bug_id>
          
          <creation_ts>2012-08-08 16:04:24 -0700</creation_ts>
          <short_desc>Google search query text reverts to original search query after multiple searches</short_desc>
          <delta_ts>2012-08-09 10:07:32 -0700</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>All</rep_platform>
          <op_sys>All</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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>mifenton</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>690864</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-08 16:04:24 -0700</bug_when>
    <thetext>Google search query text reverts to original search query after multiple searches

1 - Searches google by typing a query into the smart search field of Safari (&quot;WebKit&quot; for example)
2 - On the resulting page of search results, highlight the in page form field and change their search query (&quot;Kittens&quot; for example) and hit enter.
3 - On that resulting page of search results, click the top link.
4 - Then click back.

You&apos;re looking at the search results for &quot;Kittens&quot; which is expected, but the form field says &quot;WebKit&quot;

This is because of the following:
-The form field has autocomplete=off
-The html markup for the form field has an original, default value value=&quot;WebKit&quot;
-The search results page goes in to the page cache
-When the user clicks &quot;back&quot;, we notify the form element and - since it has autocomplete=&quot;off&quot;, the filled in value &quot;Kittens&quot; is cleared
-Since there is no current filled-in value, WebCore falls back to the default value of &quot;WebKit&quot; which comes from the markup.

From the perspect of &quot;autocomplete=off to avoid form autofill features&quot;, the usage makes sense.
But from the perspective of &quot;autocomplete=off to flag a field with sensitive information that should be cleared&quot; - like finanicial institutions do and why we have this rule with the page cache - it seems bizarre to have it applied to a field with a default value.

I proposed that text fields *with* default values should *not* have autocomplete=off force them into clearing the current value when being restored from the page cache.  Patch forthcoming.

In radar as &lt;rdar://problem/10800686&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690899</commentid>
    <comment_count>1</comment_count>
      <attachid>157328</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-08 16:30:42 -0700</bug_when>
    <thetext>Created attachment 157328
Patch v1 - Fix + layouttest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690916</commentid>
    <comment_count>2</comment_count>
      <attachid>157328</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-08-08 16:41:33 -0700</bug_when>
    <thetext>Comment on attachment 157328
Patch v1 - Fix + layouttest

View in context: https://bugs.webkit.org/attachment.cgi?id=157328&amp;action=review

&gt; Source/WebCore/html/HTMLInputElement.cpp:816
&gt; +    if (m_inputType-&gt;storesValueSeparateFromAttribute()) {
&gt; +        // We usually reset values to the empty string to clear out sensitive fields when restoring from the page cache.
&gt; +        // But if the input type is textual with autocomplete=off and the defaultValue is non-empty it doesn&apos;t make sense
&gt; +        // to fallback to the default value. So we&apos;ll relax the rule in those instances.
&gt; +        if (!m_inputType-&gt;isTextType() || getAttribute(autocompleteAttr) != &quot;off&quot; || defaultValue().isEmpty())
&gt; +            setValue(String());
&gt; +    }

This seems like too low a level for this check. I don’t see how this reset function is supposed to know that it’s being called as part of clearing out a sensitive field. It could be used for other purposes. I’d like to see the fix done at another level. Even if there has to be some logic here, it should be driven by what function is being called or by a function argument, not just a guess.

The autocompleteAttr logic here also seems suspect. I’d expect it to be fastGetAttribute rather than getAttribute and I would not expect the string &quot;off&quot; to be hard coded. Does this match how other call sites check the autocomplete attribute?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690968</commentid>
    <comment_count>3</comment_count>
      <attachid>157342</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-08 17:09:55 -0700</bug_when>
    <thetext>Created attachment 157342
Patch v2 - Much better</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691004</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-08 17:34:37 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/125124</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691303</commentid>
    <comment_count>5</comment_count>
      <attachid>157342</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-08-09 00:43:36 -0700</bug_when>
    <thetext>Comment on attachment 157342
Patch v2 - Much better

View in context: https://bugs.webkit.org/attachment.cgi?id=157342&amp;action=review

&gt; Source/WebCore/html/HTMLInputElement.cpp:1396
&gt; +    bool isSensitive = m_autocomplete == Off &amp;&amp; !(m_inputType-&gt;isTextType() &amp;&amp; !defaultValue().isEmpty());

IMO, this check and InputType::shouldResetOnDocumentActivation() should be integrated to single virtual function of InputType.
Tel, email, url, number, range, date, datetime, datetime-local, month, time, week types should be handled similarly, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691532</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-09 10:07:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 157342 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=157342&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLInputElement.cpp:1396
&gt; &gt; +    bool isSensitive = m_autocomplete == Off &amp;&amp; !(m_inputType-&gt;isTextType() &amp;&amp; !defaultValue().isEmpty());
&gt; 
&gt; IMO, this check and InputType::shouldResetOnDocumentActivation() should be integrated to single virtual function of InputType.

That came to mind, and is quite reasonable.

&gt; Tel, email, url, number, range, date, datetime, datetime-local, month, time, week types should be handled similarly, right?

Since this bug represented one specific symptom at one specific site and since this has been a sensitive area in the past I chose to be conservative for this one change set.

I agree with you in principle and think that a separate change set that both moves the check to an InputType virtualized function and expands the scope to many more (all?) input types would be great - It should be in a separate, broader bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157328</attachid>
            <date>2012-08-08 16:30:42 -0700</date>
            <delta_ts>2012-08-08 17:09:55 -0700</delta_ts>
            <desc>Patch v1 - Fix + layouttest</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5181</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZDBlZmQ4Li44MmIxMzViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDgt
MDggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEdvb2dsZSBz
ZWFyY2ggcXVlcnkgdGV4dCByZXZlcnRzIHRvIG9yaWdpbmFsIHNlYXJjaCBxdWVyeSBhZnRlciBt
dWx0aXBsZSBzZWFyY2hlcworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA4MDA2ODY+IGFuZCBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM1NDQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2Nv
bXBsZXRlLW9mZi13aXRoLWRlZmF1bHQtdmFsdWUtZG9lcy1ub3QtY2xlYXItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9jb21wbGV0ZS1vZmYtd2l0aC1kZWZh
dWx0LXZhbHVlLWRvZXMtbm90LWNsZWFyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvcmVzb3VyY2VzL2dvLWJhY2suaHRtbDogQWRkZWQuCisKIDIwMTItMDgtMDMgIEJyYWR5IEVp
ZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE91dC1vZi1wcm9jZXNzIHBsdWct
aW5zIHNob3VsZCBzdXBwb3J0IGFzeW5jaHJvbm91cyBpbml0aWFsaXphdGlvbgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvY29tcGxldGUtb2ZmLXdpdGgtZGVmYXVsdC12
YWx1ZS1kb2VzLW5vdC1jbGVhci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9jb21wbGV0ZS1vZmYtd2l0aC1kZWZhdWx0LXZhbHVlLWRvZXMtbm90LWNsZWFyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmE3OTZhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvY29tcGxldGUtb2ZmLXdp
dGgtZGVmYXVsdC12YWx1ZS1kb2VzLW5vdC1jbGVhci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACitUaGlzIHBhZ2UgaGFzIGEgdGV4dCBpbnB1dCBlbGVtZW50IHdpdGggYSBkZWZhdWx0IHZh
bHVlIGFuZCBhdXRvY29tcGxldGUgc2V0IHRvIG9mZi4gV2hlbiByZXN0b3JlZCBmcm9tIHRoZSBw
YWdlIGNhY2hlIGl0cyB2YWx1ZSBzaG91bGQgKm5vdCogYmUgY2xlYXJlZC4KKworU29tZU5vbkRl
ZmF1bHRWYWx1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvY29tcGxl
dGUtb2ZmLXdpdGgtZGVmYXVsdC12YWx1ZS1kb2VzLW5vdC1jbGVhci5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvY29tcGxldGUtb2ZmLXdpdGgtZGVmYXVsdC12YWx1ZS1kb2VzLW5v
dC1jbGVhci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0ZDA3NjIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9jb21wbGV0ZS1v
ZmYtd2l0aC1kZWZhdWx0LXZhbHVlLWRvZXMtbm90LWNsZWFyLmh0bWwKQEAgLTAsMCArMSwzMyBA
QAorPHNjcmlwdD4KKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisJdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CisJ
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisJdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9
CisKK2Z1bmN0aW9uIGxvYWRlZCgpCit7CisJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RJ
bnB1dCIpLnZhbHVlID0gIlNvbWVOb25EZWZhdWx0VmFsdWUiOworCXNldFRpbWVvdXQoImxvY2F0
aW9uLmhyZWYgPSAncmVzb3VyY2VzL2dvLWJhY2suaHRtbCciLCAwKTsKK30KKworZnVuY3Rpb24g
cGFnZVNob3duKGV2dCkKK3sKKwlpZiAoZXZ0LnBlcnNpc3RlZCkKKwkJc2V0VGltZW91dCgiZmlu
aXNoVXAoKSIsIDApOworfQorCitmdW5jdGlvbiBmaW5pc2hVcCgpCit7CisJZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImxvZ2dlciIpLmlubmVyVGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXN0SW5wdXQiKS52YWx1ZTsKKwlpZiAod2luZG93LnRlc3RSdW5uZXIpCisJCXRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworfQorCis8L3NjcmlwdD4KKzxib2R5IG9ubG9hZD0ibG9hZGVkKCki
IG9ucGFnZXNob3c9InBhZ2VTaG93bihldmVudCkiPgorVGhpcyBwYWdlIGhhcyBhIHRleHQgaW5w
dXQgZWxlbWVudCB3aXRoIGEgZGVmYXVsdCB2YWx1ZSBhbmQgYXV0b2NvbXBsZXRlIHNldCB0byBv
ZmYuICBXaGVuIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUgaXRzIHZhbHVlIHNob3VsZCAq
bm90KiBiZSBjbGVhcmVkLjxicj4KKzxpbnB1dCBpZD0idGVzdElucHV0IiB0eXBlPSJ0ZXN0IiBh
dXRvY29tcGxldGU9Im9mZiIgdmFsdWU9IkRlZmF1bHRWYWx1ZSI+Cis8ZGl2IGlkPSJsb2dnZXIi
PjwvZGl2PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNv
dXJjZXMvZ28tYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvZ28t
YmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhY2QxMmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9nby1iYWNr
Lmh0bWwKQEAgLTAsMCArMSwzIEBACis8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ2hpc3Rvcnku
YmFjaygpOycsIDApOyI+CitHb2luZyBiYWNrLi4uCis8L2JvZHk+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmNm
NTM1ZS4uODkzOGIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA4LTA4ICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBHb29nbGUgc2VhcmNo
IHF1ZXJ5IHRleHQgcmV2ZXJ0cyB0byBvcmlnaW5hbCBzZWFyY2ggcXVlcnkgYWZ0ZXIgbXVsdGlw
bGUgc2VhcmNoZXMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwODAwNjg2PiBhbmQgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzNTQ0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9yIHNlY3VyaXR5IHNlbnNpdGl2ZSBm
aWVsZHMgd2Ugbm9ybWFsbHkgY2xlYXIgImF1dG9jb21wbGV0ZT1vZmYiIGZvcm0gZWxlbWVudHMg
d2hlbgorICAgICAgICByZXN0b3JpbmcgYSBwYWdlIGZyb20gdGhlIHBhZ2UgY2FjaGUuCisgICAg
ICAgIAorICAgICAgICBJZiB0aGUgZWxlbWVudCBpcyB0ZXh0dWFsIGFuZCBoYXMgYSBkZWZhdWx0
VmFsdWUgdGhlbiAiY2xlYXJpbmciIGl0IGFjdHVhbGx5IHJlc3RvcmVzIAorICAgICAgICB0aGUg
ZGVmYXVsdCB2YWx1ZS4KKyAgICAgICAgCisgICAgICAgIFRoZXJlJ3Mgbm8gc2NlbmFyaW8gd2Ug
Y2FuIGltYWdpbmUgd2hlcmUgdGhhdCBtYWtlcyBzZW5zZSBzbyB3ZSBzaG91bGQgbm90IHJlc2V0
IHRoZSAKKyAgICAgICAgdmFsdWUgaW4gc3VjaCBmaWVsZHMuCisKKyAgICAgICAgVGVzdDogZmFz
dC9mb3Jtcy9hdXRvY29tcGxldGUtb2ZmLXdpdGgtZGVmYXVsdC12YWx1ZS1kb2VzLW5vdC1jbGVh
ci5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmVzZXQpOiBEb24ndCBjbGVhciB0aGUgdmFsdWUg
Zm9yIHRleHQgZmllbGRzIHdpdGgKKyAgICAgICAgICBhdXRvY29tcGxldGU9b2ZmIHRoYXQgYWxz
byBoYXZlIGEgZGVmYXVsdCB2YWx1ZS4KKwogMjAxMi0wOC0wNiAgQmV0aCBEYWtpbiAgPGJkYWtp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTkzMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRl
eCAyYmIxZmVkLi5mZmM1Yzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKQEAgLTgwNyw4ICs4MDcsMTMgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjphcHBlbmRG
b3JtRGF0YShGb3JtRGF0YUxpc3QmIGVuY29kaW5nLCBib29sIG11bHRpcGFydCkKIAogdm9pZCBI
VE1MSW5wdXRFbGVtZW50OjpyZXNldCgpCiB7Ci0gICAgaWYgKG1faW5wdXRUeXBlLT5zdG9yZXNW
YWx1ZVNlcGFyYXRlRnJvbUF0dHJpYnV0ZSgpKQotICAgICAgICBzZXRWYWx1ZShTdHJpbmcoKSk7
CisgICAgaWYgKG1faW5wdXRUeXBlLT5zdG9yZXNWYWx1ZVNlcGFyYXRlRnJvbUF0dHJpYnV0ZSgp
KSB7CisgICAgICAgIC8vIFdlIHVzdWFsbHkgcmVzZXQgdmFsdWVzIHRvIHRoZSBlbXB0eSBzdHJp
bmcgdG8gY2xlYXIgb3V0IHNlbnNpdGl2ZSBmaWVsZHMgd2hlbiByZXN0b3JpbmcgZnJvbSB0aGUg
cGFnZSBjYWNoZS4KKyAgICAgICAgLy8gQnV0IGlmIHRoZSBpbnB1dCB0eXBlIGlzIHRleHR1YWwg
d2l0aCBhdXRvY29tcGxldGU9b2ZmIGFuZCB0aGUgZGVmYXVsdFZhbHVlIGlzIG5vbi1lbXB0eSBp
dCBkb2Vzbid0IG1ha2Ugc2Vuc2UKKyAgICAgICAgLy8gdG8gZmFsbGJhY2sgdG8gdGhlIGRlZmF1
bHQgdmFsdWUuIFNvIHdlJ2xsIHJlbGF4IHRoZSBydWxlIGluIHRob3NlIGluc3RhbmNlcy4KKyAg
ICAgICAgaWYgKCFtX2lucHV0VHlwZS0+aXNUZXh0VHlwZSgpIHx8IGdldEF0dHJpYnV0ZShhdXRv
Y29tcGxldGVBdHRyKSAhPSAib2ZmIiB8fCBkZWZhdWx0VmFsdWUoKS5pc0VtcHR5KCkpCisgICAg
ICAgICAgICBzZXRWYWx1ZShTdHJpbmcoKSk7CisgICAgfQogCiAgICAgc2V0QXV0b2ZpbGxlZChm
YWxzZSk7CiAgICAgc2V0Q2hlY2tlZChoYXNBdHRyaWJ1dGUoY2hlY2tlZEF0dHIpKTsK
</data>
<flag name="review"
          id="167216"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157342</attachid>
            <date>2012-08-08 17:09:55 -0700</date>
            <delta_ts>2012-08-09 00:43:36 -0700</delta_ts>
            <desc>Patch v2 - Much better</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>6102</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZDBlZmQ4Li44MmIxMzViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDgt
MDggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEdvb2dsZSBz
ZWFyY2ggcXVlcnkgdGV4dCByZXZlcnRzIHRvIG9yaWdpbmFsIHNlYXJjaCBxdWVyeSBhZnRlciBt
dWx0aXBsZSBzZWFyY2hlcworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA4MDA2ODY+IGFuZCBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM1NDQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2Nv
bXBsZXRlLW9mZi13aXRoLWRlZmF1bHQtdmFsdWUtZG9lcy1ub3QtY2xlYXItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9jb21wbGV0ZS1vZmYtd2l0aC1kZWZh
dWx0LXZhbHVlLWRvZXMtbm90LWNsZWFyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvcmVzb3VyY2VzL2dvLWJhY2suaHRtbDogQWRkZWQuCisKIDIwMTItMDgtMDMgIEJyYWR5IEVp
ZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE91dC1vZi1wcm9jZXNzIHBsdWct
aW5zIHNob3VsZCBzdXBwb3J0IGFzeW5jaHJvbm91cyBpbml0aWFsaXphdGlvbgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvY29tcGxldGUtb2ZmLXdpdGgtZGVmYXVsdC12
YWx1ZS1kb2VzLW5vdC1jbGVhci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9jb21wbGV0ZS1vZmYtd2l0aC1kZWZhdWx0LXZhbHVlLWRvZXMtbm90LWNsZWFyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmE3OTZhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvY29tcGxldGUtb2ZmLXdp
dGgtZGVmYXVsdC12YWx1ZS1kb2VzLW5vdC1jbGVhci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACitUaGlzIHBhZ2UgaGFzIGEgdGV4dCBpbnB1dCBlbGVtZW50IHdpdGggYSBkZWZhdWx0IHZh
bHVlIGFuZCBhdXRvY29tcGxldGUgc2V0IHRvIG9mZi4gV2hlbiByZXN0b3JlZCBmcm9tIHRoZSBw
YWdlIGNhY2hlIGl0cyB2YWx1ZSBzaG91bGQgKm5vdCogYmUgY2xlYXJlZC4KKworU29tZU5vbkRl
ZmF1bHRWYWx1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvY29tcGxl
dGUtb2ZmLXdpdGgtZGVmYXVsdC12YWx1ZS1kb2VzLW5vdC1jbGVhci5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvY29tcGxldGUtb2ZmLXdpdGgtZGVmYXVsdC12YWx1ZS1kb2VzLW5v
dC1jbGVhci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0ZDA3NjIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9jb21wbGV0ZS1v
ZmYtd2l0aC1kZWZhdWx0LXZhbHVlLWRvZXMtbm90LWNsZWFyLmh0bWwKQEAgLTAsMCArMSwzMyBA
QAorPHNjcmlwdD4KKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisJdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CisJ
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisJdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9
CisKK2Z1bmN0aW9uIGxvYWRlZCgpCit7CisJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RJ
bnB1dCIpLnZhbHVlID0gIlNvbWVOb25EZWZhdWx0VmFsdWUiOworCXNldFRpbWVvdXQoImxvY2F0
aW9uLmhyZWYgPSAncmVzb3VyY2VzL2dvLWJhY2suaHRtbCciLCAwKTsKK30KKworZnVuY3Rpb24g
cGFnZVNob3duKGV2dCkKK3sKKwlpZiAoZXZ0LnBlcnNpc3RlZCkKKwkJc2V0VGltZW91dCgiZmlu
aXNoVXAoKSIsIDApOworfQorCitmdW5jdGlvbiBmaW5pc2hVcCgpCit7CisJZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImxvZ2dlciIpLmlubmVyVGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXN0SW5wdXQiKS52YWx1ZTsKKwlpZiAod2luZG93LnRlc3RSdW5uZXIpCisJCXRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworfQorCis8L3NjcmlwdD4KKzxib2R5IG9ubG9hZD0ibG9hZGVkKCki
IG9ucGFnZXNob3c9InBhZ2VTaG93bihldmVudCkiPgorVGhpcyBwYWdlIGhhcyBhIHRleHQgaW5w
dXQgZWxlbWVudCB3aXRoIGEgZGVmYXVsdCB2YWx1ZSBhbmQgYXV0b2NvbXBsZXRlIHNldCB0byBv
ZmYuICBXaGVuIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUgaXRzIHZhbHVlIHNob3VsZCAq
bm90KiBiZSBjbGVhcmVkLjxicj4KKzxpbnB1dCBpZD0idGVzdElucHV0IiB0eXBlPSJ0ZXN0IiBh
dXRvY29tcGxldGU9Im9mZiIgdmFsdWU9IkRlZmF1bHRWYWx1ZSI+Cis8ZGl2IGlkPSJsb2dnZXIi
PjwvZGl2PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNv
dXJjZXMvZ28tYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvZ28t
YmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhY2QxMmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9nby1iYWNr
Lmh0bWwKQEAgLTAsMCArMSwzIEBACis8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ2hpc3Rvcnku
YmFjaygpOycsIDApOyI+CitHb2luZyBiYWNrLi4uCis8L2JvZHk+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmNm
NTM1ZS4uZjg3YWI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA4LTA4ICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBHb29nbGUgc2VhcmNo
IHF1ZXJ5IHRleHQgcmV2ZXJ0cyB0byBvcmlnaW5hbCBzZWFyY2ggcXVlcnkgYWZ0ZXIgbXVsdGlw
bGUgc2VhcmNoZXMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwODAwNjg2PiBhbmQgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzNTQ0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9yIHNlY3VyaXR5IHNlbnNpdGl2ZSBm
aWVsZHMgd2Ugbm9ybWFsbHkgY2xlYXIgImF1dG9jb21wbGV0ZT1vZmYiIGZvcm0gZWxlbWVudHMg
d2hlbgorICAgICAgICByZXN0b3JpbmcgYSBwYWdlIGZyb20gdGhlIHBhZ2UgY2FjaGUuCisgICAg
ICAgIAorICAgICAgICBJZiB0aGUgZWxlbWVudCBpcyB0ZXh0dWFsIGFuZCBoYXMgYSBkZWZhdWx0
VmFsdWUgdGhlbiAiY2xlYXJpbmciIGl0IGFjdHVhbGx5IHJlc3RvcmVzIAorICAgICAgICB0aGUg
ZGVmYXVsdCB2YWx1ZS4KKyAgICAgICAgCisgICAgICAgIFRoZXJlJ3Mgbm8gc2NlbmFyaW8gd2Ug
Y2FuIGltYWdpbmUgd2hlcmUgdGhhdCBtYWtlcyBzZW5zZSBzbyB3ZSBzaG91bGQgbm90IHJlc2V0
IHRoZSAKKyAgICAgICAgdmFsdWUgaW4gc3VjaCBmaWVsZHMuCisKKyAgICAgICAgVGVzdDogZmFz
dC9mb3Jtcy9hdXRvY29tcGxldGUtb2ZmLXdpdGgtZGVmYXVsdC12YWx1ZS1kb2VzLW5vdC1jbGVh
ci5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBVcGRhdGUgc3VzcGVu
c2lvbiBjYWxsYmFjayByZWdpc3RyYXRpb24gYXMgbmVlZGVkLgorICAgICAgICAoV2ViQ29yZTo6
SFRNTElucHV0RWxlbWVudDo6bmVlZHNTdXNwZW5zaW9uQ2FsbGJhY2spOiBEb24ndCByZXNldCB0
ZXh0IGZpZWxkcyB3aXRoIGEgbm9uLWVtcHR5IGRlZmF1bHQgdmFsdWUuCisKIDIwMTItMDgtMDYg
IEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzE5OQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKaW5kZXggMmJiMWZlZC4uZTA3MDY3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC02MjYsNiArNjI2LDEyIEBAIHZvaWQgSFRNTElu
cHV0RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpCiAg
ICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IHR5cGVBdHRyKSB7CiAgICAgICAgIHVw
ZGF0ZVR5cGUoKTsKICAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gdmFsdWVBdHRy
KSB7CisgICAgICAgIC8vIENoYW5nZXMgdG8gdGhlIHZhbHVlIGF0dHJpYnV0ZSBtYXkgY2hhbmdl
IHdoZXRoZXIgb3Igbm90IHRoaXMgZWxlbWVudCBoYXMgYSBkZWZhdWx0IHZhbHVlLgorICAgICAg
ICAvLyBJZiB0aGlzIGZpZWxkIGlzIGF1dG9jb21wbGV0ZT1vZmYgdGhhdCBtaWdodCBhZmZlY3Qg
dGhlIHJldHVybiB2YWx1ZSBvZiBuZWVkc1N1c3BlbnNpb25DYWxsYmFjay4KKyAgICAgICAgaWYg
KG1fYXV0b2NvbXBsZXRlID09IE9mZikgeworICAgICAgICAgICAgdW5yZWdpc3RlckZvclN1c3Bl
bnNpb25DYWxsYmFja0lmTmVlZGVkKCk7CisgICAgICAgICAgICByZWdpc3RlckZvclN1c3BlbnNp
b25DYWxsYmFja0lmTmVlZGVkKCk7CisgICAgICAgIH0KICAgICAgICAgLy8gV2Ugb25seSBuZWVk
IHRvIHNldENoYW5nZWQgaWYgdGhlIGZvcm0gaXMgbG9va2luZyBhdCB0aGUgZGVmYXVsdCB2YWx1
ZSByaWdodCBub3cuCiAgICAgICAgIGlmICghaGFzRGlydHlWYWx1ZSgpKSB7CiAgICAgICAgICAg
ICB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoZmFsc2UpOwpAQCAtMTM3OSw3ICsxMzg1LDE3
IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNPdXRPZlJhbmdlKCkgY29uc3QKIAogYm9vbCBI
VE1MSW5wdXRFbGVtZW50OjpuZWVkc1N1c3BlbnNpb25DYWxsYmFjaygpCiB7Ci0gICAgcmV0dXJu
IG1fYXV0b2NvbXBsZXRlID09IE9mZiB8fCBtX2lucHV0VHlwZS0+c2hvdWxkUmVzZXRPbkRvY3Vt
ZW50QWN0aXZhdGlvbigpOworICAgIGlmIChtX2lucHV0VHlwZS0+c2hvdWxkUmVzZXRPbkRvY3Vt
ZW50QWN0aXZhdGlvbigpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIFNlbnNpdGl2
ZSBpbnB1dCBlbGVtZW50cyBhcmUgbWFya2VkIHdpdGggYXV0b2NvbXBsZXRlPW9mZiwgYW5kIHdl
IHdhbnQgdG8gd2lwZSB0aGVtIG91dAorICAgIC8vIHdoZW4gZ29pbmcgYmFjazsgcmV0dXJuaW5n
IHRydWUgaGVyZSBhcnJhbmdlcyBmb3IgdXMgdG8gY2FsbCByZXNldCBhdCB0aGUgdGltZQorICAg
IC8vIHRoZSBwYWdlIGlzIHJlc3RvcmVkLiBOb24tZW1wdHkgdGV4dHVhbCBkZWZhdWx0IHZhbHVl
cyBpbmRpY2F0ZSB0aGF0IHRoZSBmaWVsZAorICAgIC8vIGlzIG5vdCByZWFsbHkgc2Vuc2l0aXZl
IC0tIHRoZXJlJ3Mgbm8gZGVmYXVsdCB2YWx1ZSBmb3IgYW4gYWNjb3VudCBudW1iZXIgLS0KKyAg
ICAvLyBhbmQgd2Ugd291bGQgc2VlIHVuZXhwZWN0ZWQgcmVzdWx0cyBpZiB3ZSByZXNldCB0byBz
b21ldGhpbmcgb3RoZXIgdGhhbiBibGFuay4KKyAgICBib29sIGlzU2Vuc2l0aXZlID0gbV9hdXRv
Y29tcGxldGUgPT0gT2ZmICYmICEobV9pbnB1dFR5cGUtPmlzVGV4dFR5cGUoKSAmJiAhZGVmYXVs
dFZhbHVlKCkuaXNFbXB0eSgpKTsKKworICAgIHJldHVybiBpc1NlbnNpdGl2ZTsKIH0KIAogdm9p
ZCBIVE1MSW5wdXRFbGVtZW50OjpyZWdpc3RlckZvclN1c3BlbnNpb25DYWxsYmFja0lmTmVlZGVk
KCkK
</data>
<flag name="review"
          id="167235"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>