<?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>72441</bug_id>
          
          <creation_ts>2011-11-15 16:25:42 -0800</creation_ts>
          <short_desc>Dynamically created ShadowRoot doesn’t suppress the rendering of light children</short_desc>
          <delta_ts>2011-12-08 20:16:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>72352</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dominic Cooney">dominicc</reporter>
          <assigned_to name="Hayato Ito">hayato</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>morrita</cc>
    
    <cc>rolandsteiner</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>503410</commentid>
    <comment_count>0</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-11-15 16:25:42 -0800</bug_when>
    <thetext>&lt;h1&gt;Hello!&lt;/h1&gt;

var h = document.querySelector(&apos;h1&apos;);
var s = window.internals.ensureShadowRoot(h);
s.appendChild(document.createTextNode(&apos;Goodbye!&apos;));

I would expect to see

Goodbye!

but instead I see

Hello!Goodbye!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504556</commentid>
    <comment_count>1</comment_count>
      <attachid>115524</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-11-16 22:21:09 -0800</bug_when>
    <thetext>Created attachment 115524
suppress light children.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504638</commentid>
    <comment_count>2</comment_count>
      <attachid>115524</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-11-17 00:54:38 -0800</bug_when>
    <thetext>Comment on attachment 115524
suppress light children.

Yay reftests—this is awesome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506648</commentid>
    <comment_count>3</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-11-20 18:26:36 -0800</bug_when>
    <thetext>Ping reviewers. Morrita-san, could you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514852</commentid>
    <comment_count>4</comment_count>
      <attachid>115524</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-12-04 20:25:59 -0800</bug_when>
    <thetext>Comment on attachment 115524
suppress light children.

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

&gt; Source/WebCore/dom/Element.cpp:1271
&gt; +    }

I prefer just call reattach() here because some Element subclasses have child attachment process and we need to preserve their customized behavior.
Maybe we need a lazy version of reattach().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515663</commentid>
    <comment_count>5</comment_count>
      <attachid>117991</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-05 22:51:29 -0800</bug_when>
    <thetext>Created attachment 117991
use lazy reattach</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515667</commentid>
    <comment_count>6</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-05 22:58:41 -0800</bug_when>
    <thetext>Thank you for the review.

(In reply to comment #4)
&gt; (From update of attachment 115524 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=115524&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:1271
&gt; &gt; +    }
&gt; 
&gt; I prefer just call reattach() here because some Element subclasses have child attachment process and we need to preserve their customized behavior.
&gt; Maybe we need a lazy version of reattach().

Done.
I tried to name such a function &apos;lazyReattach&apos;, but &apos;lazyReattach&apos; might be confusing name since reattach itself is not done lazily. Only attach() is done lazily. 
I named it &apos;Node::detachAndLazyAttach()&apos;, which is non-confusing, I guess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515674</commentid>
    <comment_count>7</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-05 23:21:19 -0800</bug_when>
    <thetext>One more comment.
Maybe we also have to take care of the case when Node::removeShadowRoot() is called directly from JavaScript in a similar way. Let me address this case in another bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515722</commentid>
    <comment_count>8</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-12-06 01:05:36 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; One more comment.
&gt; Maybe we also have to take care of the case when Node::removeShadowRoot() is called directly from JavaScript in a similar way. Let me address this case in another bug.
Well, actually I&apos;m not sure if we are going to provide a way to remove existing shadow tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515738</commentid>
    <comment_count>9</comment_count>
      <attachid>117991</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-06 02:01:40 -0800</bug_when>
    <thetext>Comment on attachment 117991
use lazy reattach

Attachment 117991 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10695694

New failing tests:
fast/forms/validation-message-on-listbox.html
fast/forms/validation-message-on-menulist.html
fast/forms/validation-message-on-radio.html
fast/forms/validation-message-on-checkbox.html
fast/forms/interactive-validation-crash-by-style-override.html
fast/forms/interactive-validation-select-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515794</commentid>
    <comment_count>10</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-06 04:06:48 -0800</bug_when>
    <thetext>It seems that a crash occurs in WebCore::ValidationMessage::buildBubbleTree. Let me investigate.

(In reply to comment #9)
&gt; (From update of attachment 117991 [details])
&gt; Attachment 117991 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/10695694
&gt; 
&gt; New failing tests:
&gt; fast/forms/validation-message-on-listbox.html
&gt; fast/forms/validation-message-on-menulist.html
&gt; fast/forms/validation-message-on-radio.html
&gt; fast/forms/validation-message-on-checkbox.html
&gt; fast/forms/interactive-validation-crash-by-style-override.html
&gt; fast/forms/interactive-validation-select-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515837</commentid>
    <comment_count>11</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-06 05:40:58 -0800</bug_when>
    <thetext>This happens as follows:

1. ValidationMessage::buildBubbleTree calls &apos;host-&gt;ensureShadowRoot()-&gt;appendChild(m_bubble.get(), ec)&apos;

  host (shadow host) is a HTMLInputElement.
 
void ValidationMessage::buildBubbleTree(Timer&lt;ValidationMessage&gt;*)
{
    HTMLElement* host = toHTMLElement(m_element);
    Document* doc = host-&gt;document();
    m_bubble = HTMLDivElement::create(doc);
    m_bubble-&gt;setShadowPseudoId(&quot;-webkit-validation-bubble&quot;);
    // Need to force position:absolute because RenderMenuList doesn&apos;t assume it
    // contains non-absolute or non-fixed renderers as children.
    m_bubble-&gt;ensureInlineStyleDecl()-&gt;setProperty(CSSPropertyPosition, CSSValueAbsolute);
    ExceptionCode ec = 0;
    host-&gt;ensureShadowRoot()-&gt;appendChild(m_bubble.get(), ec);  &lt;--- HERE
    ....
    ....

2. Element(shadow host)::detach() is called by this patch while in ensureShadowRoot().

3. HTMLInputElement::detach() is called. Then, HTMLFormControlElement::detach() is called, which causes m_validationMessage&apos;s deletion.

void HTMLFormControlElement::detach()
{
    m_validationMessage = nullptr;
    HTMLElement::detach();
}

4. m_validationMessage is deleted, then m_bubble is also deleted even while 1) is in progress.

The relates stack trace is here:
  

#0  0x0000000000a5f81e in WebCore::TreeShared&lt;WebCore::ContainerNode&gt;::deref (this=0x7fffeb27f130) at ../../third_party/WebKit/Source/WebCore/platform/TreeShared.h:75
#1  0x0000000000d0ad8e in WTF::derefIfNotNull&lt;WebCore::HTMLElement&gt; (ptr=0x7fffeb27f120) at ../../third_party/WebKit/Source/JavaScriptCore/wtf/PassRefPtr.h:52
#2  0x0000000000dc118e in WTF::RefPtr&lt;WebCore::HTMLElement&gt;::operator= (this=0x7fffeb273d58, optr=0x0) at ../../third_party/WebKit/Source/JavaScriptCore/wtf/RefPtr.h:135
#3  0x0000000000dc0ddc in WebCore::ValidationMessage::deleteBubbleTree (this=0x7fffeb273d40) at ../../third_party/WebKit/Source/WebCore/html/ValidationMessage.cpp:191
#4  0x0000000000dbf649 in WebCore::ValidationMessage::~ValidationMessage (this=0x7fffeb273d40, __in_chrg=&lt;optimized out&gt;) at ../../third_party/WebKit/Source/WebCore/html/ValidationMessage.cpp:61
#5  0x0000000000db796e in WTF::deleteOwnedPtr&lt;WebCore::ValidationMessage&gt; (ptr=0x7fffeb273d40) at ../../third_party/WebKit/Source/JavaScriptCore/wtf/OwnPtrCommon.h:53
#6  0x0000000000db79ac in WTF::OwnPtr&lt;WebCore::ValidationMessage&gt;::clear (this=0x7fffeb33cc98) at ../../third_party/WebKit/Source/JavaScriptCore/wtf/OwnPtr.h:99
#7  0x0000000000db6798 in WTF::OwnPtr&lt;WebCore::ValidationMessage&gt;::operator= (this=0x7fffeb33cc98) at ../../third_party/WebKit/Source/JavaScriptCore/wtf/OwnPtr.h:72
#8  0x0000000000db3b9f in WebCore::HTMLFormControlElement::detach (this=0x7fffeb33cc00) at ../../third_party/WebKit/Source/WebCore/html/HTMLFormControlElement.cpp:80
#9  0x0000000000d165d4 in WebCore::HTMLInputElement::detach (this=0x7fffeb33cc00) at ../../third_party/WebKit/Source/WebCore/html/HTMLInputElement.cpp:901
#10 0x00000000018dcc87 in WebCore::Node::detachAndLazyAttach (this=0x7fffeb33cc00) at ../../third_party/WebKit/Source/WebCore/dom/Node.h:826
#11 0x00000000018dcc50 in WebCore::Node::detachAndLazyAttachIfAttached (this=0x7fffeb33cc00) at ../../third_party/WebKit/Source/WebCore/dom/Node.h:820
#12 0x00000000018d9bd7 in WebCore::Element::setShadowRoot (this=0x7fffeb33cc00, prpShadowRoot=..., ec=@0x7fffffffc20c) at ../../third_party/WebKit/Source/WebCore/dom/Element.cpp:1237
#13 0x00000000018d9c5a in WebCore::Element::ensureShadowRoot (this=0x7fffeb33cc00) at ../../third_party/WebKit/Source/WebCore/dom/Element.cpp:1246
#14 0x0000000000dc0157 in WebCore::ValidationMessage::buildBubbleTree (this=0x7fffeb273d40) at ../../third_party/WebKit/Source/WebCore/html/ValidationMessage.cpp:142
#15 0x0000000000dc1302 in WebCore::Timer&lt;WebCore::ValidationMessage&gt;::fired (this=0x7fffebc25af0) at ../../third_party/WebKit/Source/WebCore/platform/Timer.h:100
#16 0x0000000000f499ac in WebCore::ThreadTimers::sharedTimerFiredInternal (this=0x7ffff7ef93f0) at ../../third_party/WebKit/Source/WebCore/platform/ThreadTimers.cpp:115
#17 0x0000000000f498e3 in WebCore::ThreadTimers::sharedTimerFired () at ../../third_party/WebKit/Source/WebCore/platform/ThreadTimers.cpp:93
#18 0x0000000000cb1a56 in webkit_glue::WebKitPlatformSupportImpl::DoTimeout (this=0x7ffff7e5a400) at ../../webkit/glue/webkitplatformsupport_impl.h:130



(In reply to comment #10)
&gt; It seems that a crash occurs in WebCore::ValidationMessage::buildBubbleTree. Let me investigate.
&gt; 
&gt; (In reply to comment #9)
&gt; &gt; (From update of attachment 117991 [details] [details])
&gt; &gt; Attachment 117991 [details] [details] did not pass chromium-ews (chromium-xvfb):
&gt; &gt; Output: http://queues.webkit.org/results/10695694
&gt; &gt; 
&gt; &gt; New failing tests:
&gt; &gt; fast/forms/validation-message-on-listbox.html
&gt; &gt; fast/forms/validation-message-on-menulist.html
&gt; &gt; fast/forms/validation-message-on-radio.html
&gt; &gt; fast/forms/validation-message-on-checkbox.html
&gt; &gt; fast/forms/interactive-validation-crash-by-style-override.html
&gt; &gt; fast/forms/interactive-validation-select-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515847</commentid>
    <comment_count>12</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-06 05:53:06 -0800</bug_when>
    <thetext>So which should we stand for?

Fix callee side:
A. We must not call shadowHost&apos;s detach() while ensureShadowRoot() is in progress.

Fix caller side:
B. Change HTMLFormControlElement::detach so that it doesn&apos;t delete m_validation.

I think A is a preferred to B since It&apos;s tough to force caller to obey difficult-to-express rule of B.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515936</commentid>
    <comment_count>13</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-12-06 08:29:09 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; So which should we stand for?
&gt; 
&gt; Fix callee side:
&gt; A. We must not call shadowHost&apos;s detach() while ensureShadowRoot() is in progress.
&gt; 
&gt; Fix caller side:
&gt; B. Change HTMLFormControlElement::detach so that it doesn&apos;t delete m_validation.
&gt; 
&gt; I think A is a preferred to B since It&apos;s tough to force caller to obey difficult-to-express rule of B.

Adding tkent@, since he wrote most of this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516413</commentid>
    <comment_count>14</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-12-06 17:41:04 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; New failing tests:
&gt; fast/forms/validation-message-on-listbox.html
&gt; fast/forms/validation-message-on-menulist.html
&gt; fast/forms/validation-message-on-radio.html
&gt; fast/forms/validation-message-on-checkbox.html
&gt; fast/forms/interactive-validation-crash-by-style-override.html
&gt; fast/forms/interactive-validation-select-crash.html

These test assume both of the host&apos;s renderer and the shadow&apos;s renderer are shown. Is it a wrong assumption?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516424</commentid>
    <comment_count>15</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-12-06 18:16:16 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #9)
&gt; &gt; New failing tests:
&gt; &gt; fast/forms/validation-message-on-listbox.html
&gt; &gt; fast/forms/validation-message-on-menulist.html
&gt; &gt; fast/forms/validation-message-on-radio.html
&gt; &gt; fast/forms/validation-message-on-checkbox.html
&gt; &gt; fast/forms/interactive-validation-crash-by-style-override.html
&gt; &gt; fast/forms/interactive-validation-select-crash.html
&gt; 
&gt; These test assume both of the host&apos;s renderer and the shadow&apos;s renderer are shown. Is it a wrong assumption?

That assumption is correct.

I believe the change being discussed here is to reattach the host’s children when shadow DOM is applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516500</commentid>
    <comment_count>16</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-12-06 21:43:15 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; That assumption is correct.
&gt; 
&gt; I believe the change being discussed here is to reattach the host’s children when shadow DOM is applied.

ok. I confused &quot;rendering of light children&quot; and rendering of the host.

I think B is also ok. We don&apos;t need to delete shadow tree on detach() in general.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516524</commentid>
    <comment_count>17</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-07 00:28:13 -0800</bug_when>
    <thetext>Kent-san, as I discussed with Morita-san, we are thinking that B is our option since we have some difficulties to achieve A nicely.
It&apos;d be nice that shadowRoot&apos;s clients do not manipulate shadow tree in their detach().
Is this possible?

(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; That assumption is correct.
&gt; &gt; 
&gt; &gt; I believe the change being discussed here is to reattach the host’s children when shadow DOM is applied.
&gt; 
&gt; ok. I confused &quot;rendering of light children&quot; and rendering of the host.
&gt; 
&gt; I think B is also ok. We don&apos;t need to delete shadow tree on detach() in general.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516527</commentid>
    <comment_count>18</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-12-07 00:42:23 -0800</bug_when>
    <thetext>I guess just removing &quot;m_validationMessage = nullptr;&quot; in HTMLFormControlElement::detach() solves the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516547</commentid>
    <comment_count>19</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-07 02:01:12 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; I guess just removing &quot;m_validationMessage = nullptr;&quot; in HTMLFormControlElement::detach() solves the problem.

Yeah, but that causes another flaky crash bug and/or the different rendering result if that is applied with this patch. Let me investigate further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517323</commentid>
    <comment_count>20</comment_count>
      <attachid>118367</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-08 05:25:08 -0800</bug_when>
    <thetext>Created attachment 118367
revert it to the original patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517328</commentid>
    <comment_count>21</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-08 05:29:53 -0800</bug_when>
    <thetext>I&apos;ve reverted the patch to its original version.
We have not found a good way to make a shadow host be reattached so that it does not cause any rendering issue or performance regression.

Untile we have a better way to solve the issue, I think the original patch might be safe way to achieve it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517903</commentid>
    <comment_count>22</comment_count>
      <attachid>118367</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-08 16:35:44 -0800</bug_when>
    <thetext>Comment on attachment 118367
revert it to the original patch

Seems sane.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518064</commentid>
    <comment_count>23</comment_count>
      <attachid>118367</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 20:16:42 -0800</bug_when>
    <thetext>Comment on attachment 118367
revert it to the original patch

Clearing flags on attachment: 118367

Committed r102423: &lt;http://trac.webkit.org/changeset/102423&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518065</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 20:16:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115524</attachid>
            <date>2011-11-16 22:21:09 -0800</date>
            <delta_ts>2011-12-05 22:51:23 -0800</delta_ts>
            <desc>suppress light children.</desc>
            <filename>bug-72441-20111117152108.patch</filename>
            <type>text/plain</type>
            <size>3660</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWM1NzEwOTNiNjQwZDNm
Y2Q1Zjg1MGQ3ZWRiMjUzNDk1NmVkOTRmNC4uYjdhNzllYWVhNTFjNWUxNWZiYzg3YmZlMzVkYWI3
NDVlNzAxNzcxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTExLTE2ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBTdXBwcmVzcyByZW5kZXJp
bmcgb2YgbGlnaHQgY2hpbGRyZW4gd2hlbiBTaGFkb3dSb290IGlzIGR5bmFtaWNhbGx5IGNyZWF0
ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2RvbS9zaGFkb3cvZHluYW1pY2FsbHktY3JlYXRlZC1zaGFkb3ctcm9vdC1leHBlY3Rl
ZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9zaGFkb3cvZHluYW1pY2FsbHktY3JlYXRl
ZC1zaGFkb3ctcm9vdC5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpzZXRTaGFkb3dSb290KToKKwogMjAxMS0xMS0xNSAgU2hlcmlm
ZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjEwMDIxMy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCAxYmQ0ZDVj
Mzc2NzNmOWVlMjY2MDcxODQ5NmMxMjY4YWExMTI0OWFkLi4xZDk2ZDhkNGJmNWJhYjU1MjIxZGQ5
NGZiNmNmNjRiODhkNmYxYzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMjY0LDggKzEy
NjQsMTEgQEAgdm9pZCBFbGVtZW50OjpzZXRTaGFkb3dSb290KFBhc3NSZWZQdHI8U2hhZG93Um9v
dD4gcHJwU2hhZG93Um9vdCwgRXhjZXB0aW9uQ29kZSYKICAgICBzaGFkb3dSb290LT5zZXRTaGFk
b3dIb3N0KHRoaXMpOwogICAgIGlmIChpbkRvY3VtZW50KCkpCiAgICAgICAgIHNoYWRvd1Jvb3Qt
Pmluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0gICAgaWYgKGF0dGFjaGVkKCkpCisgICAgaWYgKGF0
dGFjaGVkKCkpIHsKKyAgICAgICAgZm9yIChOb2RlKiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hp
bGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpCisgICAgICAgICAgICBjaGlsZC0+ZGV0
YWNoKCk7CiAgICAgICAgIHNoYWRvd1Jvb3QtPmxhenlBdHRhY2goKTsKKyAgICB9CiB9CiAKIFNo
YWRvd1Jvb3QqIEVsZW1lbnQ6OmVuc3VyZVNoYWRvd1Jvb3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDExMDY2OTg1ZmNj
OTFmNzM5MWZhYTQzMjM3YjFkYTBiMDQwYTJkMTkuLjU5ODFjYTQ3N2Y0OGU1Y2NlMTdiNDRkN2Ex
YjY0OWUzZWIxYzU0ZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMS0xNiAgSGF5YXRv
IEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU3VwcHJlc3MgcmVuZGVyaW5n
IG9mIGxpZ2h0IGNoaWxkcmVuIHdoZW4gU2hhZG93Um9vdCBpcyBkeW5hbWljYWxseSBjcmVhdGVk
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9keW5hbWljYWxseS1jcmVhdGVkLXNoYWRvdy1yb290LWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9keW5hbWljYWxseS1jcmVhdGVkLXNo
YWRvdy1yb290Lmh0bWw6IEFkZGVkLgorCiAyMDExLTExLTE1ICBUb255IEdlbnRpbGNvcmUgIDx0
b255Z0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBwZXJmL2RvY3VtZW50LWNv
bnRhaW5zLmh0bWwgaXMgZmxha3kgb24gd2luCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvZHluYW1pY2FsbHktY3JlYXRlZC1zaGFkb3ctcm9vdC1leHBlY3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2R5bmFtaWNhbGx5LWNyZWF0ZWQtc2hhZG93
LXJvb3QtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzAzN2E2NTE3MjA4NzY4ZmU0ZjFlNjdh
MzIwYjlkOTdhMDI4MTE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2R5bmFtaWNhbGx5LWNyZWF0ZWQtc2hhZG93LXJvb3QtZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8ZGl2PgorVGhpcyB0ZXN0cyB0
aGF0IGR5bmFtaWNhbGx5IGNyZWF0ZWQgU2hhZG93Um9vdCBzaG91bGQgYmUgcmVuZGVyZWQgY29y
cmVjdGx5LgorQ2FuIG9ubHkgcnVuIHdpdGhpbiBEUlQuCis8L2Rpdj4KKzxkaXY+U2hhZG93IHNo
b3VsZCBiZSByZW5kZXJlZC48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9keW5hbWljYWxseS1jcmVhdGVkLXNoYWRvdy1yb290
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHluYW1pY2FsbHktY3JlYXRlZC1z
aGFkb3ctcm9vdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmNGE1ZjljMmEzMWQ3ZjcwNjBmOWIwNTgzNzQ0
MDAxODllMzQwMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvZHluYW1pY2FsbHktY3JlYXRlZC1zaGFkb3ctcm9vdC5odG1sCkBAIC0wLDAgKzEsMTYgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8ZGl2PgorVGhpcyB0ZXN0cyB0aGF0IGR5bmFtaWNh
bGx5IGNyZWF0ZWQgU2hhZG93Um9vdCBzaG91bGQgYmUgcmVuZGVyZWQgY29ycmVjdGx5LgorQ2Fu
IG9ubHkgcnVuIHdpdGhpbiBEUlQuCis8L2Rpdj4KKzxkaXYgaWQ9Imhvc3QiPkxpZ2h0IGNoaWxk
cmVuIHNob3VsZCBub3QgYmUgcmVuZGVyZWQuPC9kaXY+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICB2YXIgaG9zdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNob3N0
Jyk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSB3aW5kb3cuaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jv
b3QoaG9zdCk7CisgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSgnU2hhZG93IHNob3VsZCBiZSByZW5kZXJlZC4nKSk7Cit9Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117991</attachid>
            <date>2011-12-05 22:51:29 -0800</date>
            <delta_ts>2011-12-08 05:25:02 -0800</delta_ts>
            <desc>use lazy reattach</desc>
            <filename>bug-72441-20111206155127.patch</filename>
            <type>text/plain</type>
            <size>4464</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxODc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjg5MDhiN2FhMjcxMDky
NWIxYjYxZTk3ODMwYmI4NzljNmY4ZjBmNS4uZTQ5Y2YwMzk5YTE0YzIwOWExOGFhYzRiNDc4YTU0
NjY3OGIwOTE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTEyLTA1ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBTdXBwcmVzcyByZW5kZXJp
bmcgb2YgbGlnaHQgY2hpbGRyZW4gd2hlbiBTaGFkb3dSb290IGlzIGR5bmFtaWNhbGx5IGNyZWF0
ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2RvbS9zaGFkb3cvZHluYW1pY2FsbHktY3JlYXRlZC1zaGFkb3ctcm9vdC1leHBlY3Rl
ZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9zaGFkb3cvZHluYW1pY2FsbHktY3JlYXRl
ZC1zaGFkb3ctcm9vdC5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpzZXRTaGFkb3dSb290KToKKyAgICAgICAgKiBkb20vTm9kZS5o
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGV0YWNoQW5kTGF6eUF0dGFjaElmQXR0YWNoZWQp
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGV0YWNoQW5kTGF6eUF0dGFjaCk6CisKIDIwMTEt
MTItMDIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDE3MzEuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
aW5kZXggNjRjM2Y3MmE5ZDdjOWJiMjZiZWQzZjY1ZmY2Y2ExNzVmOGQzYmZlMS4uOWRlOGQ3MDVi
MDY3YTM2ZGFiNzhiYThiYTkwY2M4MDMxN2UyMjRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApA
QCAtMTIzNCw4ICsxMjM0LDcgQEAgdm9pZCBFbGVtZW50OjpzZXRTaGFkb3dSb290KFBhc3NSZWZQ
dHI8U2hhZG93Um9vdD4gcHJwU2hhZG93Um9vdCwgRXhjZXB0aW9uQ29kZSYKICAgICBzaGFkb3dS
b290LT5zZXRTaGFkb3dIb3N0KHRoaXMpOwogICAgIGlmIChpbkRvY3VtZW50KCkpCiAgICAgICAg
IHNoYWRvd1Jvb3QtPmluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0gICAgaWYgKGF0dGFjaGVkKCkp
Ci0gICAgICAgIHNoYWRvd1Jvb3QtPmxhenlBdHRhY2goKTsKKyAgICBkZXRhY2hBbmRMYXp5QXR0
YWNoSWZBdHRhY2hlZCgpOwogfQogCiBTaGFkb3dSb290KiBFbGVtZW50OjplbnN1cmVTaGFkb3dS
b290KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5oCmluZGV4IDg0NzQ0MDUwZTIzYzM1YmE5MTVkMTgzNTk3ZTEyNWNhNmJj
YjZjMTYuLjk0MWNhMzRiZWNjODIwOGU4NTk1NDQxZmRmZDIzMWFkY2YxOTIwMjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaApAQCAtNDY1LDYgKzQ2NSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVhdHRhY2goKTsK
ICAgICB2b2lkIHJlYXR0YWNoSWZBdHRhY2hlZCgpOworICAgIHZvaWQgZGV0YWNoQW5kTGF6eUF0
dGFjaCgpOworICAgIHZvaWQgZGV0YWNoQW5kTGF6eUF0dGFjaElmQXR0YWNoZWQoKTsKIAogICAg
IHZpcnR1YWwgdm9pZCB3aWxsUmVtb3ZlKCk7CiAgICAgdm9pZCBjcmVhdGVSZW5kZXJlcklmTmVl
ZGVkKCk7CkBAIC04MTIsNiArODE0LDE5IEBAIGlubGluZSB2b2lkIE5vZGU6OnJlYXR0YWNoSWZB
dHRhY2hlZCgpCiAgICAgICAgIHJlYXR0YWNoKCk7CiB9CiAKK2lubGluZSB2b2lkIE5vZGU6OmRl
dGFjaEFuZExhenlBdHRhY2hJZkF0dGFjaGVkKCkKK3sKKyAgICBpZiAoYXR0YWNoZWQoKSkKKyAg
ICAgICAgZGV0YWNoQW5kTGF6eUF0dGFjaCgpOworfQorCitpbmxpbmUgdm9pZCBOb2RlOjpkZXRh
Y2hBbmRMYXp5QXR0YWNoKCkKK3sKKyAgICBpZiAoYXR0YWNoZWQoKSkKKyAgICAgICAgZGV0YWNo
KCk7CisgICAgbGF6eUF0dGFjaCgpOworfQorCiB9IC8vbmFtZXNwYWNlCiAKICNpZm5kZWYgTkRF
QlVHCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMjE3ZDRjODdmMTBkZjQ4YjcyNTZlZDlkMDA0ZGE3ZTU1ZDY3OTdhMC4uNWY5
YjQxZTIxNTBhZTIwZTkwZWYxZDdhZWE0ZDM4OTk3ZDc2MjAyNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDExLTEyLTA1ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBTdXBwcmVzcyByZW5kZXJpbmcgb2YgbGlnaHQgY2hpbGRyZW4gd2hlbiBTaGFkb3dSb290
IGlzIGR5bmFtaWNhbGx5IGNyZWF0ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MjQ0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2R5bmFtaWNhbGx5LWNyZWF0ZWQtc2hh
ZG93LXJvb3QtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L2R5bmFtaWNhbGx5LWNyZWF0ZWQtc2hhZG93LXJvb3QuaHRtbDogQWRkZWQuCisKIDIwMTEtMTIt
MDIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDE3MzEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvZHluYW1pY2FsbHktY3JlYXRlZC1zaGFkb3ctcm9vdC1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2R5bmFtaWNhbGx5LWNyZWF0ZWQt
c2hhZG93LXJvb3QtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzAzN2E2NTE3MjA4NzY4ZmU0
ZjFlNjdhMzIwYjlkOTdhMDI4MTE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2R5bmFtaWNhbGx5LWNyZWF0ZWQtc2hhZG93LXJvb3QtZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8ZGl2PgorVGhpcyB0
ZXN0cyB0aGF0IGR5bmFtaWNhbGx5IGNyZWF0ZWQgU2hhZG93Um9vdCBzaG91bGQgYmUgcmVuZGVy
ZWQgY29ycmVjdGx5LgorQ2FuIG9ubHkgcnVuIHdpdGhpbiBEUlQuCis8L2Rpdj4KKzxkaXY+U2hh
ZG93IHNob3VsZCBiZSByZW5kZXJlZC48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9keW5hbWljYWxseS1jcmVhdGVkLXNoYWRv
dy1yb290Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHluYW1pY2FsbHktY3Jl
YXRlZC1zaGFkb3ctcm9vdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmNGE1ZjljMmEzMWQ3ZjcwNjBmOWIw
NTgzNzQ0MDAxODllMzQwMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvZHluYW1pY2FsbHktY3JlYXRlZC1zaGFkb3ctcm9vdC5odG1sCkBAIC0wLDAgKzEs
MTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8ZGl2PgorVGhpcyB0ZXN0cyB0aGF0IGR5
bmFtaWNhbGx5IGNyZWF0ZWQgU2hhZG93Um9vdCBzaG91bGQgYmUgcmVuZGVyZWQgY29ycmVjdGx5
LgorQ2FuIG9ubHkgcnVuIHdpdGhpbiBEUlQuCis8L2Rpdj4KKzxkaXYgaWQ9Imhvc3QiPkxpZ2h0
IGNoaWxkcmVuIHNob3VsZCBub3QgYmUgcmVuZGVyZWQuPC9kaXY+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKKyAgICB2YXIgaG9zdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
JyNob3N0Jyk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSB3aW5kb3cuaW50ZXJuYWxzLmVuc3VyZVNo
YWRvd1Jvb3QoaG9zdCk7CisgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgnU2hhZG93IHNob3VsZCBiZSByZW5kZXJlZC4nKSk7Cit9Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118367</attachid>
            <date>2011-12-08 05:25:08 -0800</date>
            <delta_ts>2011-12-08 20:16:42 -0800</delta_ts>
            <desc>revert it to the original patch</desc>
            <filename>bug-72441-20111208222506.patch</filename>
            <type>text/plain</type>
            <size>3643</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNlOTA1ZWVhYTEzMzhm
ODUyNTgxNzc2YjkyMWEwNTNlNDk2YzAxZS4uNTIwOTI0ZjRjYWJiMjliZGIxM2M0MTg0MDc5NTQw
ODIwYmFhMWRjYSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTEyLTA4ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBTdXBwcmVzcyByZW5kZXJp
bmcgb2YgbGlnaHQgY2hpbGRyZW4gd2hlbiBTaGFkb3dSb290IGlzIGR5bmFtaWNhbGx5IGNyZWF0
ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2RvbS9zaGFkb3cvZHluYW1pY2FsbHktY3JlYXRlZC1zaGFkb3ctcm9vdC1leHBlY3Rl
ZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9zaGFkb3cvZHluYW1pY2FsbHktY3JlYXRl
ZC1zaGFkb3ctcm9vdC5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpzZXRTaGFkb3dSb290KToKKwogMjAxMS0xMi0wNyAgU2hlcmlm
ZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjEwMjI0NC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBmMDU1NzJi
MTAyNDUyMzQ5YmFkOTVlN2YzNjI5YzI4ZGVlNzY2N2FiLi5hZWE4NjkzN2YxNDExYjA3YTYyYjhm
YjA5Yzc4M2UwMmFhMGQ5Y2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMjM4LDggKzEy
MzgsMTEgQEAgdm9pZCBFbGVtZW50OjpzZXRTaGFkb3dSb290KFBhc3NSZWZQdHI8U2hhZG93Um9v
dD4gcHJwU2hhZG93Um9vdCwgRXhjZXB0aW9uQ29kZSYKICAgICBzaGFkb3dSb290LT5zZXRTaGFk
b3dIb3N0KHRoaXMpOwogICAgIGlmIChpbkRvY3VtZW50KCkpCiAgICAgICAgIHNoYWRvd1Jvb3Qt
Pmluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0gICAgaWYgKGF0dGFjaGVkKCkpCisgICAgaWYgKGF0
dGFjaGVkKCkpIHsKICAgICAgICAgc2hhZG93Um9vdC0+bGF6eUF0dGFjaCgpOworICAgICAgICBm
b3IgKE5vZGUqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4
dFNpYmxpbmcoKSkKKyAgICAgICAgICAgIGNoaWxkLT5kZXRhY2goKTsKKyAgICB9CiB9CiAKIFNo
YWRvd1Jvb3QqIEVsZW1lbnQ6OmVuc3VyZVNoYWRvd1Jvb3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFiNDk2OTZkOTA5
OTQ2NTAwOGE0NDI3NGE4MmY1NDMyNGRmZjRjMmYuLjQ5N2NjZGNjNWQzOGQxZTM3MzM1ODQ5YzI0
MWMwN2QyNWI3ODRjZTcgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMi0wOCAgSGF5YXRv
IEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU3VwcHJlc3MgcmVuZGVyaW5n
IG9mIGxpZ2h0IGNoaWxkcmVuIHdoZW4gU2hhZG93Um9vdCBpcyBkeW5hbWljYWxseSBjcmVhdGVk
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9keW5hbWljYWxseS1jcmVhdGVkLXNoYWRvdy1yb290LWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9keW5hbWljYWxseS1jcmVhdGVkLXNo
YWRvdy1yb290Lmh0bWw6IEFkZGVkLgorCiAyMDExLTEyLTA3ICBTaGVyaWZmIEJvdCAgPHdlYmtp
dC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTAyMjQ0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2R5bmFt
aWNhbGx5LWNyZWF0ZWQtc2hhZG93LXJvb3QtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9keW5hbWljYWxseS1jcmVhdGVkLXNoYWRvdy1yb290LWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzcwMzdhNjUxNzIwODc2OGZlNGYxZTY3YTMyMGI5ZDk3YTAyODExOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9keW5hbWljYWxs
eS1jcmVhdGVkLXNoYWRvdy1yb290LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxib2R5PgorPGRpdj4KK1RoaXMgdGVzdHMgdGhhdCBkeW5hbWljYWxseSBj
cmVhdGVkIFNoYWRvd1Jvb3Qgc2hvdWxkIGJlIHJlbmRlcmVkIGNvcnJlY3RseS4KK0NhbiBvbmx5
IHJ1biB3aXRoaW4gRFJULgorPC9kaXY+Cis8ZGl2PlNoYWRvdyBzaG91bGQgYmUgcmVuZGVyZWQu
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvZHluYW1pY2FsbHktY3JlYXRlZC1zaGFkb3ctcm9vdC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2R5bmFtaWNhbGx5LWNyZWF0ZWQtc2hhZG93LXJvb3QuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45ZjRhNWY5YzJhMzFkN2Y3MDYwZjliMDU4Mzc0NDAwMTg5ZTM0MDBmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2R5bmFtaWNhbGx5LWNy
ZWF0ZWQtc2hhZG93LXJvb3QuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4K
Kzxib2R5PgorPGRpdj4KK1RoaXMgdGVzdHMgdGhhdCBkeW5hbWljYWxseSBjcmVhdGVkIFNoYWRv
d1Jvb3Qgc2hvdWxkIGJlIHJlbmRlcmVkIGNvcnJlY3RseS4KK0NhbiBvbmx5IHJ1biB3aXRoaW4g
RFJULgorPC9kaXY+Cis8ZGl2IGlkPSJob3N0Ij5MaWdodCBjaGlsZHJlbiBzaG91bGQgbm90IGJl
IHJlbmRlcmVkLjwvZGl2PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
dmFyIGhvc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaG9zdCcpOworICAgIHZhciBzaGFk
b3dSb290ID0gd2luZG93LmludGVybmFscy5lbnN1cmVTaGFkb3dSb290KGhvc3QpOworICAgIHNo
YWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ1NoYWRvdyBzaG91
bGQgYmUgcmVuZGVyZWQuJykpOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>