<?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>67941</bug_id>
          
          <creation_ts>2011-09-12 10:03:41 -0700</creation_ts>
          <short_desc>occasional crash in Chromium in dispatching keyEvent</short_desc>
          <delta_ts>2011-10-04 15:30:00 -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>UI Events</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Scott Graham">scottmg</reporter>
          <assigned_to name="Scott Graham">scottmg</assigned_to>
          <cc>ap</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>465654</commentid>
    <comment_count>0</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-09-12 10:03:41 -0700</bug_when>
    <thetext>Chromium bug: http://code.google.com/p/chromium/issues/detail?id=96045


The crash is caused by the Document having been detached when processing the KeyEvent.

The invalid access is at 0x324 which is the offset of the m_focusedNode member of WebCore::Document. So, m_doc of Frame has been nulled at this point. I don&apos;t know yet why the ordering or detaching or whatever has changed. WebViewImpl.cpp:~657

    if (handler-&gt;keyEvent(evt)) {
        if (WebInputEvent::RawKeyDown == event.type) {
            // Suppress the next keypress event unless the focused node is a plug-in node.
            // (Flash needs these keypress events to handle non-US keyboards.)
---&gt;        Node* node = frame-&gt;document()-&gt;focusedNode();
            if (!node || !node-&gt;renderer() || !node-&gt;renderer()-&gt;isEmbeddedObject())
                m_suppressNextKeypressEvent = true;
        }
        return true;
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465655</commentid>
    <comment_count>1</comment_count>
      <attachid>107060</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-09-12 10:10:45 -0700</bug_when>
    <thetext>Created attachment 107060
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465667</commentid>
    <comment_count>2</comment_count>
      <attachid>107064</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-09-12 10:35:21 -0700</bug_when>
    <thetext>Created attachment 107064
more informative assert</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465823</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-09-12 15:11:31 -0700</bug_when>
    <thetext>Seems reasonable to me, the final call would be Darin F&apos;s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466810</commentid>
    <comment_count>4</comment_count>
      <attachid>107064</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-09-13 20:57:01 -0700</bug_when>
    <thetext>Comment on attachment 107064
more informative assert

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

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:657
&gt; +            ASSERT_WITH_MESSAGE(frame-&gt;document(),

Are you trying to catch this in production builds?  Have you considered
writing these values to the stack and then crashing (even in release
builds), so that we can get more informative crash reports?

Often you are not the one who will see this assertion, and when other
developers see the assertion, they&apos;ll most likely ignore it unless
they suspect their local changes led to the assertion.

This is why you don&apos;t see ASSERT_WITH_MESSAGE used much.  Getting the
info into a crash dump tends to be more valuable.

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:661
&gt;              if (!node || !node-&gt;renderer() || !node-&gt;renderer()-&gt;isEmbeddedObject())

because of this null check, we will now stop crashing in production.  won&apos;t that
mean that we lose information about this failure?

it seems really bad for the document of the focused node to not exist.  we shouldn&apos;t
have to be prepared for it to be null.  this tells me that this cannot be the right
fix.  it is just a band-aid fix.  the real fix is probably to somehow resolve why
document is null and make it not be null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466811</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-09-13 20:58:49 -0700</bug_when>
    <thetext>Actually, I re-read comment #0.  Do you have a test case that reproduces this?  It sounds like you are saying that the document disappearing could be a valid side-effect of dispatching the event.  I agree.

This tells me that we should probably grab the focusedNode before calling keyEvent.  We should retain the Node on the stack using a RefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467312</commentid>
    <comment_count>6</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-09-14 13:56:33 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Actually, I re-read comment #0.  Do you have a test case that reproduces this?  It sounds like you are saying that the document disappearing could be a valid side-effect of dispatching the event.  I agree.
&gt; 
&gt; This tells me that we should probably grab the focusedNode before calling keyEvent.  We should retain the Node on the stack using a RefPtr.

Unfortunately I haven&apos;t been able to reproduce in DRT. The patch was indeed intended as a band-aid fix (as it&apos;s a top-15-crash for renderer in dev) with the vague hope that a fuzz test might turn up the assert at some point.

Note that it&apos;s not the focusedNode that&apos;s lost its document, it&apos;s that the frame has lost its document. I&apos;m not sure how bad of a state that is, but there is other code which simply guards against it. (Not saying that&apos;s necessarily a good thing).


More random information:

I&apos;m not clear how we&apos;ve gotten to this state. Document::detach() shuts down the event queue (so the key event wouldn&apos;t get processed), and detach() is almost always called by Frame::setDocument which in turn is the only way for the document to be null (as it is in the crash).

The only suspicious code is related to the document being in PageCache as then detach() won&apos;t be called by setDocument(), so the event queue wouldn&apos;t be closed, but I haven&apos;t found a way to exercise that path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467316</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-09-14 14:01:04 -0700</bug_when>
    <thetext>We don&apos;t use the page cache in chromium (never have).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468919</commentid>
    <comment_count>8</comment_count>
      <attachid>107750</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-09-16 17:19:19 -0700</bug_when>
    <thetext>Created attachment 107750
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468921</commentid>
    <comment_count>9</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-09-16 17:20:45 -0700</bug_when>
    <thetext>I dug into this more. My best suspicion for the cause is the use of FocusController::focusedOrMainFrame() in focusedWebCoreFrame().

When RenderView receives the key message from the browser, it confirms that mainFrame is still there, and accesses document() w/o a null check. But, it looks like in WebViewImpl that a different frame could be used based on using focusedOrMainFrame().

Other callsites in WebViewImpl use focusedWebCoreNode() rather than manually doing something almost equivalent as keyEvent does currently. That function does two things differently:

1. uses focusedFrame() rather than focusedOrMainFrame(). 
2. checks for the document of the returned frame being null.

Users of this include autocompleteHandleKeyEvent() which is called earlier in keyEvent().

So, I think using that function instead is reasonable. Unfortunately I still can&apos;t explain the specific cause of why this started happening due to a very large search space (started on first release of m15 branch) and no repro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472397</commentid>
    <comment_count>10</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-09-23 12:20:11 -0700</bug_when>
    <thetext>Any objections to the most recent patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472488</commentid>
    <comment_count>11</comment_count>
      <attachid>107750</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-09-23 14:03:09 -0700</bug_when>
    <thetext>Comment on attachment 107750
Patch

OK, makes sense.  I&apos;m sad that it is still unclear what is really going on, but that shouldn&apos;t hold up this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472513</commentid>
    <comment_count>12</comment_count>
      <attachid>107750</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-23 14:47:07 -0700</bug_when>
    <thetext>Comment on attachment 107750
Patch

Clearing flags on attachment: 107750

Committed r95861: &lt;http://trac.webkit.org/changeset/95861&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472514</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-23 14:47:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474851</commentid>
    <comment_count>14</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-09-28 11:06:29 -0700</bug_when>
    <thetext>There is a repro with gmail and some labs enabled here: http://b/issue?id=5386206

Maybe we can turn that into a layout test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474857</commentid>
    <comment_count>15</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-09-28 11:09:06 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; There is a repro with gmail and some labs enabled here: http://b/issue?id=5386206
&gt; 
&gt; Maybe we can turn that into a layout test?

Thanks, that&apos;s great! I&apos;ll see if I can minimize it into a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476257</commentid>
    <comment_count>16</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-09-30 12:46:04 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #14)
&gt; &gt; There is a repro with gmail and some labs enabled here: http://b/issue?id=5386206
&gt; &gt; 
&gt; &gt; Maybe we can turn that into a layout test?
&gt; 
&gt; Thanks, that&apos;s great! I&apos;ll see if I can minimize it into a test.

I&apos;ve minimized this from the reported gmail bug. It seems slightly different than the crash reports, though certainly related.

In the gmail case, the entire Frame is disappearing during the keyEvent handler. When the Frame is retrieved at WebViewImpl.cpp:627, it&apos;s stored in a raw pointer, and in certain circumstances, the handler(s) below can remove all other counted references to the Frame. (The sneakiest part was that mouse handling hangs on to another reference so it won&apos;t happen if the cursor is still in the frame!)

So, I think there needs to be a guard on the whole Frame.

Any thoughts? Is there any reason not to ref the Frame here?

I believe it&apos;s still possible for only the document to be cleanly removed also, so I intend to leave a null check there. (no repro for that though)

The crash is not currently reproducible in at least chromium DRT because random things (AXObjectCache via AccessibilityController in this case) are adding additional refs to the Frame. (Booooo! Any suggestions on improving that?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476258</commentid>
    <comment_count>17</comment_count>
      <attachid>109328</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-09-30 12:47:29 -0700</bug_when>
    <thetext>Created attachment 109328
test case reduced from gmail bug report</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477332</commentid>
    <comment_count>18</comment_count>
      <attachid>109548</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-10-03 16:31:02 -0700</bug_when>
    <thetext>Created attachment 109548
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477334</commentid>
    <comment_count>19</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-10-03 16:33:31 -0700</bug_when>
    <thetext>I think this is worth committing, even though I can&apos;t add a LayoutTest.

Changing DRT locally to remove other refcounts that Chromium doesn&apos;t have to the Frame does exhibit the crash&amp;fix before&amp;after this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477814</commentid>
    <comment_count>20</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-10-04 11:53:44 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; The crash is not currently reproducible in at least chromium DRT because random things (AXObjectCache via AccessibilityController in this case) are adding additional refs to the Frame. (Booooo! Any suggestions on improving that?)

I&apos;m not sure I understand the problem, but changing DRT to be more like Chromium would be a good thing.  I would be happy to review such a change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477822</commentid>
    <comment_count>21</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-10-04 12:03:52 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #16)
&gt; &gt; The crash is not currently reproducible in at least chromium DRT because random things (AXObjectCache via AccessibilityController in this case) are adding additional refs to the Frame. (Booooo! Any suggestions on improving that?)
&gt; 
&gt; I&apos;m not sure I understand the problem, but changing DRT to be more like Chromium would be a good thing.  I would be happy to review such a change.

Thanks,

The specific problem in this case is that DRT has testing code for accessibility functionality. This causes additional references to Frames which avoids the crash. The crash won&apos;t happen in Chromium if some particular accessibility features are turned on, but that&apos;s not the default state.

I&apos;m not sure if there&apos;s a great way to make Chromium and DRT more similar. I guess I could add some test flags that allow disabling the accessibility objects to make this case crash, but it&apos;s going to be fragile because it&apos;s due to ref counting mess. (i.e. why should accessibility be disabled on this test? well, because at some point in change history it was the last reference... but in the future it could easily be some other random code that causes a bonus reference count to avoid the crash)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477874</commentid>
    <comment_count>22</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-10-04 13:26:45 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; I&apos;m not sure if there&apos;s a great way to make Chromium and DRT more similar. I guess I could add some test flags that allow disabling the accessibility objects to make this case crash, but it&apos;s going to be fragile because it&apos;s due to ref counting mess. (i.e. why should accessibility be disabled on this test? well, because at some point in change history it was the last reference... but in the future it could easily be some other random code that causes a bonus reference count to avoid the crash)

I was thinking the reverse, disable the accessibility objects in DRT by default and only enable it for the tests that need it.  That&apos;s probably pretty tricky, we should do that on a separate bug.

I think the change is fine.  I would go ahead and add the LayoutTest even if DRT chromium doesn&apos;t trigger the crash.  It should work if someone were to open it in Chromium (if it doesn&apos;t require DRT specific features) and it might catch a regression some day.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477919</commentid>
    <comment_count>23</comment_count>
      <attachid>109681</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-10-04 14:04:15 -0700</bug_when>
    <thetext>Created attachment 109681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477927</commentid>
    <comment_count>24</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-10-04 14:08:41 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; I was thinking the reverse, disable the accessibility objects in DRT by default and only enable it for the tests that need it.  That&apos;s probably pretty tricky, we should do that on a separate bug.

Filed https://bugs.webkit.org/show_bug.cgi?id=69375

&gt; I think the change is fine.  I would go ahead and add the LayoutTest even if DRT chromium doesn&apos;t trigger the crash.  It should work if someone were to open it in Chromium (if it doesn&apos;t require DRT specific features) and it might catch a regression some day.

Thanks, updated the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477947</commentid>
    <comment_count>25</comment_count>
      <attachid>109681</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-10-04 14:22:55 -0700</bug_when>
    <thetext>Comment on attachment 109681
Patch

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

&gt; LayoutTests/fast/events/keyevent-iframe-removed-crash.html:1
&gt; +&lt;script&gt;

Nit: &lt;!DOCTYPE html&gt;
&lt;html&gt;

&gt; LayoutTests/fast/events/keyevent-iframe-removed-crash.html:29
&gt; +&lt;body onload=&quot;go()&quot;&gt;
&gt; +    PASS
&gt; +&lt;/body&gt;

Nit: Please add some text on how to run manually (press any key) and say the test passes if it does not crash.

&gt; LayoutTests/fast/events/keyevent-iframe-removed-crash.html:30
&gt; +

Nit: &lt;/html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477964</commentid>
    <comment_count>26</comment_count>
      <attachid>109693</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-10-04 14:30:26 -0700</bug_when>
    <thetext>Created attachment 109693
update per review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478005</commentid>
    <comment_count>27</comment_count>
      <attachid>109693</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 15:29:55 -0700</bug_when>
    <thetext>Comment on attachment 109693
update per review

Clearing flags on attachment: 109693

Committed r96654: &lt;http://trac.webkit.org/changeset/96654&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478006</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 15:30:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107060</attachid>
            <date>2011-09-12 10:10:45 -0700</date>
            <delta_ts>2011-09-12 10:35:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67941-20110912101043.patch</filename>
            <type>text/plain</type>
            <size>1863</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ5NTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
ZWVmYzgxYWU4YmU2M2UyNTc4NDI0OTQ3MGRlMzc4ZWY1MDNiYzllOS4uOWZkNGRjNmRlOTAwNWQw
ODgyYTRjZTNjZTFmNGRkZGZlYTI0ZTVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMS0wOS0xMiAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgb2NjYXNpb25hbCBjcmFzaCBpbiBDaHJvbWl1bSBpbiBkaXNwYXRj
aGluZyBrZXlFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Njc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYW4gYWRkaXRpb25hbCBhc3NlcnQgYW5kIG51bGwgZ3VhcmQgdG8gdHJ5IHRvIGdl
dCBtb3JlIGluZm9ybWF0aW9uCisgICAgICAgIG9uIHJlcHJvZHVjdGlvbiBvZiB1bmNvbW1vbiBj
cmFzaC4gT2NjYXVzaW9uYWxseSwgRG9jdW1lbnQgaXMgYmVpbmcKKyAgICAgICAgZGV0YWNoZWQg
ZnJvbSBGcmFtZSBiZWZvcmUga2V5RXZlbnQgaXMgaGFuZGxlZC4KKworICAgICAgICAqIHNyYy9X
ZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjprZXlFdmVudCk6
CisKIDIwMTEtMDktMTEgIEplcmVteSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtDaHJvbWl1bV0gQ2hhbmdlIE9PUCBGb250IGxvYWRpbmcgY29kZSB0byB1c2Ug
Q0dGb250KigpIEFQSXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAKaW5kZXggNTYzNDdjYzhmMTMwNGNjOTc5MTg0YWVlYjUyMmFlMmM2ZTdjNTMxZC4uNGQ2OTNi
OTE2YjIyZmY4NTNmOTNhOWYwOGViOGM2ZWYzZTdhMjdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtNjU0LDcgKzY1NCw4IEBAIGJvb2wgV2ViVmll
d0ltcGw6OmtleUV2ZW50KGNvbnN0IFdlYktleWJvYXJkRXZlbnQmIGV2ZW50KQogICAgICAgICBp
ZiAoV2ViSW5wdXRFdmVudDo6UmF3S2V5RG93biA9PSBldmVudC50eXBlKSB7CiAgICAgICAgICAg
ICAvLyBTdXBwcmVzcyB0aGUgbmV4dCBrZXlwcmVzcyBldmVudCB1bmxlc3MgdGhlIGZvY3VzZWQg
bm9kZSBpcyBhIHBsdWctaW4gbm9kZS4KICAgICAgICAgICAgIC8vIChGbGFzaCBuZWVkcyB0aGVz
ZSBrZXlwcmVzcyBldmVudHMgdG8gaGFuZGxlIG5vbi1VUyBrZXlib2FyZHMuKQotICAgICAgICAg
ICAgTm9kZSogbm9kZSA9IGZyYW1lLT5kb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpOworICAgICAg
ICAgICAgQVNTRVJUKGZyYW1lLT5kb2N1bWVudCgpKTsKKyAgICAgICAgICAgIE5vZGUqIG5vZGUg
PSBmcmFtZS0+ZG9jdW1lbnQoKSA/IGZyYW1lLT5kb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpIDog
MDsKICAgICAgICAgICAgIGlmICghbm9kZSB8fCAhbm9kZS0+cmVuZGVyZXIoKSB8fCAhbm9kZS0+
cmVuZGVyZXIoKS0+aXNFbWJlZGRlZE9iamVjdCgpKQogICAgICAgICAgICAgICAgIG1fc3VwcHJl
c3NOZXh0S2V5cHJlc3NFdmVudCA9IHRydWU7CiAgICAgICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107064</attachid>
            <date>2011-09-12 10:35:21 -0700</date>
            <delta_ts>2011-09-16 17:19:16 -0700</delta_ts>
            <desc>more informative assert</desc>
            <filename>bug-67941-20110912103520.patch</filename>
            <type>text/plain</type>
            <size>2120</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ5NTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
ZWVmYzgxYWU4YmU2M2UyNTc4NDI0OTQ3MGRlMzc4ZWY1MDNiYzllOS4uMzAxNDE5YjZmYTRmNTgz
M2M3NTlmMTZjNTE2YjVhMjA4N2Q4N2UxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMS0wOS0xMiAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgb2NjYXNpb25hbCBjcmFzaCBpbiBDaHJvbWl1bSBpbiBkaXNwYXRj
aGluZyBrZXlFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Njc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYW4gYWRkaXRpb25hbCBhc3NlcnQgYW5kIG51bGwgZ3VhcmQgdG8gdHJ5IHRvIGdl
dCBtb3JlIGluZm9ybWF0aW9uCisgICAgICAgIG9uIHJlcHJvZHVjdGlvbiBvZiB1bmNvbW1vbiBj
cmFzaC4gT2NjYXNpb25hbGx5LCBEb2N1bWVudCBpcyBiZWluZworICAgICAgICBkZXRhY2hlZCBm
cm9tIEZyYW1lIGJlZm9yZSBrZXlFdmVudCBpcyBoYW5kbGVkLgorCisgICAgICAgICogc3JjL1dl
YlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmtleUV2ZW50KToK
KwogMjAxMS0wOS0xMSAgSmVyZW15IE1vc2tvdmljaCAgPGplcmVteUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW0Nocm9taXVtXSBDaGFuZ2UgT09QIEZvbnQgbG9hZGluZyBjb2RlIHRvIHVzZSBD
R0ZvbnQqKCkgQVBJcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cAppbmRleCA1NjM0N2NjOGYxMzA0Y2M5NzkxODRhZWViNTIyYWUyYzZlN2M1MzFkLi4yYTIxZjE2
YzZlYmNlOTQ1ZTdkMjY2ZTU3ODE0MDVkMmE1N2FjNzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC02NTQsNyArNjU0LDEwIEBAIGJvb2wgV2ViVmll
d0ltcGw6OmtleUV2ZW50KGNvbnN0IFdlYktleWJvYXJkRXZlbnQmIGV2ZW50KQogICAgICAgICBp
ZiAoV2ViSW5wdXRFdmVudDo6UmF3S2V5RG93biA9PSBldmVudC50eXBlKSB7CiAgICAgICAgICAg
ICAvLyBTdXBwcmVzcyB0aGUgbmV4dCBrZXlwcmVzcyBldmVudCB1bmxlc3MgdGhlIGZvY3VzZWQg
bm9kZSBpcyBhIHBsdWctaW4gbm9kZS4KICAgICAgICAgICAgIC8vIChGbGFzaCBuZWVkcyB0aGVz
ZSBrZXlwcmVzcyBldmVudHMgdG8gaGFuZGxlIG5vbi1VUyBrZXlib2FyZHMuKQotICAgICAgICAg
ICAgTm9kZSogbm9kZSA9IGZyYW1lLT5kb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpOworICAgICAg
ICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShmcmFtZS0+ZG9jdW1lbnQoKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImRvY3VtZW50IGRldGFjaGVkOyB3aW5kb3dzS2V5Q29kZTog
JWQsIG5hdGl2ZUtleUNvZGU6ICVkLCBrZXlJZGVudGlmaWVyOiAnJXMnLCBpc1N5c3RlbTogJWQi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC53aW5kb3dzS2V5Q29kZSwg
ZXZlbnQubmF0aXZlS2V5Q29kZSwgZXZlbnQua2V5SWRlbnRpZmllciwgZXZlbnQuaXNTeXN0ZW1L
ZXkpOworICAgICAgICAgICAgTm9kZSogbm9kZSA9IGZyYW1lLT5kb2N1bWVudCgpID8gZnJhbWUt
PmRvY3VtZW50KCktPmZvY3VzZWROb2RlKCkgOiAwOwogICAgICAgICAgICAgaWYgKCFub2RlIHx8
ICFub2RlLT5yZW5kZXJlcigpIHx8ICFub2RlLT5yZW5kZXJlcigpLT5pc0VtYmVkZGVkT2JqZWN0
KCkpCiAgICAgICAgICAgICAgICAgbV9zdXBwcmVzc05leHRLZXlwcmVzc0V2ZW50ID0gdHJ1ZTsK
ICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107750</attachid>
            <date>2011-09-16 17:19:19 -0700</date>
            <delta_ts>2011-10-03 16:30:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67941-20110916171918.patch</filename>
            <type>text/plain</type>
            <size>1696</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUwNDQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NzdiM2ExODEzYTNiOTE5OWEyMzU2YmI3YTdmNDU5NmY3N2FiYzgxNC4uM2U1OGY4YmFmNjUwYTZm
YTQ4ZjI1ZmJjMzY2ZWY5OGRjYjE5NWY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAxMS0wOS0xNiAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgb2NjYXNpb25hbCBjcmFzaCBpbiBDaHJvbWl1bSBpbiBkaXNwYXRj
aGluZyBrZXlFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Njc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVc2UgZm9jdXNlZFdlYkNvcmVOb2RlKCkgdG8gaGFuZGxlIG51bGwgZG9jdW1lbnQgZm9y
IGZyYW1lIHdoZW4KKyAgICAgICAgcmV0cmlldmluZyBmb2N1c2VkIG5vZGUgaW4gaGFuZGxpbmcg
a2V5RXZlbnQuCisKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJWaWV3SW1wbDo6a2V5RXZlbnQpOgorCiAyMDExLTA5LTEzICBFcmljIFNlaWRlbCAg
PGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgRU5BQkxFX1NWR19GT1JFSUdOX09C
SkVDVCBhcyBpdCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgSFRNTDUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCA2OWI3NTgxMWQ4MGU4NTU4ZGNjNWEwOWQw
Njk0OTBkNTE3OWMzOTdhLi4zMWUwZTk2ODgyNTFlMGYxODYxMTBlMjJjMmRlY2Q4NDhiZTU2ZWZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC02NTQs
NyArNjU0LDcgQEAgYm9vbCBXZWJWaWV3SW1wbDo6a2V5RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRF
dmVudCYgZXZlbnQpCiAgICAgICAgIGlmIChXZWJJbnB1dEV2ZW50OjpSYXdLZXlEb3duID09IGV2
ZW50LnR5cGUpIHsKICAgICAgICAgICAgIC8vIFN1cHByZXNzIHRoZSBuZXh0IGtleXByZXNzIGV2
ZW50IHVubGVzcyB0aGUgZm9jdXNlZCBub2RlIGlzIGEgcGx1Zy1pbiBub2RlLgogICAgICAgICAg
ICAgLy8gKEZsYXNoIG5lZWRzIHRoZXNlIGtleXByZXNzIGV2ZW50cyB0byBoYW5kbGUgbm9uLVVT
IGtleWJvYXJkcy4pCi0gICAgICAgICAgICBOb2RlKiBub2RlID0gZnJhbWUtPmRvY3VtZW50KCkt
PmZvY3VzZWROb2RlKCk7CisgICAgICAgICAgICBOb2RlKiBub2RlID0gZm9jdXNlZFdlYkNvcmVO
b2RlKCk7CiAgICAgICAgICAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPnJlbmRlcmVyKCkgfHwgIW5v
ZGUtPnJlbmRlcmVyKCktPmlzRW1iZWRkZWRPYmplY3QoKSkKICAgICAgICAgICAgICAgICBtX3N1
cHByZXNzTmV4dEtleXByZXNzRXZlbnQgPSB0cnVlOwogICAgICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>109328</attachid>
            <date>2011-09-30 12:47:29 -0700</date>
            <delta_ts>2011-09-30 12:47:29 -0700</delta_ts>
            <desc>test case reduced from gmail bug report</desc>
            <filename>keyevent-iframe-removed-crash.html</filename>
            <type>text/html</type>
            <size>759</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KICAgIGZ1bmN0aW9uIGdvKCkgewogICAgICAgIHZhciBmciA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwogICAgICAgIGZyLmlkID0gImJsb3JwIjsKICAgICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyKTsKICAgICAgICBmci5jb250ZW50RG9jdW1lbnQu
Ym9keS5pbm5lckhUTUwgPSAnPHAgaWQ9ImEiPm1vdmUgbW91c2Ugb3V0IG9mIHRoZSB3aW5kb3cs
IGFuZCBwcmVzcyBhIGtleTwvcD4nOwogICAgICAgIGZyLmNvbnRlbnREb2N1bWVudC5ib2R5Lm9u
a2V5ZG93biA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwog
ICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZyKTsKICAgICAgICB9OwoKICAg
ICAgICBmci5mb2N1cygpOwoKICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQogICAgICAgIHsKICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OwogICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CiAgICAg
ICAgICAgIHNldFRpbWVvdXQobnVrZSwgMCk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9u
IG51a2UoKSB7CiAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigieCIpCiAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwogICAgfQo8L3NjcmlwdD4KPGJvZHkgb25sb2Fk
PSJnbygpIj4KPC9ib2R5PgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109548</attachid>
            <date>2011-10-03 16:31:02 -0700</date>
            <delta_ts>2011-10-04 14:04:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67941-20111003163101.patch</filename>
            <type>text/plain</type>
            <size>1386</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYzMzAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NDE2ZGEzZjgyMWM4MjAwNTNmMmQ2NDMyZWQyOTU3NDk5NzY3MWI2Yy4uYmMwODM5M2ZkMzQ3MzI4
MWNiYjdjM2RlZWUxZjdmMzZkOWVhMzZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAxMS0xMC0wMyAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgb2NjYXNpb25hbCBjcmFzaCBpbiBDaHJvbWl1bSBpbiBkaXNwYXRj
aGluZyBrZXlFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Njc5NDEKKworICAgICAgICBHdWFyZCBGcmFtZSB3aGlsZSBoYW5kbGluZyBrZXlFdmVu
dCwgYXMgaXQgY2FuIGxvc2UgbGFzdCByZWZlcmVuY2UgZHVlCisgICAgICAgIHRvIGFjdGlvbnMg
b2YgaGFuZGxlci4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBs
OjprZXlFdmVudCk6CisKIDIwMTEtMDktMjkgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IFVzZSBMZXZlbERCIGFsc28gZm9yIGluLW1lbW9y
eSBkYXRhYmFzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApp
bmRleCAwMTEyNTZiNjMyNjhmYTM3YjgyODkwNGJkMzlmZTE3MTU5NmU0YTMwLi5iZDY3YTdjOWIz
OGFjZjMzYWExMTE0NjFiZjNjZWY4MjQ1MTEzZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC02MjQsNyArNjI0LDcgQEAgYm9vbCBXZWJWaWV3SW1w
bDo6a2V5RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiAgICAgaWYgKGF1dG9j
b21wbGV0ZUhhbmRsZUtleUV2ZW50KGV2ZW50KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAg
ICBGcmFtZSogZnJhbWUgPSBmb2N1c2VkV2ViQ29yZUZyYW1lKCk7CisgICAgUmVmUHRyPEZyYW1l
PiBmcmFtZSA9IGZvY3VzZWRXZWJDb3JlRnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109681</attachid>
            <date>2011-10-04 14:04:15 -0700</date>
            <delta_ts>2011-10-04 14:30:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67941-20111004140414.patch</filename>
            <type>text/plain</type>
            <size>3564</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYzMzAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NmU5ZmI4ZGU4NGMwMmY0YjVlN2E1
YmY1MDZjYmU3Njk2NDkzMjRiLi5lYWFkMWIwM2RjNTE3ZTU4YTUxM2JmNjBlYzJiZjllZTUyNTg2
ODAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAtMDQgIFNjb3R0IEdyYWhhbSAgPHNj
b3R0bWdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIG9jY2FzaW9uYWwgY3Jhc2ggaW4gQ2hyb21p
dW0gaW4gZGlzcGF0Y2hpbmcga2V5RXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9rZXlldmVudC1pZnJhbWUtcmVtb3ZlZC1j
cmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2tleWV2ZW50
LWlmcmFtZS1yZW1vdmVkLWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDExLTA5LTI5ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHNvbWUgZXhwZWN0ZWQgZmFp
bHVyZXMgb24gTGVvcGFyZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2tl
eWV2ZW50LWlmcmFtZS1yZW1vdmVkLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2tleWV2ZW50LWlmcmFtZS1yZW1vdmVkLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43ZWYyMmU5YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMva2V5ZXZlbnQtaWZyYW1lLXJlbW92
ZWQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2tleWV2ZW50LWlmcmFtZS1yZW1vdmVkLWNyYXNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9rZXlldmVudC1pZnJhbWUtcmVtb3ZlZC1jcmFzaC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjYwN2QzNTkzMmU0ZTEwOTgyYmE5ZDM2YzU1ZDY2MWQxYzZjYWViZGYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9rZXlldmVudC1pZnJh
bWUtcmVtb3ZlZC1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzxzY3JpcHQ+CisgICAgZnVu
Y3Rpb24gZ28oKSB7CisgICAgICAgIHZhciBmciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lm
cmFtZScpOworICAgICAgICBmci5pZCA9ICJibG9ycCI7CisgICAgICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoZnIpOworICAgICAgICBmci5jb250ZW50RG9jdW1lbnQuYm9keS5pbm5lckhU
TUwgPSAnPHAgaWQ9ImEiPm1vdmUgbW91c2Ugb3V0IG9mIHRoZSB3aW5kb3csIGFuZCBwcmVzcyBh
IGtleTwvcD4nOworICAgICAgICBmci5jb250ZW50RG9jdW1lbnQuYm9keS5vbmtleWRvd24gPSBm
dW5jdGlvbihlKSB7CisgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CisgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZyKTsKKyAgICAgICAgfTsKKworICAgICAgICBm
ci5mb2N1cygpOworCisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
KyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAg
ICAgICAgIHNldFRpbWVvdXQobnVrZSwgMCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5j
dGlvbiBudWtlKCkgeworICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJ4IikKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorPGJv
ZHkgb25sb2FkPSJnbygpIj4KKyAgICBQQVNTCis8L2JvZHk+CisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggNDE2ZGEzZjgyMWM4MjAwNTNmMmQ2NDMyZWQyOTU3NDk5NzY3MWI2Yy4uODM1
YzYxNTJiOGIwMzMzZGNiNmFjNTliN2Q2MzE2MDUwYzZlMjY5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMC0wNCAgU2NvdHQgR3JhaGFtICA8c2Nv
dHRtZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgb2NjYXNpb25hbCBjcmFzaCBpbiBDaHJvbWl1
bSBpbiBkaXNwYXRjaGluZyBrZXlFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBHdWFyZCBGcmFtZSB3aGlsZSBoYW5kbGluZyBrZXlFdmVudCwgYXMg
aXQgY2FuIGxvc2UgbGFzdCByZWZlcmVuY2UgZHVlCisgICAgICAgIHRvIGFjdGlvbnMgb2YgaGFu
ZGxlci4KKworICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXdJbXBsOjprZXlFdmVudCk6CisKIDIwMTEtMDktMjkgIEhhbnMgV2VubmJvcmcgIDxo
YW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IFVzZSBMZXZlbERCIGFsc28g
Zm9yIGluLW1lbW9yeSBkYXRhYmFzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcAppbmRleCAwMTEyNTZiNjMyNjhmYTM3YjgyODkwNGJkMzlmZTE3MTU5NmU0YTMw
Li5iZDY3YTdjOWIzOGFjZjMzYWExMTE0NjFiZjNjZWY4MjQ1MTEzZGY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC02MjQsNyArNjI0LDcgQEAgYm9v
bCBXZWJWaWV3SW1wbDo6a2V5RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiAg
ICAgaWYgKGF1dG9jb21wbGV0ZUhhbmRsZUtleUV2ZW50KGV2ZW50KSkKICAgICAgICAgcmV0dXJu
IHRydWU7CiAKLSAgICBGcmFtZSogZnJhbWUgPSBmb2N1c2VkV2ViQ29yZUZyYW1lKCk7CisgICAg
UmVmUHRyPEZyYW1lPiBmcmFtZSA9IGZvY3VzZWRXZWJDb3JlRnJhbWUoKTsKICAgICBpZiAoIWZy
YW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109693</attachid>
            <date>2011-10-04 14:30:26 -0700</date>
            <delta_ts>2011-10-04 15:29:55 -0700</delta_ts>
            <desc>update per review</desc>
            <filename>bug-67941-20111004143025.patch</filename>
            <type>text/plain</type>
            <size>3876</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYzMzAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NmU5ZmI4ZGU4NGMwMmY0YjVlN2E1
YmY1MDZjYmU3Njk2NDkzMjRiLi5lYWFkMWIwM2RjNTE3ZTU4YTUxM2JmNjBlYzJiZjllZTUyNTg2
ODAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAtMDQgIFNjb3R0IEdyYWhhbSAgPHNj
b3R0bWdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIG9jY2FzaW9uYWwgY3Jhc2ggaW4gQ2hyb21p
dW0gaW4gZGlzcGF0Y2hpbmcga2V5RXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9rZXlldmVudC1pZnJhbWUtcmVtb3ZlZC1j
cmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2tleWV2ZW50
LWlmcmFtZS1yZW1vdmVkLWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDExLTA5LTI5ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHNvbWUgZXhwZWN0ZWQgZmFp
bHVyZXMgb24gTGVvcGFyZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2tl
eWV2ZW50LWlmcmFtZS1yZW1vdmVkLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2tleWV2ZW50LWlmcmFtZS1yZW1vdmVkLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40NjdlNzdiZDZmNDBjZmY2NTk3ODkxNzIxYmExNmY4OTk4NDcxYmEyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMva2V5ZXZlbnQtaWZyYW1lLXJlbW92
ZWQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyB0ZXN0IHBhc3NlcyBp
ZiBpdCBkb2VzIG5vdCBjcmFzaC4gTW92ZSB0aGUgbW91c2Ugb3V0IG9mIHRoZSB3aW5kb3csIGFu
ZCB0aGVuIHByZXNzIGFueSBrZXkuCisKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2tleWV2ZW50LWlmcmFtZS1yZW1vdmVkLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9rZXlldmVudC1pZnJhbWUtcmVtb3ZlZC1jcmFzaC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAxZjgxZjNlYWI3MmJkYzMxMTcyOTIxNWFiNTg2ZmZjOTY5ODgyYzUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9rZXlldmVudC1pZnJhbWUtcmVtb3ZlZC1j
cmFzaC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gZ28oKSB7CisgICAgICAgIHZhciBmciA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgICAgICBmci5pZCA9ICJibG9ycCI7Cisg
ICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnIpOworICAgICAgICBmci5jb250ZW50
RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPHAgaWQ9ImEiPm1vdmUgbW91c2Ugb3V0IG9mIHRo
ZSB3aW5kb3csIGFuZCBwcmVzcyBhIGtleTwvcD4nOworICAgICAgICBmci5jb250ZW50RG9jdW1l
bnQuYm9keS5vbmtleWRvd24gPSBmdW5jdGlvbihlKSB7CisgICAgICAgICAgICBlLnByZXZlbnRE
ZWZhdWx0KCk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZyKTsKKyAg
ICAgICAgfTsKKworICAgICAgICBmci5mb2N1cygpOworCisgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIHNldFRpbWVvdXQobnVrZSwgMCk7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBudWtlKCkgeworICAgICAgICBldmVudFNlbmRlci5r
ZXlEb3duKCJ4IikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9ImdvKCkiPgorICAgIDxw
PgorICAgICAgICBUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLiBNb3ZlIHRo
ZSBtb3VzZSBvdXQKKyAgICAgICAgb2YgdGhlIHdpbmRvdywgYW5kIHRoZW4gcHJlc3MgYW55IGtl
eS4KKyAgICA8L3A+CisKKyAgICA8cD4KKyAgICAgICAgUEFTUworICAgIDwvcD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNDE2ZGEzZjgyMWM4MjAwNTNm
MmQ2NDMyZWQyOTU3NDk5NzY3MWI2Yy4uODM1YzYxNTJiOGIwMzMzZGNiNmFjNTliN2Q2MzE2MDUw
YzZlMjY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
MS0xMC0wNCAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
b2NjYXNpb25hbCBjcmFzaCBpbiBDaHJvbWl1bSBpbiBkaXNwYXRjaGluZyBrZXlFdmVudAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHdWFyZCBGcmFtZSB3
aGlsZSBoYW5kbGluZyBrZXlFdmVudCwgYXMgaXQgY2FuIGxvc2UgbGFzdCByZWZlcmVuY2UgZHVl
CisgICAgICAgIHRvIGFjdGlvbnMgb2YgaGFuZGxlci4KKworICAgICAgICAqIHNyYy9XZWJWaWV3
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjprZXlFdmVudCk6CisKIDIw
MTEtMDktMjkgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJ
bmRleGVkREI6IFVzZSBMZXZlbERCIGFsc28gZm9yIGluLW1lbW9yeSBkYXRhYmFzZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAwMTEyNTZiNjMyNjhm
YTM3YjgyODkwNGJkMzlmZTE3MTU5NmU0YTMwLi5iZDY3YTdjOWIzOGFjZjMzYWExMTE0NjFiZjNj
ZWY4MjQ1MTEzZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
Y3BwCkBAIC02MjQsNyArNjI0LDcgQEAgYm9vbCBXZWJWaWV3SW1wbDo6a2V5RXZlbnQoY29uc3Qg
V2ViS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiAgICAgaWYgKGF1dG9jb21wbGV0ZUhhbmRsZUtleUV2
ZW50KGV2ZW50KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBGcmFtZSogZnJhbWUgPSBm
b2N1c2VkV2ViQ29yZUZyYW1lKCk7CisgICAgUmVmUHRyPEZyYW1lPiBmcmFtZSA9IGZvY3VzZWRX
ZWJDb3JlRnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>