<?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>25086</bug_id>
          
          <creation_ts>2009-04-07 16:44:24 -0700</creation_ts>
          <short_desc>Can&apos;t unbold bolded list item when list is surrounded by &lt;b&gt; tag</short_desc>
          <delta_ts>2010-09-03 15:46:07 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.mozilla.org/editor/midasdemo/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Annie Sullivan">sullivan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>jparent</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>michaelthomas</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>116822</commentid>
    <comment_count>0</comment_count>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2009-04-07 16:44:24 -0700</bug_when>
    <thetext>Steps to reproduce:
1. Go to midas demo: http://www.mozilla.org/editor/midasdemo/
2. Enter the following html:
&lt;b&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;a&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/b&gt;
3. Uncheck &quot;View HTML Source&quot; and highlight &quot;a&quot;.
4. Press Bold button.

Actual result:
On first press of bold button, only inner &lt;b&gt; is removed. No visual change. Resulting HTML:
&lt;b&gt;&lt;ul&gt;&lt;li&gt;a&lt;/li&gt;&lt;/ul&gt;&lt;/b&gt;
On second press of bold button, a font-weight: normal span is applied to the text. It looks un-bolded, but this adds a lot of cruft to the html:
&lt;b&gt;&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;a&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/b&gt;

Expected result:
&lt;b&gt; tag surrounding list should be removed (this is what Firefox does):
&lt;ul&gt;&lt;li&gt;a&lt;/li&gt;&lt;/ul&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116861</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-04-08 03:57:43 -0700</bug_when>
    <thetext>You should definitely be able to unbold the text, but I&apos;m not sure we should remove the bold tags around the &lt;li&gt;, since they&apos;re outside of the current selection, and I think we generally try to avoid modifying content outside of the current selection when not explicitly required by the execCommand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134954</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-27 11:13:52 -0700</bug_when>
    <thetext>The given HTML is malformed for which we&apos;re not responsible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134971</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-27 11:42:46 -0700</bug_when>
    <thetext>WebKit produces visually correct markup. Of course, it&apos;ll be nice if we could remove b tag and fixes invalidity of the document, but since we don&apos;t make HTML less valid (the spec. requires this much), WebKit&apos;s behavior should be acceptable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135004</commentid>
    <comment_count>4</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2009-07-27 13:36:03 -0700</bug_when>
    <thetext>I think we do have to be responsible for malformed markup due to copy-paste and innerHTML injection.

The correct user-visible behavior is clear. The first time you hit the bold button, the text should unbold. The second time you hit the bold button, it should become bold again.

In terms of markup, I don&apos;t see why we shouldn&apos;t remove the bold tag around the UL since all it&apos;s text is contained in the selection. Here&apos;s a more general example though:

&lt;b&gt;
  &lt;ul&gt;
    &lt;li&gt;foo&lt;/li&gt;
    &lt;li&gt;bar&lt;/li&gt;
  &lt;/ul&gt;
&lt;/b&gt;

If you select the &quot;f&quot; and then execCommand(&apos;bold&apos;), I think the ideal behavior would be to end up with the following markup:
&lt;ul&gt;
  &lt;li&gt;f&lt;b&gt;oo&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;bar&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

The inline bold tag should be brought into the blocks that it wraps and then we should unbold like we normally do for valid markup.

I&apos;m open to arguments for other markup though. It&apos;s hard to say what markup is &quot;correct&quot; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135006</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-27 13:47:20 -0700</bug_when>
    <thetext>&gt; In terms of markup, I don&apos;t see why we shouldn&apos;t remove the bold tag around the
&gt; UL since all it&apos;s text is contained in the selection.

But I don&apos;t see why we must insist on removing b either.  Of course, if it was inside LI, then we should definitely remove it.

&gt;Here&apos;s a more general
&gt; example though:
&gt; 
&gt; &lt;b&gt;
&gt;   &lt;ul&gt;
&gt;     &lt;li&gt;foo&lt;/li&gt;
&gt;     &lt;li&gt;bar&lt;/li&gt;
&gt;   &lt;/ul&gt;
&gt; &lt;/b&gt;
&gt; 
&gt; If you select the &quot;f&quot; and then execCommand(&apos;bold&apos;), I think the ideal behavior
&gt; would be to end up with the following markup:
&gt; &lt;ul&gt;
&gt;   &lt;li&gt;f&lt;b&gt;oo&lt;/b&gt;&lt;/li&gt;
&gt;   &lt;li&gt;&lt;b&gt;bar&lt;/b&gt;&lt;/li&gt;
&gt; &lt;/ul&gt;
&gt; 
&gt; The inline bold tag should be brought into the blocks that it wraps and then we
&gt; should unbold like we normally do for valid markup.

So you&apos;re suggesting that we treat b and other things more like text decoration in that we remove all b ancestors, and reapply them.  I think, then we should preprocess the HTML.  e.g. we can first convert:
&lt;b&gt;
  &lt;ul&gt;
    &lt;li&gt;foo&lt;/li&gt;
    &lt;li&gt;bar&lt;/li&gt;
  &lt;/ul&gt;
&lt;/b&gt;
to
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;foo&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;bar&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
Then WebKit does what user expects to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135010</commentid>
    <comment_count>6</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2009-07-27 14:11:49 -0700</bug_when>
    <thetext>Do any editors make this kind of markup?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135017</commentid>
    <comment_count>7</comment_count>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2009-07-27 14:20:39 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Do any editors make this kind of markup?

I&apos;ve seen this HTML in several Google Docs where the user had not hand-edited the HTML, and the doc had only been edited in WebKit (Chrome/Safari). Google Docs JS code doesn&apos;t ever generate HTML like this, but I can&apos;t repro exactly how the HTML got there. My best guess is copy/paste, since I&apos;ve seen similar things happen on copy/paste like in bug 26937.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135030</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-27 15:05:18 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I&apos;ve seen this HTML in several Google Docs where the user had not hand-edited
&gt; the HTML, and the doc had only been edited in WebKit (Chrome/Safari). Google
&gt; Docs JS code doesn&apos;t ever generate HTML like this, but I can&apos;t repro exactly
&gt; how the HTML got there. My best guess is copy/paste, since I&apos;ve seen similar
&gt; things happen on copy/paste like in bug 26937.

We should fix 26937 instead then.  Because this behavior (not deleting b outside of ul) doesn&apos;t seem to be a problem if we didn&apos;t produce invalid HTML in the first place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135033</commentid>
    <comment_count>9</comment_count>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2009-07-27 15:11:10 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; I&apos;ve seen this HTML in several Google Docs where the user had not hand-edited
&gt; &gt; the HTML, and the doc had only been edited in WebKit (Chrome/Safari). Google
&gt; &gt; Docs JS code doesn&apos;t ever generate HTML like this, but I can&apos;t repro exactly
&gt; &gt; how the HTML got there. My best guess is copy/paste, since I&apos;ve seen similar
&gt; &gt; things happen on copy/paste like in bug 26937.
&gt; 
&gt; We should fix 26937 instead then.  Because this behavior (not deleting b
&gt; outside of ul) doesn&apos;t seem to be a problem if we didn&apos;t produce invalid HTML
&gt; in the first place.

It also seems that if a web page contains invalid HTML (e.g. &lt;b&gt;&lt;ul&gt;&lt;li&gt;b&lt;/li&gt;&lt;/ul&gt;&lt;/b&gt;), and a user copy/pastes from that page, the invalid HTML gets pasted as-is into the contenteditable area. Should I file that as a 3rd bug?

But even if that gets fixed as well, a user could still do the same thing in Firefox or IE, and then a WebKit user would be unable to unbold the content later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135042</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-27 15:32:07 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; It also seems that if a web page contains invalid HTML (e.g.
&gt; &lt;b&gt;&lt;ul&gt;&lt;li&gt;b&lt;/li&gt;&lt;/ul&gt;&lt;/b&gt;), and a user copy/pastes from that page, the invalid
&gt; HTML gets pasted as-is into the contenteditable area. Should I file that as a
&gt; 3rd bug?

Thank you to bring that up.  Yes, that could be filed as a 3rd bug.  Since spec. says we need to be as valid as the original document was, if the document to which the content is copied into was, say HTML4.01, then we definitely want to avoid such markups.

But this brings up another, more general issue.  Say user was editing HTML4.01 then he copy &amp; paste a part of it into XHTML1.01.  Then we need to be extra careful about what kind of markup we&apos;re inserting.  Because while &lt;ul&gt;&lt;li&gt;&lt;b&gt;hello&lt;/li&gt;&lt;/ul&gt;world is a valid HTML4.01 that results in bolded hello followed by &quot;normal&quot; world, it isn&apos;t even a valid XML markup so that it completely fails to be valid in XHTML1.01.  Do we handle such cases?

What if we were editing HTML5 and then copy &amp; paste a content that contains video tag to HTML4.01?  Should we delete video tag?  There are so many possibility here.

&gt; But even if that gets fixed as well, a user could still do the same thing in
&gt; Firefox or IE, and then a WebKit user would be unable to unbold the content
&gt; later.

Users can unbold the text, can&apos;t they?  We don&apos;t delete b but we add style=&quot;font-weight: normal;&quot;  As far as I checked, the text isn&apos;t bolded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136248</commentid>
    <comment_count>11</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2009-07-31 14:06:39 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; It also seems that if a web page contains invalid HTML (e.g.
&gt; &gt; &lt;b&gt;&lt;ul&gt;&lt;li&gt;b&lt;/li&gt;&lt;/ul&gt;&lt;/b&gt;), and a user copy/pastes from that page, the invalid
&gt; &gt; HTML gets pasted as-is into the contenteditable area. Should I file that as a
&gt; &gt; 3rd bug?
&gt; 
&gt; Thank you to bring that up.  Yes, that could be filed as a 3rd bug.  Since
&gt; spec. says we need to be as valid as the original document was, if the document
&gt; to which the content is copied into was, say HTML4.01, then we definitely want
&gt; to avoid such markups.

Does the spec say this? I&apos;m not sure I really agree with this. That&apos;s a separate discussion from this bug though and should be discussed there.

&gt; What if we were editing HTML5 and then copy &amp; paste a content that contains
&gt; video tag to HTML4.01?  Should we delete video tag?  There are so many
&gt; possibility here.

I think it would be fine to just include the video tag. A UA that only supports HTML 4.01 will just ignore it.

&gt; &gt; But even if that gets fixed as well, a user could still do the same thing in
&gt; &gt; Firefox or IE, and then a WebKit user would be unable to unbold the content
&gt; &gt; later.
&gt; 
&gt; Users can unbold the text, can&apos;t they?  We don&apos;t delete b but we add
&gt; style=&quot;font-weight: normal;&quot;  As far as I checked, the text isn&apos;t bolded.

But you have to click *twice* to get it unbolded. The first click should unbold it. The second should make it bold again.

(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; I&apos;ve seen this HTML in several Google Docs where the user had not hand-edited
&gt; &gt; the HTML, and the doc had only been edited in WebKit (Chrome/Safari). Google
&gt; &gt; Docs JS code doesn&apos;t ever generate HTML like this, but I can&apos;t repro exactly
&gt; &gt; how the HTML got there. My best guess is copy/paste, since I&apos;ve seen similar
&gt; &gt; things happen on copy/paste like in bug 26937.
&gt; 
&gt; We should fix 26937 instead then.  Because this behavior (not deleting b
&gt; outside of ul) doesn&apos;t seem to be a problem if we didn&apos;t produce invalid HTML
&gt; in the first place.

While I agree that we should fix bug 26937, the way that copy-paste in WebKit wraps the copied content in a span with styling will, in some cases, result in the span being left behind. That&apos;s be design! Why else wrap it in a span? So, you could construct a case where copy-pasting from one page into another would give this sort of markup only using WebKit.

(In reply to comment #5)
&gt; &gt; In terms of markup, I don&apos;t see why we shouldn&apos;t remove the bold tag around the
&gt; &gt; UL since all it&apos;s text is contained in the selection.
&gt; 
&gt; But I don&apos;t see why we must insist on removing b either.  Of course, if it was
&gt; inside LI, then we should definitely remove it.

I don&apos;t see why it makes a difference if it&apos;s inside or outside the LI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158632</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-10-28 10:37:29 -0700</bug_when>
    <thetext>&gt; But you have to click *twice* to get it unbolded. The first click should unbold
&gt; it. The second should make it bold again.

Oh, that&apos;s a serious bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158670</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-10-28 12:55:10 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; &gt; But you have to click *twice* to get it unbolded. The first click should unbold
&gt; &gt; it. The second should make it bold again.
&gt; 
&gt; Oh, that&apos;s a serious bug.

This having-to-click-twice bug should be fixed in http://trac.webkit.org/changeset/50172.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192351</commentid>
    <comment_count>14</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-02-21 21:20:15 -0800</bug_when>
    <thetext>Should this bug be closed now?  It seems like pressing bold once in the original example unbolds, although the HTML is a bit ugly:
&lt;b&gt;&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;a&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/b&gt;

The HTML can&apos;t be bolded again in Firefox 3.6 :(  It just tries to add styles to the &lt;ul&gt; which aren&apos;t able to override the span around the &apos;a&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192390</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-02-22 01:48:58 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Should this bug be closed now?

No, we shouldn&apos;t because

&gt; It seems like pressing bold once in the
&gt; original example unbolds, although the HTML is a bit ugly:
&gt; &lt;b&gt;&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight:
&gt; normal;&quot;&gt;a&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/b&gt;

This is the exact behavior this bug is addressing. I once closed this bug with the same reasoning but it has been argued that we should fix this bug, and produce nicer markup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192511</commentid>
    <comment_count>16</comment_count>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2010-02-22 10:24:01 -0800</bug_when>
    <thetext>I&apos;d really like to keep this bug opened, because the type of cross-browser problem you describe below is extremely difficult for developers to track down and fix.

&gt; The HTML can&apos;t be bolded again in Firefox 3.6 :(  It just tries to add styles
&gt; to the &lt;ul&gt; which aren&apos;t able to override the span around the &apos;a&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273820</commentid>
    <comment_count>17</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-03 00:27:12 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/66324 solved this issue.  We just need to check in a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273826</commentid>
    <comment_count>18</comment_count>
      <attachid>66476</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-03 00:56:56 -0700</bug_when>
    <thetext>Created attachment 66476
adds a regression test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273839</commentid>
    <comment_count>19</comment_count>
      <attachid>66476</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-03 02:17:38 -0700</bug_when>
    <thetext>Comment on attachment 66476
adds a regression test

ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273840</commentid>
    <comment_count>20</comment_count>
      <attachid>66476</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-03 02:18:53 -0700</bug_when>
    <thetext>Comment on attachment 66476
adds a regression test

&gt; +
&gt; +//document.body.removeChild(testContainer);
&gt; +

Commented out code should be removed.  However, I like removing testContainer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273841</commentid>
    <comment_count>21</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-03 02:21:05 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to comment #20)
&gt; (From update of attachment 66476 [details])
&gt; &gt; +
&gt; &gt; +//document.body.removeChild(testContainer);
&gt; &gt; +
&gt; 
&gt; Commented out code should be removed.  However, I like removing testContainer.

Sorry about that.  I commented out for debugging and forgot to re-enable it.  I&apos;ll enable it before landing.  This will also remove &quot;hello world webkit&quot; after TEST COMPLETE as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274051</commentid>
    <comment_count>22</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-03 11:21:52 -0700</bug_when>
    <thetext>Committed r66743: &lt;http://trac.webkit.org/changeset/66743&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274086</commentid>
    <comment_count>23</comment_count>
      <attachid>66528</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-03 11:55:03 -0700</bug_when>
    <thetext>Created attachment 66528
test fix

Fixed the test for non-Mac platforms.  The problem was that I wasn&apos;t setting selection properly on non-Mac platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274101</commentid>
    <comment_count>24</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-09-03 12:08:06 -0700</bug_when>
    <thetext>The test is failing on chromium linux.  Add it to test_expectations.txt for now.  See r66754.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274135</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-03 12:49:48 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/66743 might have broken Qt Linux Release
The following changes are on the blame list:
http://trac.webkit.org/changeset/66742
http://trac.webkit.org/changeset/66743</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274225</commentid>
    <comment_count>26</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-03 15:46:07 -0700</bug_when>
    <thetext>Test fixed in http://trac.webkit.org/changeset/66764 and http://trac.webkit.org/changeset/66764.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66476</attachid>
            <date>2010-09-03 00:56:56 -0700</date>
            <delta_ts>2010-09-03 02:18:53 -0700</delta_ts>
            <desc>adds a regression test</desc>
            <filename>bug-25086-20100903005654.patch</filename>
            <type>text/plain</type>
            <size>9605</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY2NzE4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMDktMDMgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ2FuJ3QgdW5ib2xkIGJvbGRlZCBsaXN0IGl0ZW0gd2hlbiBsaXN0IGlzIHN1cnJv
dW5kZWQgYnkgPGI+IHRhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjUwODYKKworICAgICAgICBBZGRlZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgdGhl
IGJ1ZyBiZWNhdXNlIHRoZSBidWcgaGFzIGJlZW4gZml4ZWQgYnkgaHR0cDovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvNjYzMjQuCisgICAgICAgIFRoZSB0ZXN0IGVuc3VyZXMgV2ViS2l0IHJl
bW92ZXMgaW1wbGljaXRseSBzdHlsZWQgZWxlbWVudCBzdWNoIGFzIGIgYXJvdW5kIGxpc3QgZWxl
bWVudAorICAgICAgICB3aGVuIHN0eWxlIGlzIHRvZ2dsZWQgaW5zaWRlIHRoZSBsaXN0LgorCisg
ICAgICAgICogZWRpdGluZy9zdHlsZS9wdXNoLWRvd24taW1wbGljaXQtc3R5bGVzLWFyb3VuZC1s
aXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zdHlsZS9wdXNoLWRv
d24taW1wbGljaXQtc3R5bGVzLWFyb3VuZC1saXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvc3R5bGUvc2NyaXB0LXRlc3RzL3B1c2gtZG93bi1pbXBsaWNpdC1zdHlsZXMtYXJvdW5k
LWxpc3QuanM6IEFkZGVkLgorICAgICAgICAodGVzdFNpbmdsZVRvZ2dsZSk6CisgICAgICAgIChz
ZWxlY3RBbGwpOgorICAgICAgICAoc2VsZWN0VGVzdCk6CisgICAgICAgIChzZWxlY3RGaXJzdFdv
cmQpOgorICAgICAgICAoc2VsZWN0U2Vjb25kV29yZCk6CisgICAgICAgIChzZWxlY3RMYXN0VHdv
V29yZHMpOgorCiAyMDEwLTA5LTAzICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCB1cGRhdGVkIEdUSyBiYXNlbGluZXMgb2YgYSBt
YXRobWwgdGVzdC4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvcHVzaC1kb3duLWlt
cGxpY2l0LXN0eWxlcy1hcm91bmQtbGlzdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9wdXNoLWRvd24taW1wbGljaXQtc3R5bGVzLWFyb3VuZC1s
aXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvc3R5
bGUvcHVzaC1kb3duLWltcGxpY2l0LXN0eWxlcy1hcm91bmQtbGlzdC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMjYgQEAKK1Rlc3QgdG8gbWFrZSBzdXJlIHdlIHB1c2ggZG93
biBpbmxpbmUgc3R5bGVzIHByb3Blcmx5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBib2xkIG9uIGZpcnN0IHdvcmQgb2YgPGI+PHVsPjxsaT48Yj5hPC9iPjwvbGk+PC91
bD48L2I+IHlpZWxkcyA8dWw+PGxpPmE8L2xpPjwvdWw+CitQQVNTIGJvbGQgb24gZmlyc3Qgd29y
ZCBvZiA8Yj48dWw+PGxpPmhlbGxvPC9saT48bGk+d29ybGQ8L2xpPjwvdWw+PC9iPiB5aWVsZHMg
PHVsPjxsaT5oZWxsbzwvbGk+PGxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsgIj53b3JsZDwv
bGk+PC91bD4KK1BBU1MgYm9sZCBvbiBzZWNvbmQgd29yZCBvZiA8dWw+PGxpPmhlbGxvPC9saT48
bGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyAiPndvcmxkPC9saT48L3VsPiB5aWVsZHMgPHVs
PjxsaT5oZWxsbzwvbGk+PGxpPndvcmxkPC9saT48L3VsPgorUEFTUyBib2xkIG9uIGZpcnN0IHdv
cmQgb2YgPGI+PHVsPjxsaT5oZWxsbyB3b3JsZDwvbGk+PGxpPndlYmtpdDwvbGk+PC91bD48L2I+
IHlpZWxkcyA8dWw+PGxpPmhlbGxvPGI+IHdvcmxkPC9iPjwvbGk+PGxpIHN0eWxlPSJmb250LXdl
aWdodDogYm9sZDsgIj53ZWJraXQ8L2xpPjwvdWw+CitQQVNTIGl0YWxpYyBvbiBmaXJzdCB3b3Jk
IG9mIDxpPjx1bD48bGk+PGk+YTwvaT48L2xpPjwvdWw+PC9pPiB5aWVsZHMgPHVsPjxsaT5hPC9s
aT48L3VsPgorUEFTUyBpdGFsaWMgb24gZmlyc3Qgd29yZCBvZiA8aT48dWw+PGxpPmhlbGxvPC9s
aT48bGk+d29ybGQ8L2xpPjwvdWw+PC9pPiB5aWVsZHMgPHVsPjxsaT5oZWxsbzwvbGk+PGxpIHN0
eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7ICI+d29ybGQ8L2xpPjwvdWw+CitQQVNTIGl0YWxpYyBv
biBzZWNvbmQgd29yZCBvZiA8dWw+PGxpPmhlbGxvPC9saT48bGkgc3R5bGU9ImZvbnQtc3R5bGU6
IGl0YWxpYzsgIj53b3JsZDwvbGk+PC91bD4geWllbGRzIDx1bD48bGk+aGVsbG88L2xpPjxsaT53
b3JsZDwvbGk+PC91bD4KK1BBU1MgaXRhbGljIG9uIGZpcnN0IHdvcmQgb2YgPGk+PHVsPjxsaT5o
ZWxsbyB3b3JsZDwvbGk+PGxpPndlYmtpdDwvbGk+PC91bD48L2k+IHlpZWxkcyA8dWw+PGxpPmhl
bGxvPGk+IHdvcmxkPC9pPjwvbGk+PGxpIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7ICI+d2Vi
a2l0PC9saT48L3VsPgorUEFTUyB1bmRlcmxpbmUgb24gZmlyc3Qgd29yZCBvZiA8dT48dWw+PGxp
Pjx1PmE8L3U+PC9saT48L3VsPjwvdT4geWllbGRzIDx1bD48bGk+YTwvbGk+PC91bD4KK1BBU1Mg
dW5kZXJsaW5lIG9uIGZpcnN0IHdvcmQgb2YgPHU+PHVsPjxsaT5oZWxsbzwvbGk+PGxpPndvcmxk
PC9saT48L3VsPjwvdT4geWllbGRzIDx1bD48bGk+aGVsbG88L2xpPjxsaSBzdHlsZT0idGV4dC1k
ZWNvcmF0aW9uOiB1bmRlcmxpbmU7ICI+d29ybGQ8L2xpPjwvdWw+CitQQVNTIHVuZGVybGluZSBv
biBzZWNvbmQgd29yZCBvZiA8dWw+PGxpPmhlbGxvPC9saT48bGkgc3R5bGU9InRleHQtZGVjb3Jh
dGlvbjogdW5kZXJsaW5lOyAiPndvcmxkPC9saT48L3VsPiB5aWVsZHMgPHVsPjxsaT5oZWxsbzwv
bGk+PGxpPndvcmxkPC9saT48L3VsPgorUEFTUyB1bmRlcmxpbmUgb24gZmlyc3Qgd29yZCBvZiA8
dT48dWw+PGxpPmhlbGxvIHdvcmxkPC9saT48bGk+d2Via2l0PC9saT48L3VsPjwvdT4geWllbGRz
IDx1bD48bGk+aGVsbG88dT4gd29ybGQ8L3U+PC9saT48bGkgc3R5bGU9InRleHQtZGVjb3JhdGlv
bjogdW5kZXJsaW5lOyAiPndlYmtpdDwvbGk+PC91bD4KK1BBU1Mgc3RyaWtldGhyb3VnaCBvbiBm
aXJzdCB3b3JkIG9mIDxzPjx1bD48bGk+PHM+YTwvcz48L2xpPjwvdWw+PC9zPiB5aWVsZHMgPHVs
PjxsaT5hPC9saT48L3VsPgorUEFTUyBzdHJpa2V0aHJvdWdoIG9uIGZpcnN0IHdvcmQgb2YgPHM+
PHVsPjxsaT5oZWxsbzwvbGk+PGxpPndvcmxkPC9saT48L3VsPjwvcz4geWllbGRzIDx1bD48bGk+
aGVsbG88L2xpPjxsaSBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7ICI+d29y
bGQ8L2xpPjwvdWw+CitQQVNTIHN0cmlrZXRocm91Z2ggb24gc2Vjb25kIHdvcmQgb2YgPHVsPjxs
aT5oZWxsbzwvbGk+PGxpIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgIj53
b3JsZDwvbGk+PC91bD4geWllbGRzIDx1bD48bGk+aGVsbG88L2xpPjxsaT53b3JsZDwvbGk+PC91
bD4KK1BBU1Mgc3RyaWtldGhyb3VnaCBvbiBmaXJzdCB3b3JkIG9mIDxzPjx1bD48bGk+aGVsbG8g
d29ybGQ8L2xpPjxsaT53ZWJraXQ8L2xpPjwvdWw+PC9zPiB5aWVsZHMgPHVsPjxsaT5oZWxsbzxz
PiB3b3JsZDwvcz48L2xpPjxsaSBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7
ICI+d2Via2l0PC9saT48L3VsPgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCitoZWxsbyB3b3JsZAord2Via2l0CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0
aW5nL3N0eWxlL3B1c2gtZG93bi1pbXBsaWNpdC1zdHlsZXMtYXJvdW5kLWxpc3QuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3B1c2gtZG93bi1pbXBsaWNpdC1z
dHlsZXMtYXJvdW5kLWxpc3QuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRp
bmcvc3R5bGUvcHVzaC1kb3duLWltcGxpY2l0LXN0eWxlcy1hcm91bmQtbGlzdC5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9wdXNoLWRvd24taW1wbGljaXQt
c3R5bGVzLWFyb3VuZC1saXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9zY3JpcHQtdGVzdHMvcHVzaC1kb3du
LWltcGxpY2l0LXN0eWxlcy1hcm91bmQtbGlzdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3N0eWxlL3NjcmlwdC10ZXN0cy9wdXNoLWRvd24taW1wbGljaXQtc3R5bGVzLWFy
b3VuZC1saXN0LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9z
Y3JpcHQtdGVzdHMvcHVzaC1kb3duLWltcGxpY2l0LXN0eWxlcy1hcm91bmQtbGlzdC5qcwkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw3MiBAQAorZGVzY3JpcHRpb24oJ1Rlc3QgdG8gbWFrZSBzdXJl
IHdlIHB1c2ggZG93biBpbmxpbmUgc3R5bGVzIHByb3Blcmx5LicpOworCit2YXIgdGVzdENvbnRh
aW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwordGVzdENvbnRhaW5lci5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0Q29udGFp
bmVyKTsKKworZnVuY3Rpb24gdGVzdFNpbmdsZVRvZ2dsZSh0b2dnbGVDb21tYW5kLCBzZWxlY3Rv
ciwgaW5pdGlhbENvbnRlbnRzLCBleHBlY3RlZENvbnRlbnRzKQoreworICAgIHRlc3RDb250YWlu
ZXIuaW5uZXJIVE1MID0gaW5pdGlhbENvbnRlbnRzOworICAgIHZhciBzZWxlY3RlZCA9IHNlbGVj
dG9yKHRlc3RDb250YWluZXIpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdzdHlsZVdpdGhD
U1MnLCBmYWxzZSwgJ2ZhbHNlJyk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQodG9nZ2xlQ29t
bWFuZCwgZmFsc2UsIG51bGwpOworICAgIHZhciBhY3Rpb24gPSB0b2dnbGVDb21tYW5kICsgJyBv
biAnICsgc2VsZWN0ZWQgKyAnIG9mICcgKyBpbml0aWFsQ29udGVudHMgKyAiIHlpZWxkcyAiICsg
dGVzdENvbnRhaW5lci5pbm5lckhUTUw7CisgICAgaWYgKHRlc3RDb250YWluZXIuaW5uZXJIVE1M
ID09IGV4cGVjdGVkQ29udGVudHMpCisgICAgICAgIHRlc3RQYXNzZWQoYWN0aW9uKTsKKyAgICBl
bHNlCisgICAgICAgIHRlc3RGYWlsZWQoYWN0aW9uICsgIiwgZXhwZWN0ZWQgIiArIGV4cGVjdGVk
Q29udGVudHMpOworfQorCitmdW5jdGlvbiBzZWxlY3RBbGwoY29udGFpbmVyKSB7CisgICAgd2lu
ZG93LmdldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGNvbnRhaW5lcik7CisgICAgcmV0
dXJuICdhbGwnOworfQorCitmdW5jdGlvbiBzZWxlY3RUZXN0KGNvbnRhaW5lcikgeworICAgIHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGVzdCcpKTsKKyAgICByZXR1cm4gJ3Rlc3QnOworfQorCitmdW5jdGlvbiBzZWxlY3RG
aXJzdFdvcmQoY29udGFpbmVyKSB7CisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNldFBvc2l0
aW9uKGNvbnRhaW5lciwgMCk7CisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0
ZW5kJywgJ2ZvcndhcmQnLCAnd29yZCcpOworICAgIHJldHVybiAnZmlyc3Qgd29yZCc7Cit9CisK
K2Z1bmN0aW9uIHNlbGVjdFNlY29uZFdvcmQoY29udGFpbmVyKSB7CisgICAgd2luZG93LmdldFNl
bGVjdGlvbigpLnNldFBvc2l0aW9uKGNvbnRhaW5lciwgMCk7CisgICAgd2luZG93LmdldFNlbGVj
dGlvbigpLm1vZGlmeSgnbW92ZScsICdmb3J3YXJkJywgJ3dvcmQnKTsKKyAgICB3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkubW9kaWZ5KCdleHRlbmQnLCAnZm9yd2FyZCcsICd3b3JkJyk7CisgICAgcmV0
dXJuICdzZWNvbmQgd29yZCc7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdExhc3RUd29Xb3Jkcyhjb250
YWluZXIpIHsKKyAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oY29udGFpbmVy
LCBjb250YWluZXIuY2hpbGROb2Rlcy5sZW5ndGgpOworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24o
KS5tb2RpZnkoJ2V4dGVuZCcsICdiYWNrd2FyZCcsICd3b3JkJyk7CisgICAgd2luZG93LmdldFNl
bGVjdGlvbigpLm1vZGlmeSgnZXh0ZW5kJywgJ2JhY2t3YXJkJywgJ3dvcmQnKTsKKyAgICByZXR1
cm4gJ2xhc3QgdHdvIHdvcmRzJzsKK30KKwordGVzdFNpbmdsZVRvZ2dsZSgiYm9sZCIsIHNlbGVj
dEZpcnN0V29yZCwgJzxiPjx1bD48bGk+PGI+YTwvYj48L2xpPjwvdWw+PC9iPicsICc8dWw+PGxp
PmE8L2xpPjwvdWw+Jyk7Cit0ZXN0U2luZ2xlVG9nZ2xlKCJib2xkIiwgc2VsZWN0Rmlyc3RXb3Jk
LCAnPGI+PHVsPjxsaT5oZWxsbzwvbGk+PGxpPndvcmxkPC9saT48L3VsPjwvYj4nLCAnPHVsPjxs
aT5oZWxsbzwvbGk+PGxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsgIj53b3JsZDwvbGk+PC91
bD4nKTsKK3Rlc3RTaW5nbGVUb2dnbGUoImJvbGQiLCBzZWxlY3RTZWNvbmRXb3JkLCAnPHVsPjxs
aT5oZWxsbzwvbGk+PGxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsgIj53b3JsZDwvbGk+PC91
bD4nLCAnPHVsPjxsaT5oZWxsbzwvbGk+PGxpPndvcmxkPC9saT48L3VsPicpOwordGVzdFNpbmds
ZVRvZ2dsZSgiYm9sZCIsIHNlbGVjdEZpcnN0V29yZCwgJzxiPjx1bD48bGk+aGVsbG8gd29ybGQ8
L2xpPjxsaT53ZWJraXQ8L2xpPjwvdWw+PC9iPicsICc8dWw+PGxpPmhlbGxvPGI+IHdvcmxkPC9i
PjwvbGk+PGxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsgIj53ZWJraXQ8L2xpPjwvdWw+Jyk7
CisKK3Rlc3RTaW5nbGVUb2dnbGUoIml0YWxpYyIsIHNlbGVjdEZpcnN0V29yZCwgJzxpPjx1bD48
bGk+PGk+YTwvaT48L2xpPjwvdWw+PC9pPicsICc8dWw+PGxpPmE8L2xpPjwvdWw+Jyk7Cit0ZXN0
U2luZ2xlVG9nZ2xlKCJpdGFsaWMiLCBzZWxlY3RGaXJzdFdvcmQsICc8aT48dWw+PGxpPmhlbGxv
PC9saT48bGk+d29ybGQ8L2xpPjwvdWw+PC9pPicsICc8dWw+PGxpPmhlbGxvPC9saT48bGkgc3R5
bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsgIj53b3JsZDwvbGk+PC91bD4nKTsKK3Rlc3RTaW5nbGVU
b2dnbGUoIml0YWxpYyIsIHNlbGVjdFNlY29uZFdvcmQsICc8dWw+PGxpPmhlbGxvPC9saT48bGkg
c3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsgIj53b3JsZDwvbGk+PC91bD4nLCAnPHVsPjxsaT5o
ZWxsbzwvbGk+PGxpPndvcmxkPC9saT48L3VsPicpOwordGVzdFNpbmdsZVRvZ2dsZSgiaXRhbGlj
Iiwgc2VsZWN0Rmlyc3RXb3JkLCAnPGk+PHVsPjxsaT5oZWxsbyB3b3JsZDwvbGk+PGxpPndlYmtp
dDwvbGk+PC91bD48L2k+JywgJzx1bD48bGk+aGVsbG88aT4gd29ybGQ8L2k+PC9saT48bGkgc3R5
bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsgIj53ZWJraXQ8L2xpPjwvdWw+Jyk7CisKK3Rlc3RTaW5n
bGVUb2dnbGUoInVuZGVybGluZSIsIHNlbGVjdEZpcnN0V29yZCwgJzx1Pjx1bD48bGk+PHU+YTwv
dT48L2xpPjwvdWw+PC91PicsICc8dWw+PGxpPmE8L2xpPjwvdWw+Jyk7Cit0ZXN0U2luZ2xlVG9n
Z2xlKCJ1bmRlcmxpbmUiLCBzZWxlY3RGaXJzdFdvcmQsICc8dT48dWw+PGxpPmhlbGxvPC9saT48
bGk+d29ybGQ8L2xpPjwvdWw+PC91PicsICc8dWw+PGxpPmhlbGxvPC9saT48bGkgc3R5bGU9InRl
eHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAiPndvcmxkPC9saT48L3VsPicpOwordGVzdFNpbmds
ZVRvZ2dsZSgidW5kZXJsaW5lIiwgc2VsZWN0U2Vjb25kV29yZCwgJzx1bD48bGk+aGVsbG88L2xp
PjxsaSBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7ICI+d29ybGQ8L2xpPjwvdWw+
JywgJzx1bD48bGk+aGVsbG88L2xpPjxsaT53b3JsZDwvbGk+PC91bD4nKTsKK3Rlc3RTaW5nbGVU
b2dnbGUoInVuZGVybGluZSIsIHNlbGVjdEZpcnN0V29yZCwgJzx1Pjx1bD48bGk+aGVsbG8gd29y
bGQ8L2xpPjxsaT53ZWJraXQ8L2xpPjwvdWw+PC91PicsICc8dWw+PGxpPmhlbGxvPHU+IHdvcmxk
PC91PjwvbGk+PGxpIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgIj53ZWJraXQ8
L2xpPjwvdWw+Jyk7CisKK3Rlc3RTaW5nbGVUb2dnbGUoInN0cmlrZXRocm91Z2giLCBzZWxlY3RG
aXJzdFdvcmQsICc8cz48dWw+PGxpPjxzPmE8L3M+PC9saT48L3VsPjwvcz4nLCAnPHVsPjxsaT5h
PC9saT48L3VsPicpOwordGVzdFNpbmdsZVRvZ2dsZSgic3RyaWtldGhyb3VnaCIsIHNlbGVjdEZp
cnN0V29yZCwgJzxzPjx1bD48bGk+aGVsbG88L2xpPjxsaT53b3JsZDwvbGk+PC91bD48L3M+Jywg
Jzx1bD48bGk+aGVsbG88L2xpPjxsaSBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91
Z2g7ICI+d29ybGQ8L2xpPjwvdWw+Jyk7Cit0ZXN0U2luZ2xlVG9nZ2xlKCJzdHJpa2V0aHJvdWdo
Iiwgc2VsZWN0U2Vjb25kV29yZCwgJzx1bD48bGk+aGVsbG88L2xpPjxsaSBzdHlsZT0idGV4dC1k
ZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7ICI+d29ybGQ8L2xpPjwvdWw+JywgJzx1bD48bGk+aGVs
bG88L2xpPjxsaT53b3JsZDwvbGk+PC91bD4nKTsKK3Rlc3RTaW5nbGVUb2dnbGUoInN0cmlrZXRo
cm91Z2giLCBzZWxlY3RGaXJzdFdvcmQsICc8cz48dWw+PGxpPmhlbGxvIHdvcmxkPC9saT48bGk+
d2Via2l0PC9saT48L3VsPjwvcz4nLCAnPHVsPjxsaT5oZWxsbzxzPiB3b3JsZDwvcz48L2xpPjxs
aSBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7ICI+d2Via2l0PC9saT48L3Vs
PicpOworCisvL2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="55510"
          type_id="1"
          status="+"
          setter="tkent"
    />
    <flag name="commit-queue"
          id="55512"
          type_id="3"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66528</attachid>
            <date>2010-09-03 11:55:03 -0700</date>
            <delta_ts>2010-09-03 12:30:56 -0700</delta_ts>
            <desc>test fix</desc>
            <filename>fix-r66743</filename>
            <type>text/plain</type>
            <size>5269</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY2NzQ5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTAtMDktMDMgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRml4ZWQgYSB0ZXN0IGNvbW1pdHRlZCBpbiByNjY3NDMuCisKKyAgICAgICAgKiBl
ZGl0aW5nL3N0eWxlL3NjcmlwdC10ZXN0cy9wdXNoLWRvd24taW1wbGljaXQtc3R5bGVzLWFyb3Vu
ZC1saXN0LmpzOgorICAgICAgICAoc2VsZWN0TGFzdFdvcmQpOgorCiAyMDEwLTA5LTAzICBaaGVu
eWFvIE1vICA8em1vQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5ldmlld2VkLgpJbmRleDogTGF5
b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9zY3JpcHQtdGVzdHMvcHVzaC1kb3duLWltcGxpY2l0LXN0
eWxlcy1hcm91bmQtbGlzdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0
eWxlL3NjcmlwdC10ZXN0cy9wdXNoLWRvd24taW1wbGljaXQtc3R5bGVzLWFyb3VuZC1saXN0Lmpz
CShyZXZpc2lvbiA2Njc0OCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvc2NyaXB0LXRl
c3RzL3B1c2gtZG93bi1pbXBsaWNpdC1zdHlsZXMtYXJvdW5kLWxpc3QuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTE3LDU0ICsxNywzNiBAQCBmdW5jdGlvbiB0ZXN0U2luZ2xlVG9nZ2xlKHRvZ2dsZUNv
bW1hbmQsCiAgICAgICAgIHRlc3RGYWlsZWQoYWN0aW9uICsgIiwgZXhwZWN0ZWQgIiArIGV4cGVj
dGVkQ29udGVudHMpOwogfQogCi1mdW5jdGlvbiBzZWxlY3RBbGwoY29udGFpbmVyKSB7Ci0gICAg
d2luZG93LmdldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGNvbnRhaW5lcik7Ci0gICAg
cmV0dXJuICdhbGwnOwotfQotCi1mdW5jdGlvbiBzZWxlY3RUZXN0KGNvbnRhaW5lcikgewotICAg
IHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGVzdCcpKTsKLSAgICByZXR1cm4gJ3Rlc3QnOwotfQotCiBmdW5jdGlvbiBzZWxl
Y3RGaXJzdFdvcmQoY29udGFpbmVyKSB7CiAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNldFBv
c2l0aW9uKGNvbnRhaW5lciwgMCk7CiAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgn
ZXh0ZW5kJywgJ2ZvcndhcmQnLCAnd29yZCcpOwogICAgIHJldHVybiAnZmlyc3Qgd29yZCc7CiB9
CiAKLWZ1bmN0aW9uIHNlbGVjdFNlY29uZFdvcmQoY29udGFpbmVyKSB7Ci0gICAgd2luZG93Lmdl
dFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGNvbnRhaW5lciwgMCk7Ci0gICAgd2luZG93LmdldFNl
bGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdmb3J3YXJkJywgJ3dvcmQnKTsKLSAgICB3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdleHRlbmQnLCAnZm9yd2FyZCcsICd3b3JkJyk7Ci0gICAg
cmV0dXJuICdzZWNvbmQgd29yZCc7Ci19Ci0KLWZ1bmN0aW9uIHNlbGVjdExhc3RUd29Xb3Jkcyhj
b250YWluZXIpIHsKK2Z1bmN0aW9uIHNlbGVjdExhc3RXb3JkKGNvbnRhaW5lcikgewogICAgIHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihjb250YWluZXIsIGNvbnRhaW5lci5jaGls
ZE5vZGVzLmxlbmd0aCk7CiAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0ZW5k
JywgJ2JhY2t3YXJkJywgJ3dvcmQnKTsKLSAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5
KCdleHRlbmQnLCAnYmFja3dhcmQnLCAnd29yZCcpOwotICAgIHJldHVybiAnbGFzdCB0d28gd29y
ZHMnOworICAgIHJldHVybiAnbGFzdCB3b3JkJzsKIH0KIAogdGVzdFNpbmdsZVRvZ2dsZSgiYm9s
ZCIsIHNlbGVjdEZpcnN0V29yZCwgJzxiPjx1bD48bGk+PGI+YTwvYj48L2xpPjwvdWw+PC9iPics
ICc8dWw+PGxpPmE8L2xpPjwvdWw+Jyk7CiB0ZXN0U2luZ2xlVG9nZ2xlKCJib2xkIiwgc2VsZWN0
Rmlyc3RXb3JkLCAnPGI+PHVsPjxsaT5oZWxsbzwvbGk+PGxpPndvcmxkPC9saT48L3VsPjwvYj4n
LCAnPHVsPjxsaT5oZWxsbzwvbGk+PGxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsgIj53b3Js
ZDwvbGk+PC91bD4nKTsKLXRlc3RTaW5nbGVUb2dnbGUoImJvbGQiLCBzZWxlY3RTZWNvbmRXb3Jk
LCAnPHVsPjxsaT5oZWxsbzwvbGk+PGxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsgIj53b3Js
ZDwvbGk+PC91bD4nLCAnPHVsPjxsaT5oZWxsbzwvbGk+PGxpPndvcmxkPC9saT48L3VsPicpOwor
dGVzdFNpbmdsZVRvZ2dsZSgiYm9sZCIsIHNlbGVjdExhc3RXb3JkLCAnPHVsPjxsaT5oZWxsbzwv
bGk+PGxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsgIj53b3JsZDwvbGk+PC91bD4nLCAnPHVs
PjxsaT5oZWxsbzwvbGk+PGxpPndvcmxkPC9saT48L3VsPicpOwogdGVzdFNpbmdsZVRvZ2dsZSgi
Ym9sZCIsIHNlbGVjdEZpcnN0V29yZCwgJzxiPjx1bD48bGk+aGVsbG8gd29ybGQ8L2xpPjxsaT53
ZWJraXQ8L2xpPjwvdWw+PC9iPicsICc8dWw+PGxpPmhlbGxvPGI+IHdvcmxkPC9iPjwvbGk+PGxp
IHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsgIj53ZWJraXQ8L2xpPjwvdWw+Jyk7CiAKIHRlc3RT
aW5nbGVUb2dnbGUoIml0YWxpYyIsIHNlbGVjdEZpcnN0V29yZCwgJzxpPjx1bD48bGk+PGk+YTwv
aT48L2xpPjwvdWw+PC9pPicsICc8dWw+PGxpPmE8L2xpPjwvdWw+Jyk7CiB0ZXN0U2luZ2xlVG9n
Z2xlKCJpdGFsaWMiLCBzZWxlY3RGaXJzdFdvcmQsICc8aT48dWw+PGxpPmhlbGxvPC9saT48bGk+
d29ybGQ8L2xpPjwvdWw+PC9pPicsICc8dWw+PGxpPmhlbGxvPC9saT48bGkgc3R5bGU9ImZvbnQt
c3R5bGU6IGl0YWxpYzsgIj53b3JsZDwvbGk+PC91bD4nKTsKLXRlc3RTaW5nbGVUb2dnbGUoIml0
YWxpYyIsIHNlbGVjdFNlY29uZFdvcmQsICc8dWw+PGxpPmhlbGxvPC9saT48bGkgc3R5bGU9ImZv
bnQtc3R5bGU6IGl0YWxpYzsgIj53b3JsZDwvbGk+PC91bD4nLCAnPHVsPjxsaT5oZWxsbzwvbGk+
PGxpPndvcmxkPC9saT48L3VsPicpOwordGVzdFNpbmdsZVRvZ2dsZSgiaXRhbGljIiwgc2VsZWN0
TGFzdFdvcmQsICc8dWw+PGxpPmhlbGxvPC9saT48bGkgc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxp
YzsgIj53b3JsZDwvbGk+PC91bD4nLCAnPHVsPjxsaT5oZWxsbzwvbGk+PGxpPndvcmxkPC9saT48
L3VsPicpOwogdGVzdFNpbmdsZVRvZ2dsZSgiaXRhbGljIiwgc2VsZWN0Rmlyc3RXb3JkLCAnPGk+
PHVsPjxsaT5oZWxsbyB3b3JsZDwvbGk+PGxpPndlYmtpdDwvbGk+PC91bD48L2k+JywgJzx1bD48
bGk+aGVsbG88aT4gd29ybGQ8L2k+PC9saT48bGkgc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsg
Ij53ZWJraXQ8L2xpPjwvdWw+Jyk7CiAKIHRlc3RTaW5nbGVUb2dnbGUoInVuZGVybGluZSIsIHNl
bGVjdEZpcnN0V29yZCwgJzx1Pjx1bD48bGk+PHU+YTwvdT48L2xpPjwvdWw+PC91PicsICc8dWw+
PGxpPmE8L2xpPjwvdWw+Jyk7CiB0ZXN0U2luZ2xlVG9nZ2xlKCJ1bmRlcmxpbmUiLCBzZWxlY3RG
aXJzdFdvcmQsICc8dT48dWw+PGxpPmhlbGxvPC9saT48bGk+d29ybGQ8L2xpPjwvdWw+PC91Pics
ICc8dWw+PGxpPmhlbGxvPC9saT48bGkgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5l
OyAiPndvcmxkPC9saT48L3VsPicpOwotdGVzdFNpbmdsZVRvZ2dsZSgidW5kZXJsaW5lIiwgc2Vs
ZWN0U2Vjb25kV29yZCwgJzx1bD48bGk+aGVsbG88L2xpPjxsaSBzdHlsZT0idGV4dC1kZWNvcmF0
aW9uOiB1bmRlcmxpbmU7ICI+d29ybGQ8L2xpPjwvdWw+JywgJzx1bD48bGk+aGVsbG88L2xpPjxs
aT53b3JsZDwvbGk+PC91bD4nKTsKK3Rlc3RTaW5nbGVUb2dnbGUoInVuZGVybGluZSIsIHNlbGVj
dExhc3RXb3JkLCAnPHVsPjxsaT5oZWxsbzwvbGk+PGxpIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246
IHVuZGVybGluZTsgIj53b3JsZDwvbGk+PC91bD4nLCAnPHVsPjxsaT5oZWxsbzwvbGk+PGxpPndv
cmxkPC9saT48L3VsPicpOwogdGVzdFNpbmdsZVRvZ2dsZSgidW5kZXJsaW5lIiwgc2VsZWN0Rmly
c3RXb3JkLCAnPHU+PHVsPjxsaT5oZWxsbyB3b3JsZDwvbGk+PGxpPndlYmtpdDwvbGk+PC91bD48
L3U+JywgJzx1bD48bGk+aGVsbG88dT4gd29ybGQ8L3U+PC9saT48bGkgc3R5bGU9InRleHQtZGVj
b3JhdGlvbjogdW5kZXJsaW5lOyAiPndlYmtpdDwvbGk+PC91bD4nKTsKIAogdGVzdFNpbmdsZVRv
Z2dsZSgic3RyaWtldGhyb3VnaCIsIHNlbGVjdEZpcnN0V29yZCwgJzxzPjx1bD48bGk+PHM+YTwv
cz48L2xpPjwvdWw+PC9zPicsICc8dWw+PGxpPmE8L2xpPjwvdWw+Jyk7CiB0ZXN0U2luZ2xlVG9n
Z2xlKCJzdHJpa2V0aHJvdWdoIiwgc2VsZWN0Rmlyc3RXb3JkLCAnPHM+PHVsPjxsaT5oZWxsbzwv
bGk+PGxpPndvcmxkPC9saT48L3VsPjwvcz4nLCAnPHVsPjxsaT5oZWxsbzwvbGk+PGxpIHN0eWxl
PSJ0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgIj53b3JsZDwvbGk+PC91bD4nKTsKLXRl
c3RTaW5nbGVUb2dnbGUoInN0cmlrZXRocm91Z2giLCBzZWxlY3RTZWNvbmRXb3JkLCAnPHVsPjxs
aT5oZWxsbzwvbGk+PGxpIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgIj53
b3JsZDwvbGk+PC91bD4nLCAnPHVsPjxsaT5oZWxsbzwvbGk+PGxpPndvcmxkPC9saT48L3VsPicp
OwordGVzdFNpbmdsZVRvZ2dsZSgic3RyaWtldGhyb3VnaCIsIHNlbGVjdExhc3RXb3JkLCAnPHVs
PjxsaT5oZWxsbzwvbGk+PGxpIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsg
Ij53b3JsZDwvbGk+PC91bD4nLCAnPHVsPjxsaT5oZWxsbzwvbGk+PGxpPndvcmxkPC9saT48L3Vs
PicpOwogdGVzdFNpbmdsZVRvZ2dsZSgic3RyaWtldGhyb3VnaCIsIHNlbGVjdEZpcnN0V29yZCwg
JzxzPjx1bD48bGk+aGVsbG8gd29ybGQ8L2xpPjxsaT53ZWJraXQ8L2xpPjwvdWw+PC9zPicsICc8
dWw+PGxpPmhlbGxvPHM+IHdvcmxkPC9zPjwvbGk+PGxpIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246
IGxpbmUtdGhyb3VnaDsgIj53ZWJraXQ8L2xpPjwvdWw+Jyk7CiAKIGRvY3VtZW50LmJvZHkucmVt
b3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7Cg==
</data>
<flag name="review"
          id="55566"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>