<?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>86157</bug_id>
          
          <creation_ts>2012-05-10 16:47:19 -0700</creation_ts>
          <short_desc>Should have Node::inDetach() for assertion purposes.</short_desc>
          <delta_ts>2012-05-14 00:49:20 -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>DOM</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="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>darin</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>621114</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-10 16:47:19 -0700</bug_when>
    <thetext>This is followup on Bug 85963 where we removed Node::inDetach().
The rationale of the removal is that inDetach() should never be true for its caller.
But it&apos;s safe to assert() it instead of just completely remove it for a while.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621152</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-10 17:26:11 -0700</bug_when>
    <thetext>I don’t think we have to switch to an assertion. If we can prove to ourselves somehow that Node::detach does not call out to anything that can run “arbitrary” code, then we’re OK.

But &lt;http://trac.webkit.org/changeset/116644&gt; seems to have assumed this without investigating and proving it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621181</commentid>
    <comment_count>2</comment_count>
      <attachid>141306</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-10 18:24:55 -0700</bug_when>
    <thetext>Created attachment 141306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621182</commentid>
    <comment_count>3</comment_count>
      <attachid>141307</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-10 18:27:10 -0700</bug_when>
    <thetext>Created attachment 141307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621183</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-10 18:27:31 -0700</bug_when>
    <thetext>Hi Darin, could you take a look at this small piece?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622356</commentid>
    <comment_count>5</comment_count>
      <attachid>141307</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-12 08:42:44 -0700</bug_when>
    <thetext>Comment on attachment 141307
Patch

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

&gt; Source/WebCore/dom/Node.cpp:1343
&gt; +static Node* detachingNode;
&gt; +
&gt; +bool Node::inDetach() const
&gt; +{
&gt; +    return detachingNode == this;
&gt; +}

This global variable and the body of the inDetach function should be NDEBUG-only. We don’t want to pay the price for setting a global used only for assertions in a build without assertions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622357</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-12 08:43:31 -0700</bug_when>
    <thetext>While an assertion is OK, what I’m really interested in is studying the code thinking through whether this problem is guaranteed not to happen rather than trying to prove that it doesn’t happen by testing with an assertion in place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622590</commentid>
    <comment_count>7</comment_count>
      <attachid>141621</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-13 17:47:25 -0700</bug_when>
    <thetext>Created attachment 141621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622592</commentid>
    <comment_count>8</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-13 17:51:31 -0700</bug_when>
    <thetext>Hi darin, thanks for the comment. I updated the patch.

(In reply to comment #6)
&gt; While an assertion is OK, what I’m really interested in is studying the code thinking through whether this problem is guaranteed not to happen rather than trying to prove that it doesn’t happen by testing with an assertion in place.

Here is an investigation:
There are three non-trivial function called from Node::detach()

- Document::hoveredNodeDetached();
- Document::activeChainNodeDetached();
- RnderObject::destroyAndCleanupAnonymousWrappers();

First two Document methods are clearly innocent.
They just start a timer or mutate its internal member variables.

- http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Document.cpp#L3603
- http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Document.cpp#L3615

Although  destroyAndCleanupAnonymousWrappers() isn&apos;t so obviously innocent, in fact it is:
This is because any focus change won&apos;t be initiated by rendering side.
Especially not by anonymous ROs.
It looks there is clear responsibility boundary between dom/ and rendering/ on this focus concept,
and it is DOM side responsibility to maintain the focus, in my understanding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622709</commentid>
    <comment_count>9</comment_count>
      <attachid>141621</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-13 23:55:53 -0700</bug_when>
    <thetext>Comment on attachment 141621
Patch

Thanks for quick review! landing...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622737</commentid>
    <comment_count>10</comment_count>
      <attachid>141621</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-14 00:49:15 -0700</bug_when>
    <thetext>Comment on attachment 141621
Patch

Clearing flags on attachment: 141621

Committed r116927: &lt;http://trac.webkit.org/changeset/116927&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622738</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-14 00:49:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141306</attachid>
            <date>2012-05-10 18:24:55 -0700</date>
            <delta_ts>2012-05-10 18:27:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86157-20120511102453.patch</filename>
            <type>text/plain</type>
            <size>2958</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmJmY2JkZjZhYWJmMDI4
M2QyYzFmMzE3YjA3MjgzMDY5MjhkZDllZS4uZDFkZmRkNjYyMzcxYjljNGVlOTdiNGQ0Y2ZkZWUz
ZmE1MzViMTVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA1LTEwICBNT1JJ
VEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFNob3VsZCBoYXZlIE5v
ZGU6OmluRGV0YWNoKCkgZm9yIHB1cnBvc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYxNTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRlZCBOb2RlOjppbkRldGFjaCgpIGFuZCBhZGRl
ZCBhbiBhc3NlcnRpbyBpbiBEb2N1bWVudDo6c2V0Rm9jdXNlZE5vZGUoKS4KKyAgICAgICAgVGhp
cyBpcyBhIGZvbGxvdyB1cCBvZiByMTE2NjQ0IHdoaWNoIHJlbW92ZXMgaW5EZXRhY2goKSBjaGVj
a2luZy4KKworICAgICAgICBObyBuZXcgdGVzdHMuIEp1c3QgYWRkaW5nIGFuIGFzc3NlcnRpb24u
CisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnNldEZvY3VzZWROb2RlKToKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmluRGV0YWNoKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OmRldGFjaCk6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKE5v
ZGUpOgorCiAyMDEyLTA1LTEwICBBYmhpc2hlayBBcnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgQ3Jhc2ggaW4gRm9udENhY2hlOjpyZWxlYXNlRm9udERhdGEgZHVlIHRvIGlu
ZmluaXRlIGZsb2F0IHNpemUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmNDY3YWYzMzI3
NDE5MTA1OTgyZTk4MmNiOTQ0NWUxYThkYzk2ODE4Li40ZTY0M2VkNDA5NGE0MTA2NGI2ZTljZjg1
ZTI1Y2I0MzQ0MDBlY2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTM2NTQsNiArMzY1
NCw4IEBAIGJvb2wgRG9jdW1lbnQ6OnNldEZvY3VzZWROb2RlKFBhc3NSZWZQdHI8Tm9kZT4gcHJw
TmV3Rm9jdXNlZE5vZGUpCiAKICAgICAvLyBSZW1vdmUgZm9jdXMgZnJvbSB0aGUgZXhpc3Rpbmcg
Zm9jdXMgbm9kZSAoaWYgYW55KQogICAgIGlmIChvbGRGb2N1c2VkTm9kZSkgeworICAgICAgICBB
U1NFUlQoIW9sZEZvY3VzZWROb2RlLT5pbkRldGFjaCgpKTsKKwogICAgICAgICBpZiAob2xkRm9j
dXNlZE5vZGUtPmFjdGl2ZSgpKQogICAgICAgICAgICAgb2xkRm9jdXNlZE5vZGUtPnNldEFjdGl2
ZShmYWxzZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA2OTg3YmViZGZjNWIyNWRiODEwYjEyNmQ2
ODVlMzVlMmIyYWU1YjNmLi45OTU3MDU0OGFiNGY3YjA2ZDY4ZDhlMWI1ZjAzZDU0Yjk1YjhkY2M4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuY3BwCkBAIC0xMzM1LDggKzEzMzUsMTggQEAgdm9pZCBOb2RlOjphdHRh
Y2goKQogICAgIGNsZWFyTmVlZHNTdHlsZVJlY2FsYygpOwogfQogCitzdGF0aWMgTm9kZSogZGV0
YWNoaW5nTm9kZTsKKworYm9vbCBOb2RlOjppbkRldGFjaCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGRldGFjaGluZ05vZGUgPT0gdGhpczsKK30KKwogdm9pZCBOb2RlOjpkZXRhY2goKQogeworICAg
IEFTU0VSVCghZGV0YWNoaW5nTm9kZSk7CisgICAgZGV0YWNoaW5nTm9kZSA9IHRoaXM7CisKICAg
ICBpZiAocmVuZGVyZXIoKSkKICAgICAgICAgcmVuZGVyZXIoKS0+ZGVzdHJveUFuZENsZWFudXBB
bm9ueW1vdXNXcmFwcGVycygpOwogICAgIHNldFJlbmRlcmVyKDApOwpAQCAtMTM1MSw2ICsxMzYx
LDggQEAgdm9pZCBOb2RlOjpkZXRhY2goKQogICAgIGNsZWFyRmxhZyhJc0hvdmVyZWRGbGFnKTsK
ICAgICBjbGVhckZsYWcoSW5BY3RpdmVDaGFpbkZsYWcpOwogICAgIGNsZWFyRmxhZyhJc0F0dGFj
aGVkRmxhZyk7CisKKyAgICBkZXRhY2hpbmdOb2RlID0gMDsKIH0KIAogLy8gRklYTUU6IFRoaXMg
Y29kZSBpcyB1c2VkIGJ5IGVkaXRpbmcuICBTZWVtcyBsaWtlIGl0IGNvdWxkIG1vdmUgb3ZlciB0
aGVyZSBhbmQgbm90IHBvbGx1dGUgTm9kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDMyOGMwMjliMDk4MWFm
ZDRmNmY3ZGZjYjAxNzBjYTgzNGJhYzlkYzcuLjM1YzQxZjAyZjFlNDZhZTc5YjVmNDEwYjFmMzk3
OTQyNjIyZTVhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtNDk1LDYgKzQ5NSw4IEBAIHB1YmxpYzoKICAg
ICAvLyB0aGUgbm9kZSdzIHJlbmRlcmluZyBvYmplY3QgZnJvbSB0aGUgcmVuZGVyaW5nIHRyZWUg
YW5kIGRlbGV0ZSBpdC4KICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7CiAKKyAgICBib29sIGlu
RGV0YWNoKCkgY29uc3Q7CisKICAgICB2b2lkIHJlYXR0YWNoKCk7CiAgICAgdm9pZCByZWF0dGFj
aElmQXR0YWNoZWQoKTsKICAgICB2b2lkIGNyZWF0ZVJlbmRlcmVySWZOZWVkZWQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141307</attachid>
            <date>2012-05-10 18:27:10 -0700</date>
            <delta_ts>2012-05-13 17:47:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86157-20120511102708.patch</filename>
            <type>text/plain</type>
            <size>2968</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmJmY2JkZjZhYWJmMDI4
M2QyYzFmMzE3YjA3MjgzMDY5MjhkZDllZS4uZjZhODE0M2RhZmJlNTM2ZDRkNTVlMTJlMTgwMTAy
OTRkMTFiNjM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA1LTEwICBNT1JJ
VEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFNob3VsZCBoYXZlIE5v
ZGU6OmluRGV0YWNoKCkgZm9yIGFzc2VydGlvbiBwdXJwb3Nlcy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2MTU3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgTm9kZTo6aW5EZXRhY2go
KSBhbmQgYWRkZWQgYW4gYXNzZXJ0aW8gaW4gRG9jdW1lbnQ6OnNldEZvY3VzZWROb2RlKCkuCisg
ICAgICAgIFRoaXMgaXMgYSBmb2xsb3cgdXAgb2YgcjExNjY0NCB3aGljaCByZW1vdmVzIGluRGV0
YWNoKCkgY2hlY2tpbmcuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBKdXN0IGFkZGluZyBhbiBh
c3NzZXJ0aW9uLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpzZXRGb2N1c2VkTm9kZSk6CisgICAgICAgICogZG9tL05vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjppbkRldGFjaCk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZXRhY2gpOgorICAgICAgICAqIGRvbS9Ob2RlLmg6Cisg
ICAgICAgIChOb2RlKToKKwogMjAxMi0wNS0xMCAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIENyYXNoIGluIEZvbnRDYWNoZTo6cmVsZWFzZUZvbnREYXRh
IGR1ZSB0byBpbmZpbml0ZSBmbG9hdCBzaXplLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXgg
ZjQ2N2FmMzMyNzQxOTEwNTk4MmU5ODJjYjk0NDVlMWE4ZGM5NjgxOC4uNGU2NDNlZDQwOTRhNDEw
NjRiNmU5Y2Y4NWUyNWNiNDM0NDAwZWNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0z
NjU0LDYgKzM2NTQsOCBAQCBib29sIERvY3VtZW50OjpzZXRGb2N1c2VkTm9kZShQYXNzUmVmUHRy
PE5vZGU+IHBycE5ld0ZvY3VzZWROb2RlKQogCiAgICAgLy8gUmVtb3ZlIGZvY3VzIGZyb20gdGhl
IGV4aXN0aW5nIGZvY3VzIG5vZGUgKGlmIGFueSkKICAgICBpZiAob2xkRm9jdXNlZE5vZGUpIHsK
KyAgICAgICAgQVNTRVJUKCFvbGRGb2N1c2VkTm9kZS0+aW5EZXRhY2goKSk7CisKICAgICAgICAg
aWYgKG9sZEZvY3VzZWROb2RlLT5hY3RpdmUoKSkKICAgICAgICAgICAgIG9sZEZvY3VzZWROb2Rl
LT5zZXRBY3RpdmUoZmFsc2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggNjk4N2JlYmRmYzViMjVk
YjgxMGIxMjZkNjg1ZTM1ZTJiMmFlNWIzZi4uOTk1NzA1NDhhYjRmN2IwNmQ2OGQ4ZTFiNWYwM2Q1
NGI5NWI4ZGNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMTMzNSw4ICsxMzM1LDE4IEBAIHZvaWQg
Tm9kZTo6YXR0YWNoKCkKICAgICBjbGVhck5lZWRzU3R5bGVSZWNhbGMoKTsKIH0KIAorc3RhdGlj
IE5vZGUqIGRldGFjaGluZ05vZGU7CisKK2Jvb2wgTm9kZTo6aW5EZXRhY2goKSBjb25zdAorewor
ICAgIHJldHVybiBkZXRhY2hpbmdOb2RlID09IHRoaXM7Cit9CisKIHZvaWQgTm9kZTo6ZGV0YWNo
KCkKIHsKKyAgICBBU1NFUlQoIWRldGFjaGluZ05vZGUpOworICAgIGRldGFjaGluZ05vZGUgPSB0
aGlzOworCiAgICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPmRlc3Ryb3lB
bmRDbGVhbnVwQW5vbnltb3VzV3JhcHBlcnMoKTsKICAgICBzZXRSZW5kZXJlcigwKTsKQEAgLTEz
NTEsNiArMTM2MSw4IEBAIHZvaWQgTm9kZTo6ZGV0YWNoKCkKICAgICBjbGVhckZsYWcoSXNIb3Zl
cmVkRmxhZyk7CiAgICAgY2xlYXJGbGFnKEluQWN0aXZlQ2hhaW5GbGFnKTsKICAgICBjbGVhckZs
YWcoSXNBdHRhY2hlZEZsYWcpOworCisgICAgZGV0YWNoaW5nTm9kZSA9IDA7CiB9CiAKIC8vIEZJ
WE1FOiBUaGlzIGNvZGUgaXMgdXNlZCBieSBlZGl0aW5nLiAgU2VlbXMgbGlrZSBpdCBjb3VsZCBt
b3ZlIG92ZXIgdGhlcmUgYW5kIG5vdCBwb2xsdXRlIE5vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCAzMjhj
MDI5YjA5ODFhZmQ0ZjZmN2RmY2IwMTcwY2E4MzRiYWM5ZGM3Li4zNWM0MWYwMmYxZTQ2YWU3OWI1
ZjQxMGIxZjM5Nzk0MjYyMmU1YTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTQ5NSw2ICs0OTUsOCBAQCBw
dWJsaWM6CiAgICAgLy8gdGhlIG5vZGUncyByZW5kZXJpbmcgb2JqZWN0IGZyb20gdGhlIHJlbmRl
cmluZyB0cmVlIGFuZCBkZWxldGUgaXQuCiAgICAgdmlydHVhbCB2b2lkIGRldGFjaCgpOwogCisg
ICAgYm9vbCBpbkRldGFjaCgpIGNvbnN0OworCiAgICAgdm9pZCByZWF0dGFjaCgpOwogICAgIHZv
aWQgcmVhdHRhY2hJZkF0dGFjaGVkKCk7CiAgICAgdm9pZCBjcmVhdGVSZW5kZXJlcklmTmVlZGVk
KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141621</attachid>
            <date>2012-05-13 17:47:25 -0700</date>
            <delta_ts>2012-05-14 00:49:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86157-20120514094723.patch</filename>
            <type>text/plain</type>
            <size>3050</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2OTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg1OTljOGY3NmIwOTBh
MDU3MjhkYWJiMmYzY2RhODgwNDZhZDVmZi4uYmEwN2JmOTE4ZThlNGI3YjVkM2JjMDBlNjRkOTVk
ZGI0ZDZmMDE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA1LTEwICBNT1JJ
VEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFNob3VsZCBoYXZlIE5v
ZGU6OmluRGV0YWNoKCkgZm9yIGFzc2VydGlvbiBwdXJwb3Nlcy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2MTU3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgTm9kZTo6aW5EZXRhY2go
KSBhbmQgYWRkZWQgYW4gYXNzZXJ0aW8gaW4gRG9jdW1lbnQ6OnNldEZvY3VzZWROb2RlKCkuCisg
ICAgICAgIFRoaXMgaXMgYSBmb2xsb3cgdXAgb2YgcjExNjY0NCB3aGljaCByZW1vdmVzIGluRGV0
YWNoKCkgY2hlY2tpbmcuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBKdXN0IGFkZGluZyBhbiBh
c3NzZXJ0aW9uLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpzZXRGb2N1c2VkTm9kZSk6CisgICAgICAgICogZG9tL05vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjppbkRldGFjaCk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZXRhY2gpOgorICAgICAgICAqIGRvbS9Ob2RlLmg6Cisg
ICAgICAgIChOb2RlKToKKwogMjAxMi0wNS0xMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUm9sbCBvdXQgbG9jYWwgY2hhbmdlcyBhY2NpZGVudGFsbHkgbGFuZGVk
IGluIHIxMTY5MDUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA0MjNmYzlmMDkzYmIxNjUx
ZjVkNzA4Zjc3ZDZkYzljMjAzYzkzYmMwLi5iYmFjNmI2MGYwN2U0MzU5MGE4MGNiMWE5OTEzZDNm
ZjFhNjRhNzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTM2NTUsNiArMzY1NSw4IEBA
IGJvb2wgRG9jdW1lbnQ6OnNldEZvY3VzZWROb2RlKFBhc3NSZWZQdHI8Tm9kZT4gcHJwTmV3Rm9j
dXNlZE5vZGUpCiAKICAgICAvLyBSZW1vdmUgZm9jdXMgZnJvbSB0aGUgZXhpc3RpbmcgZm9jdXMg
bm9kZSAoaWYgYW55KQogICAgIGlmIChvbGRGb2N1c2VkTm9kZSkgeworICAgICAgICBBU1NFUlQo
IW9sZEZvY3VzZWROb2RlLT5pbkRldGFjaCgpKTsKKwogICAgICAgICBpZiAob2xkRm9jdXNlZE5v
ZGUtPmFjdGl2ZSgpKQogICAgICAgICAgICAgb2xkRm9jdXNlZE5vZGUtPnNldEFjdGl2ZShmYWxz
ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCBiMDc2MGEzZTYyNzNiYjM3MzMwZWMxZDQxYjFlYjQ3
ODYxOWZjOTdjLi5jZDNmMzYxNmM4NmU4YTY2MGViZmE5ZjI0ZWJkMmY0MzhiYzU1OGZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwCkBAIC0xMzM5LDggKzEzMzksMjIgQEAgdm9pZCBOb2RlOjphdHRhY2goKQog
ICAgIGNsZWFyTmVlZHNTdHlsZVJlY2FsYygpOwogfQogCisjaWZuZGVmIE5ERUJVRworc3RhdGlj
IE5vZGUqIGRldGFjaGluZ05vZGU7CisKK2Jvb2wgTm9kZTo6aW5EZXRhY2goKSBjb25zdAorewor
ICAgIHJldHVybiBkZXRhY2hpbmdOb2RlID09IHRoaXM7Cit9CisjZW5kaWYKKwogdm9pZCBOb2Rl
OjpkZXRhY2goKQogeworI2lmbmRlZiBOREVCVUcKKyAgICBBU1NFUlQoIWRldGFjaGluZ05vZGUp
OworICAgIGRldGFjaGluZ05vZGUgPSB0aGlzOworI2VuZGlmCisKICAgICBpZiAocmVuZGVyZXIo
KSkKICAgICAgICAgcmVuZGVyZXIoKS0+ZGVzdHJveUFuZENsZWFudXBBbm9ueW1vdXNXcmFwcGVy
cygpOwogICAgIHNldFJlbmRlcmVyKDApOwpAQCAtMTM1NSw2ICsxMzY5LDEwIEBAIHZvaWQgTm9k
ZTo6ZGV0YWNoKCkKICAgICBjbGVhckZsYWcoSXNIb3ZlcmVkRmxhZyk7CiAgICAgY2xlYXJGbGFn
KEluQWN0aXZlQ2hhaW5GbGFnKTsKICAgICBjbGVhckZsYWcoSXNBdHRhY2hlZEZsYWcpOworCisj
aWZuZGVmIE5ERUJVRworICAgIGRldGFjaGluZ05vZGUgPSAwOworI2VuZGlmCiB9CiAKIC8vIEZJ
WE1FOiBUaGlzIGNvZGUgaXMgdXNlZCBieSBlZGl0aW5nLiAgU2VlbXMgbGlrZSBpdCBjb3VsZCBt
b3ZlIG92ZXIgdGhlcmUgYW5kIG5vdCBwb2xsdXRlIE5vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCAwNTQy
NWQwZDBmMTAyYzRiMzZlZjVhMDg0NTkxZTg1NTg0YTY2MGIzLi41NzQ1NDUwZDk5OTI5NjBmOTY2
MzgxNDRiZjc2MTRmZmFlZWM4ZjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTQ5Niw2ICs0OTYsMTAgQEAg
cHVibGljOgogICAgIC8vIHRoZSBub2RlJ3MgcmVuZGVyaW5nIG9iamVjdCBmcm9tIHRoZSByZW5k
ZXJpbmcgdHJlZSBhbmQgZGVsZXRlIGl0LgogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKIAor
I2lmbmRlZiBOREVCVUcKKyAgICBib29sIGluRGV0YWNoKCkgY29uc3Q7CisjZW5kaWYKKwogICAg
IHZvaWQgcmVhdHRhY2goKTsKICAgICB2b2lkIHJlYXR0YWNoSWZBdHRhY2hlZCgpOwogICAgIHZv
aWQgY3JlYXRlUmVuZGVyZXJJZk5lZWRlZCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>