<?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>17083</bug_id>
          
          <creation_ts>2008-01-29 16:20:16 -0800</creation_ts>
          <short_desc>REGRESSION (r24267): nested click() calls on the same element do not work (affects Acid3 test 73)</short_desc>
          <delta_ts>2008-03-17 18:58:13 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>17064</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>adele</cc>
    
    <cc>andersca</cc>
    
    <cc>darin</cc>
    
    <cc>ian</cc>
    
    <cc>koivisto</cc>
    
    <cc>mjs</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>68729</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-29 16:20:16 -0800</bug_when>
    <thetext>nested event dispatch does not work (Acid3 bug)

    function () {
      // test 74: nested events, from Jonas Sicking
      var doc = kungFuDeathGrip.childNodes[3].contentDocument;
      // implied events
      var up = 0;
      var down = 0;
      var button = doc.createElement(&quot;button&quot;);
      button.type = &quot;button&quot;;
      button.onclick = function () { up += 1; if (up &lt; 10) button.click(); down += up; };
      button.click();
      assertEquals(up, 10, &quot;click event handler called the wrong number of times&quot;);
      assertEquals(down, 100, &quot;click event handler called in the wrong order&quot;);
      // explicit events
      up = 0;
      down = 0;
      button.addEventListener(&apos;test&apos;, function () { up += 1; var e = doc.createEvent(&quot;HTMLEvents&quot;); e.initEvent(&apos;test&apos;, false, false); if (up &lt; 20) button.dispatchEvent(e); down += up; }, false);
      var evt = doc.createEvent(&quot;HTMLEvents&quot;);
      evt.initEvent(&apos;test&apos;, false, false);
      button.dispatchEvent(evt);
      assertEquals(up, 20, &quot;test event handler called the wrong number of times&quot;);
      assertEquals(down, 400, &quot;test event handler called in the wrong order&quot;);      
      return 5;
    },</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69721</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-02-07 21:01:19 -0800</bug_when>
    <thetext>I&apos;m not really sure we should support this w/ our current JS implementation.  We&apos;d have to pick an arbitrary maximum recursion value to avoid blowing out the stack.  Moz can do this because their interpreter is not recursive.  However, even so, I think the onclick event is required to be dispatched from within the click() call, so that would require at least a few stack frames.

Hixie, if we&apos;re supposed to allow recursion here... how deep?  And is 10 levels of recursion really better than 0 here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69722</commentid>
    <comment_count>2</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-02-07 21:39:12 -0800</bug_when>
    <thetext>I think we should support this - in most cases the stack limit won&apos;t be an issue. Actually I&apos;m surprised it doesn&apos;t work already - I don&apos;t think we have anything to block re-entry into event dispatch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69725</commentid>
    <comment_count>3</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2008-02-07 22:32:55 -0800</bug_when>
    <thetext>You should allow some nesting, but exactly how much you allow is up to you. It falls under &quot;hardware limitations&quot;. I recommend throwing an exception when you have a stack overflow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70115</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-10 12:50:42 -0800</bug_when>
    <thetext>We pass the pure event recursive dispatch part of the test just fine.

Our problem with this test is specifically in the case of click().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70122</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-10 13:17:58 -0800</bug_when>
    <thetext>This prohibition on click() recursion is new to Safari 3, added to prevent a button at &lt;http://forums.whirlpool.net.au/&gt; from causing the browser to hang:

    http://trac.webkit.org/projects/webkit/changeset/24267

We decided to change our behavior to match Firefox at that time.

I have a patch that removes the prohibition and reintroduces the bug. Now we&apos;ll have to think of another way to prevent that site from hanging. The hang is due to the massive amount of work that ends up getting done during the infinite recursion. I suppose that eventually we&apos;d hit the JavaScript recursive call limit, but in practice it&apos;s too slow and we never get there.

I&apos;ll attach my patch with test case, but we can&apos;t land it because it re-introduces the bug fixed in r24267.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70123</commentid>
    <comment_count>6</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2008-02-10 13:20:03 -0800</bug_when>
    <thetext>Why can&apos;t the &quot;slow script&quot; stuff catch it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70125</commentid>
    <comment_count>7</comment_count>
      <attachid>19048</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-10 13:20:25 -0800</bug_when>
    <thetext>Created attachment 19048
patch, can&apos;t land because it re-introduces a compatibility bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70126</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-10 13:21:26 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Why can&apos;t the &quot;slow script&quot; stuff catch it?

Maybe it can, but this site &quot;just works&quot; in other browsers. I don&apos;t want it to turn into a &quot;slow script&quot; site in Safari unless there&apos;s no other alternative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70127</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-10 13:23:14 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Why can&apos;t the &quot;slow script&quot; stuff catch it?

I suspect it&apos;s a bug in our slow script mechanism that we don&apos;t catch this as a slow script. So that&apos;s a separate problem. We want to be compatible with this site without the &quot;slow script&quot; machinery, and we want the slow script machinery to work in cases like this that involve many trips into and out of the script interpreter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70175</commentid>
    <comment_count>10</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2008-02-10 20:02:13 -0800</bug_when>
    <thetext>Do no browsers nest clicks then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70176</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-10 20:22:54 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Do no browsers nest clicks then?

I&apos;ve tried only Safari and Firefox. I haven&apos;t tested IE yet. It&apos;s entirely possible that site worked for a different reason with IE. No idea about Opera or the others either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73168</commentid>
    <comment_count>12</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-03-09 22:25:23 -0700</bug_when>
    <thetext>On Safari and Firefox

&lt;input id=button type=&quot;checkbox&quot; onclick=&quot;document.getElementById(&apos;console&apos;).innerHTML = ++counter; this.click()&quot;&gt;
&lt;div id=console&gt;&lt;/div&gt;
&lt;script&gt;
window.counter = 0;
document.getElementById(&apos;button&apos;).click();
&lt;/script&gt;

prints &quot;1&quot;. Clicking on the button increases the value by 2. IE6 prints &quot;1&quot; and user clicks increase the value by 1. It seems like IE is preventing click recursion completely while Safari and Firefox allow it from user event only.

Acid3 is asking either some 10 upper bound for breaking the recursion or relying on slow script warning. Latter turns simple mistakes into catastrophical user visible errors while former is rather arbitrary. 


</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73173</commentid>
    <comment_count>13</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2008-03-09 23:18:40 -0700</bug_when>
    <thetext>Well, the specs make no allowance for the API being non-reentrant... Seems odd for it to not be reentrant, since you can easily imagine clicking one button from another, and from there to clicking the same button again for some reason doesn&apos;t seem like a big leap...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73175</commentid>
    <comment_count>14</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-03-10 00:53:47 -0700</bug_when>
    <thetext>Completely removing the check that prevents recursion is not an option since it breaks web sites. Having some other limit than 1 is possible but astonishingly pointless. 

If we want to pass this test as it is we can trivially add per-node click recursion counter in a separate hash and set some limit greater than what Acid3 tests for. This might still cause web site regressions (behavior differs from any shipping browser) but at least it won&apos;t hang the browser.

I&apos;d rather see the current perfectly sane behavior specced and Acid3 fixed to match implementations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73176</commentid>
    <comment_count>15</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2008-03-10 01:46:39 -0700</bug_when>
    <thetext>Well, mail the list, if the proposal gets traction I can certainly remove that subtest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73241</commentid>
    <comment_count>16</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-03-10 13:59:23 -0700</bug_when>
    <thetext>http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-March/014181.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74033</commentid>
    <comment_count>17</comment_count>
      <attachid>19824</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-03-16 22:34:40 -0700</bug_when>
    <thetext>Created attachment 19824
add nesting count

Maximum nesting count it set to 9, the lowest number that passes acid3. 

In http://forums.whirlpool.net.au/ reply screen this patch causes ~3s hang with every click in debug builds, probably something around 1s on release. This would be total browser lockup on phone class hardware. It would be shame if Acid3 forced us into checking in this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74197</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-03-17 18:47:59 -0700</bug_when>
    <thetext>Consensus is now that we&apos;re all stuck with the click recursion prevention. So we won&apos;t be changing WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74199</commentid>
    <comment_count>19</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2008-03-17 18:58:13 -0700</bug_when>
    <thetext>(I&apos;ve removed this part of Acid3.)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19048</attachid>
            <date>2008-02-10 13:20:25 -0800</date>
            <delta_ts>2008-02-10 13:20:25 -0800</delta_ts>
            <desc>patch, can&apos;t land because it re-introduces a compatibility bug</desc>
            <filename>RecursiveClickPatch.txt</filename>
            <type>text/plain</type>
            <size>7860</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXROb2RlLmNwcAkocmV2aXNpb24gMzAxMjEpCisrKyBXZWJDb3Jl
L2RvbS9FdmVudFRhcmdldE5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTEsOSArMjExLDYg
QEAgdm9pZCBFdmVudFRhcmdldE5vZGU6OmRpc3BhdGNoU2ltdWxhdGVkTQogewogICAgIEFTU0VS
VCghZXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICAKLSAgICBpZiAobV9kaXNwYXRjaGlu
Z1NpbXVsYXRlZEV2ZW50KQotICAgICAgICByZXR1cm47Ci0KICAgICBib29sIGN0cmxLZXkgPSBm
YWxzZTsKICAgICBib29sIGFsdEtleSA9IGZhbHNlOwogICAgIGJvb2wgc2hpZnRLZXkgPSBmYWxz
ZTsKQEAgLTIyNSwyMSArMjIyLDE0IEBAIHZvaWQgRXZlbnRUYXJnZXROb2RlOjpkaXNwYXRjaFNp
bXVsYXRlZE0KICAgICAgICAgbWV0YUtleSA9IGtleVN0YXRlRXZlbnQtPm1ldGFLZXkoKTsKICAg
ICB9CiAgICAgCi0gICAgbV9kaXNwYXRjaGluZ1NpbXVsYXRlZEV2ZW50ID0gdHJ1ZTsKLQogICAg
IC8vIExpa2UgR2Vja28sIHdlIGp1c3QgcGFzcyAwIGZvciBldmVyeXRoaW5nIHdoZW4gd2UgbWFr
ZSBhIGZha2UgbW91c2UgZXZlbnQuCiAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgaW5zdGVhZCBn
aXZlcyB0aGUgY3VycmVudCBtb3VzZSBwb3NpdGlvbiBhbmQgc3RhdGUuCiAgICAgZGlzcGF0Y2hN
b3VzZUV2ZW50KGV2ZW50VHlwZSwgMCwgMCwgMCwgMCwgMCwgMCwKICAgICAgICAgY3RybEtleSwg
YWx0S2V5LCBzaGlmdEtleSwgbWV0YUtleSwgdHJ1ZSwgMCwgdW5kZXJseWluZ0V2ZW50KTsKLSAg
ICAKLSAgICBtX2Rpc3BhdGNoaW5nU2ltdWxhdGVkRXZlbnQgPSBmYWxzZTsKIH0KIAogdm9pZCBF
dmVudFRhcmdldE5vZGU6OmRpc3BhdGNoU2ltdWxhdGVkQ2xpY2soUGFzc1JlZlB0cjxFdmVudD4g
ZXZlbnQsIGJvb2wgc2VuZE1vdXNlRXZlbnRzLCBib29sIHNob3dQcmVzc2VkTG9vaykKIHsKLSAg
ICBpZiAobV9kaXNwYXRjaGluZ1NpbXVsYXRlZEV2ZW50KQotICAgICAgICByZXR1cm47Ci0gICAg
CiAgICAgLy8gc2VuZCBtb3VzZWRvd24gYW5kIG1vdXNldXAgYmVmb3JlIHRoZSBjbGljaywgaWYg
cmVxdWVzdGVkCiAgICAgaWYgKHNlbmRNb3VzZUV2ZW50cykKICAgICAgICAgZGlzcGF0Y2hTaW11
bGF0ZWRNb3VzZUV2ZW50KG1vdXNlZG93bkV2ZW50LCBldmVudC5nZXQoKSk7CkluZGV4OiBXZWJD
b3JlL2RvbS9FdmVudFRhcmdldE5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVu
dFRhcmdldE5vZGUuaAkocmV2aXNpb24gMzAxMjEpCisrKyBXZWJDb3JlL2RvbS9FdmVudFRhcmdl
dE5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNyArNjAsNiBAQCBwdWJsaWM6CiAgICAgICAg
IGludCBwYWdlWCwgaW50IHBhZ2VZLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksCiAgICAgICAg
IGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwK
ICAgICAgICAgYm9vbCBpc1NpbXVsYXRlZCA9IGZhbHNlLCBOb2RlKiByZWxhdGVkVGFyZ2V0ID0g
MCwgUGFzc1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2ZW50ID0gMCk7Ci0gICAgdm9pZCBkaXNw
YXRjaFNpbXVsYXRlZE1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBh
c3NSZWZQdHI8RXZlbnQ+IHVuZGVybHlpbmdFdmVudCA9IDApOwogICAgIHZvaWQgZGlzcGF0Y2hT
aW11bGF0ZWRDbGljayhQYXNzUmVmUHRyPEV2ZW50PiB1bmRlcmx5aW5nRXZlbnQsIGJvb2wgc2Vu
ZE1vdXNlRXZlbnRzID0gZmFsc2UsIGJvb2wgc2hvd1ByZXNzZWRMb29rID0gdHJ1ZSk7CiAgICAg
Ym9vbCBkaXNwYXRjaFByb2dyZXNzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nICZldmVudFR5cGUs
IGJvb2wgbGVuZ3RoQ29tcHV0YWJsZUFyZywgdW5zaWduZWQgbG9hZGVkQXJnLCB1bnNpZ25lZCB0
b3RhbEFyZyk7CiAKQEAgLTk3LDYgKzk2LDggQEAgcHJvdGVjdGVkOgogICAgIFJlZ2lzdGVyZWRF
dmVudExpc3RlbmVyTGlzdCogbV9yZWdkTGlzdGVuZXJzOwogCiBwcml2YXRlOgorICAgIHZvaWQg
ZGlzcGF0Y2hTaW11bGF0ZWRNb3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBl
LCBQYXNzUmVmUHRyPEV2ZW50PiB1bmRlcmx5aW5nRXZlbnQpOworCiAgICAgdmlydHVhbCB2b2lk
IHJlZkV2ZW50VGFyZ2V0KCkgeyByZWYoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50
VGFyZ2V0KCkgeyBkZXJlZigpOyB9CiB9OwpJbmRleDogV2ViQ29yZS9kb20vTm9kZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9kb20vTm9kZS5jcHAJKHJldmlzaW9uIDMwMTIxKQorKysgV2Vi
Q29yZS9kb20vTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNSwyNyArMTA1LDI2IEBAIHZv
aWQgTm9kZTo6c3RvcElnbm9yaW5nTGVha3MoKQogI2VuZGlmCiB9CiAKLU5vZGU6Ok5vZGUoRG9j
dW1lbnQgKmRvYykKLSAgICA6IG1fZG9jdW1lbnQoZG9jKSwKLSAgICAgIG1fcHJldmlvdXMoMCks
Ci0gICAgICBtX25leHQoMCksCi0gICAgICBtX3JlbmRlcmVyKDApLAotICAgICAgbV90YWJJbmRl
eCgwKSwKLSAgICAgIG1faGFzSWQoZmFsc2UpLAotICAgICAgbV9oYXNDbGFzcyhmYWxzZSksCi0g
ICAgICBtX2F0dGFjaGVkKGZhbHNlKSwKLSAgICAgIG1fc3R5bGVDaGFuZ2UoTm9TdHlsZUNoYW5n
ZSksCi0gICAgICBtX2hhc0NoYW5nZWRDaGlsZChmYWxzZSksCi0gICAgICBtX2luRG9jdW1lbnQo
ZmFsc2UpLAotICAgICAgbV9pc0xpbmsoZmFsc2UpLAotICAgICAgbV9hdHRyV2FzU3BlY2lmaWVk
T3JFbGVtZW50SGFzUmFyZURhdGEoZmFsc2UpLAotICAgICAgbV9mb2N1c2VkKGZhbHNlKSwKLSAg
ICAgIG1fYWN0aXZlKGZhbHNlKSwKLSAgICAgIG1faG92ZXJlZChmYWxzZSksCi0gICAgICBtX2lu
QWN0aXZlQ2hhaW4oZmFsc2UpLAotICAgICAgbV9pbkRldGFjaChmYWxzZSksCi0gICAgICBtX2Rp
c3BhdGNoaW5nU2ltdWxhdGVkRXZlbnQoZmFsc2UpLAotICAgICAgbV9pblN1YnRyZWVNYXJrKGZh
bHNlKQorTm9kZTo6Tm9kZShEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBtX2RvY3VtZW50KGRv
Y3VtZW50KQorICAgICwgbV9wcmV2aW91cygwKQorICAgICwgbV9uZXh0KDApCisgICAgLCBtX3Jl
bmRlcmVyKDApCisgICAgLCBtX3RhYkluZGV4KDApCisgICAgLCBtX2hhc0lkKGZhbHNlKQorICAg
ICwgbV9oYXNDbGFzcyhmYWxzZSkKKyAgICAsIG1fYXR0YWNoZWQoZmFsc2UpCisgICAgLCBtX3N0
eWxlQ2hhbmdlKE5vU3R5bGVDaGFuZ2UpCisgICAgLCBtX2hhc0NoYW5nZWRDaGlsZChmYWxzZSkK
KyAgICAsIG1faW5Eb2N1bWVudChmYWxzZSkKKyAgICAsIG1faXNMaW5rKGZhbHNlKQorICAgICwg
bV9hdHRyV2FzU3BlY2lmaWVkT3JFbGVtZW50SGFzUmFyZURhdGEoZmFsc2UpCisgICAgLCBtX2Zv
Y3VzZWQoZmFsc2UpCisgICAgLCBtX2FjdGl2ZShmYWxzZSkKKyAgICAsIG1faG92ZXJlZChmYWxz
ZSkKKyAgICAsIG1faW5BY3RpdmVDaGFpbihmYWxzZSkKKyAgICAsIG1faW5EZXRhY2goZmFsc2Up
CisgICAgLCBtX2luU3VidHJlZU1hcmsoZmFsc2UpCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIGlm
IChzaG91bGRJZ25vcmVMZWFrcykKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2RvbS9Ob2RlLmgJKHJldmlzaW9uIDMwMTIxKQorKysgV2ViQ29yZS9kb20v
Tm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OTQsMTEgKzQ5NCwxMCBAQCBwcm90ZWN0ZWQ6CiAg
ICAgYm9vbCBtX2luQWN0aXZlQ2hhaW4gOiAxOwogCiAgICAgYm9vbCBtX2luRGV0YWNoIDogMTsK
LSAgICBib29sIG1fZGlzcGF0Y2hpbmdTaW11bGF0ZWRFdmVudCA6IDE7CiAKIHB1YmxpYzoKICAg
ICBib29sIG1faW5TdWJ0cmVlTWFyayA6IDE7Ci0gICAgLy8gMCBiaXRzIGxlZnQKKyAgICAvLyAx
IGJpdCBsZWZ0CiAKIHByaXZhdGU6CiAgICAgRWxlbWVudCogYW5jZXN0b3JFbGVtZW50KCkgY29u
c3Q7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWN1cnNpdmUtZGlzcGF0Y2gtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlY3Vyc2l2
ZS1kaXNwYXRjaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9yZWN1cnNpdmUtZGlzcGF0Y2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3RzIGhhbmRsaW5nIG9mIG5lc3RlZCBldmVudHM7IHRha2Vu
IGZyb20gdGVzdCA3NCBvZiBBY2lkMy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgdXAgaXMgMTAKK1BBU1MgZG93biBpcyAxMDAKK1BBU1MgdXAgaXMgMjAKK1BBU1MgZG93
biBpcyA0MDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWN1cnNp
dmUtZGlzcGF0Y2gtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOmVvbC1zdHlsZQog
ICArIG5hdGl2ZQoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlY3Vyc2l2ZS1kaXNw
YXRjaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlY3Vyc2l2
ZS1kaXNwYXRjaC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
cmVjdXJzaXZlLWRpc3BhdGNoLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVjdXJzaXZl
LWRpc3BhdGNoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlY3Vyc2l2ZS1kaXNwYXRjaC5odG1sCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbApOYW1lOiBzdm46ZW9s
LXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3Vy
Y2VzL3JlY3Vyc2l2ZS1kaXNwYXRjaC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9yZXNvdXJjZXMvcmVjdXJzaXZlLWRpc3BhdGNoLmpzCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3JlY3Vyc2l2ZS1kaXNwYXRjaC5qcwko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMyBAQAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgaGFu
ZGxpbmcgb2YgbmVzdGVkIGV2ZW50czsgdGFrZW4gZnJvbSB0ZXN0IDc0IG9mIEFjaWQzLiIpOwor
CisvLyBpbXBsaWVkIGV2ZW50cwordmFyIHVwID0gMDsKK3ZhciBkb3duID0gMDsKK3ZhciBidXR0
b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsKK2J1dHRvbi50eXBlID0gImJ1
dHRvbiI7CitidXR0b24ub25jbGljayA9IGZ1bmN0aW9uICgpIHsgdXAgKz0gMTsgaWYgKHVwIDwg
MTApIGJ1dHRvbi5jbGljaygpOyBkb3duICs9IHVwOyB9OworYnV0dG9uLmNsaWNrKCk7CitzaG91
bGRCZSgidXAiLCAiMTAiKTsKK3Nob3VsZEJlKCJkb3duIiwgIjEwMCIpOworCisvLyBleHBsaWNp
dCBldmVudHMKK3VwID0gMDsKK2Rvd24gPSAwOworYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ3Rl
c3QnLCBmdW5jdGlvbiAoKSB7IHVwICs9IDE7IHZhciBlID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQo
IkhUTUxFdmVudHMiKTsgZS5pbml0RXZlbnQoJ3Rlc3QnLCBmYWxzZSwgZmFsc2UpOyBpZiAodXAg
PCAyMCkgYnV0dG9uLmRpc3BhdGNoRXZlbnQoZSk7IGRvd24gKz0gdXA7IH0sIGZhbHNlKTsKK3Zh
ciBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiSFRNTEV2ZW50cyIpOworZXZ0LmluaXRFdmVu
dCgndGVzdCcsIGZhbHNlLCBmYWxzZSk7CitidXR0b24uZGlzcGF0Y2hFdmVudChldnQpOworc2hv
dWxkQmUoInVwIiwgIjIwIik7CitzaG91bGRCZSgiZG93biIsICI0MDAiKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy90cmF2ZXJzYWwvZXhjZXB0
aW9uLWZvcndhcmRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy90cmF2ZXJzYWwv
ZXhjZXB0aW9uLWZvcndhcmRpbmcuaHRtbAkocmV2aXNpb24gMzAxMjEpCisrKyBMYXlvdXRUZXN0
cy90cmF2ZXJzYWwvZXhjZXB0aW9uLWZvcndhcmRpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSwxMyArMSwxMyBAQAogPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgogPGh0bWw+CiA8aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdCBzcmM9Ii4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZXhjZXB0aW9uLWZvcndh
cmRpbmcuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19824</attachid>
            <date>2008-03-16 22:34:40 -0700</date>
            <delta_ts>2008-03-16 22:34:40 -0700</delta_ts>
            <desc>add nesting count</desc>
            <filename>click-nesting-count.patch</filename>
            <type>text/plain</type>
            <size>3018</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXROb2RlLmNwcAkocmV2aXNpb24gMzEwMzcpCisrKyBXZWJDb3Jl
L2RvbS9FdmVudFRhcmdldE5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw5IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBFdmVudE5hbWVzOworICAg
IAorc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heERpc3BhdGNoQ2xpY2tDb3VudCA9IDk7CitzdGF0
aWMgSGFzaENvdW50ZWRTZXQ8RXZlbnRUYXJnZXROb2RlKj4qIGdEaXNwYXRjaFNpbXVsYXRlZENs
aWNrQ291bnQgPSAwOyAKIAogRXZlbnRUYXJnZXROb2RlOjpFdmVudFRhcmdldE5vZGUoRG9jdW1l
bnQgKmRvYykKICAgICA6IE5vZGUoZG9jKQpAQCAtMjA0LDkgKzIwNyw2IEBAIHZvaWQgRXZlbnRU
YXJnZXROb2RlOjpkaXNwYXRjaFNpbXVsYXRlZE0KICAgICBQYXNzUmVmUHRyPEV2ZW50PiB1bmRl
cmx5aW5nRXZlbnQpCiB7CiAgICAgQVNTRVJUKCFldmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOwot
ICAgIAotICAgIGlmIChtX2Rpc3BhdGNoaW5nU2ltdWxhdGVkRXZlbnQpCi0gICAgICAgIHJldHVy
bjsKIAogICAgIGJvb2wgY3RybEtleSA9IGZhbHNlOwogICAgIGJvb2wgYWx0S2V5ID0gZmFsc2U7
CkBAIC0yMTgsMjIgKzIxOCwyMyBAQCB2b2lkIEV2ZW50VGFyZ2V0Tm9kZTo6ZGlzcGF0Y2hTaW11
bGF0ZWRNCiAgICAgICAgIHNoaWZ0S2V5ID0ga2V5U3RhdGVFdmVudC0+c2hpZnRLZXkoKTsKICAg
ICAgICAgbWV0YUtleSA9IGtleVN0YXRlRXZlbnQtPm1ldGFLZXkoKTsKICAgICB9Ci0gICAgCi0g
ICAgbV9kaXNwYXRjaGluZ1NpbXVsYXRlZEV2ZW50ID0gdHJ1ZTsKIAogICAgIC8vIExpa2UgR2Vj
a28sIHdlIGp1c3QgcGFzcyAwIGZvciBldmVyeXRoaW5nIHdoZW4gd2UgbWFrZSBhIGZha2UgbW91
c2UgZXZlbnQuCiAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgaW5zdGVhZCBnaXZlcyB0aGUgY3Vy
cmVudCBtb3VzZSBwb3NpdGlvbiBhbmQgc3RhdGUuCiAgICAgZGlzcGF0Y2hNb3VzZUV2ZW50KGV2
ZW50VHlwZSwgMCwgMCwgMCwgMCwgMCwgMCwKICAgICAgICAgY3RybEtleSwgYWx0S2V5LCBzaGlm
dEtleSwgbWV0YUtleSwgdHJ1ZSwgMCwgdW5kZXJseWluZ0V2ZW50KTsKLSAgICAKLSAgICBtX2Rp
c3BhdGNoaW5nU2ltdWxhdGVkRXZlbnQgPSBmYWxzZTsKIH0KIAogdm9pZCBFdmVudFRhcmdldE5v
ZGU6OmRpc3BhdGNoU2ltdWxhdGVkQ2xpY2soUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIGJvb2wg
c2VuZE1vdXNlRXZlbnRzLCBib29sIHNob3dQcmVzc2VkTG9vaykKIHsKLSAgICBpZiAobV9kaXNw
YXRjaGluZ1NpbXVsYXRlZEV2ZW50KQorICAgIAorICAgIGlmICghZ0Rpc3BhdGNoU2ltdWxhdGVk
Q2xpY2tDb3VudCkKKyAgICAgICAgZ0Rpc3BhdGNoU2ltdWxhdGVkQ2xpY2tDb3VudCA9IG5ldyBI
YXNoQ291bnRlZFNldDxFdmVudFRhcmdldE5vZGUqPjsKKyAgICBpZiAoZ0Rpc3BhdGNoU2ltdWxh
dGVkQ2xpY2tDb3VudC0+Y291bnQodGhpcykgPiBtYXhEaXNwYXRjaENsaWNrQ291bnQpCiAgICAg
ICAgIHJldHVybjsKICAgICAKKyAgICBnRGlzcGF0Y2hTaW11bGF0ZWRDbGlja0NvdW50LT5hZGQo
dGhpcyk7CisgICAgCiAgICAgLy8gc2VuZCBtb3VzZWRvd24gYW5kIG1vdXNldXAgYmVmb3JlIHRo
ZSBjbGljaywgaWYgcmVxdWVzdGVkCiAgICAgaWYgKHNlbmRNb3VzZUV2ZW50cykKICAgICAgICAg
ZGlzcGF0Y2hTaW11bGF0ZWRNb3VzZUV2ZW50KG1vdXNlZG93bkV2ZW50LCBldmVudC5nZXQoKSk7
CkBAIC0yNDQsNiArMjQ1LDggQEAgdm9pZCBFdmVudFRhcmdldE5vZGU6OmRpc3BhdGNoU2ltdWxh
dGVkQwogCiAgICAgLy8gYWx3YXlzIHNlbmQgY2xpY2sKICAgICBkaXNwYXRjaFNpbXVsYXRlZE1v
dXNlRXZlbnQoY2xpY2tFdmVudCwgZXZlbnQpOworICAgIAorICAgIGdEaXNwYXRjaFNpbXVsYXRl
ZENsaWNrQ291bnQtPnJlbW92ZSh0aGlzKTsKIH0KIAogYm9vbCBFdmVudFRhcmdldE5vZGU6OmRp
c3BhdGNoTW91c2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgaW50IGJ1dHRv
biwgaW50IGRldGFpbCwKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZpc2lvbiAzMTAzNykKKysrIFdlYkNvcmUvZG9tL05v
ZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNyArMTMwLDYgQEAgTm9kZTo6Tm9kZShEb2N1
bWVudCAqZG9jKQogICAgICAgbV9ob3ZlcmVkKGZhbHNlKSwKICAgICAgIG1faW5BY3RpdmVDaGFp
bihmYWxzZSksCiAgICAgICBtX2luRGV0YWNoKGZhbHNlKSwKLSAgICAgIG1fZGlzcGF0Y2hpbmdT
aW11bGF0ZWRFdmVudChmYWxzZSksCiAgICAgICBtX2luU3VidHJlZU1hcmsoZmFsc2UpCiB7CiAj
aWZuZGVmIE5ERUJVRwpJbmRleDogV2ViQ29yZS9kb20vTm9kZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvZG9tL05vZGUuaAkocmV2aXNpb24gMzEwMzcpCisrKyBXZWJDb3JlL2RvbS9Ob2RlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ5MCwxMSArNDkwLDEwIEBAIHByb3RlY3RlZDoKICAgICBib29s
IG1faW5BY3RpdmVDaGFpbiA6IDE7CiAKICAgICBib29sIG1faW5EZXRhY2ggOiAxOwotICAgIGJv
b2wgbV9kaXNwYXRjaGluZ1NpbXVsYXRlZEV2ZW50IDogMTsKIAogcHVibGljOgogICAgIGJvb2wg
bV9pblN1YnRyZWVNYXJrIDogMTsKLSAgICAvLyAwIGJpdHMgbGVmdAorICAgIC8vIDEgYml0IGxl
ZnQKIAogcHJpdmF0ZToKICAgICBFbGVtZW50KiBhbmNlc3RvckVsZW1lbnQoKSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>