<?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>70277</bug_id>
          
          <creation_ts>2011-10-17 15:40:45 -0700</creation_ts>
          <short_desc>MoveSelectionCommand::doApply hits an assertion when dragging text without a range selection</short_desc>
          <delta_ts>2011-11-03 04:55:03 -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>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>
          <dependson>71460</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Cheng">dcheng</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>dcheng</cc>
    
    <cc>enrica</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.devdatta</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>485567</commentid>
    <comment_count>0</comment_count>
      <attachid>111333</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2011-10-17 15:40:45 -0700</bug_when>
    <thetext>Created attachment 111333
Test case

In the attached test case, click in the content editable area to the right of the image, so the insertion point is after the image. Then drag the link to the editable area, and ASSERT(endingSelection().isNonOrphanedRange()); fires.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493242</commentid>
    <comment_count>1</comment_count>
      <attachid>113037</attachid>
    <who name="Devdatta Deshpande">webkit.devdatta</who>
    <bug_when>2011-10-31 04:09:30 -0700</bug_when>
    <thetext>Created attachment 113037
Proposed patch

A MoveSelectionCommand is fired if an editable element is just focused even without a selection. The attached patch avoids firing of MoveSelectionCommand in case of a caret or no-selection. A ReplaceSelectionCommand is fired instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493283</commentid>
    <comment_count>2</comment_count>
      <attachid>113037</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-31 06:45:01 -0700</bug_when>
    <thetext>Comment on attachment 113037
Proposed patch

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

I&apos;d say r- due to various nits.

&gt; LayoutTests/fast/events/drag-link.html:5
&gt; +    function dragElement(srcElement, destElement) {

Indenting scripts like this seems unnecessary.

&gt; LayoutTests/fast/events/drag-link.html:7
&gt; +                                srcElement.offsetTop + srcElement.offsetHeight / 2);

Wrong indentation. It should be 
        eventSender.mouseMoveTo(srcElement.offsetLeft + srcElement.offsetWidth / 2,
            srcElement.offsetTop + srcElement.offsetHeight / 2);

&gt; LayoutTests/fast/events/drag-link.html:11
&gt; +        eventSender.mouseMoveTo(destElement.offsetLeft + destElement.offsetWidth / 2,
&gt; +                                destElement.offsetTop + destElement.offsetHeight / 2);

Ditto.

&gt; LayoutTests/fast/events/drag-link.html:17
&gt; +    window.onload = function() {
&gt; +        if (!window.layoutTestController)
&gt; +            return;

Do we really need to wait until the parsing has ended? Can&apos;t we just move the script element belog #result and run this function directly there?

&gt; LayoutTests/fast/events/drag-link.html:29
&gt; +&lt;div&gt;

Please explain what kind of test this is. In particular, some platform doesn&apos;t implement all features of eventSender, so it&apos;s crucial that you explain that this test is about dragging text not being enabled when selection is not a range.

&gt; LayoutTests/ChangeLog:11
&gt; +        Test to drag-drop anchor element on an already focused editable div
&gt; +        element.

Please add this description after Reviewed by (followed by a blank line) before the list of files being added (followed by a blank line).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493755</commentid>
    <comment_count>3</comment_count>
      <attachid>113130</attachid>
    <who name="Devdatta Deshpande">webkit.devdatta</who>
    <bug_when>2011-10-31 23:15:30 -0700</bug_when>
    <thetext>Created attachment 113130
Patch after incorporating review comments.

Thanks for the review comments.
Please find attached an updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493764</commentid>
    <comment_count>4</comment_count>
      <attachid>113130</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-31 23:42:25 -0700</bug_when>
    <thetext>Comment on attachment 113130
Patch after incorporating review comments.

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

&gt; LayoutTests/fast/events/drag-link.html:17
&gt; +    function dragElement(srcElement, destElement) 
&gt; +    {

As I said, I don&apos;t think we want to indent the entire script like this.

&gt; LayoutTests/fast/events/drag-link.html:34
&gt; +
&gt; +    document.getElementById(&quot;result&quot;).innerHTML = &quot;PASS&quot;;

This test always passes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493769</commentid>
    <comment_count>5</comment_count>
    <who name="Devdatta Deshpande">webkit.devdatta</who>
    <bug_when>2011-10-31 23:50:26 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 113130 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113130&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/events/drag-link.html:17
&gt; &gt; +    function dragElement(srcElement, destElement) 
&gt; &gt; +    {
&gt; 
&gt; As I said, I don&apos;t think we want to indent the entire script like this.
&gt; 
Sorry I misinterpreted the comment. I will remove one level indentation in the script.

&gt; &gt; LayoutTests/fast/events/drag-link.html:34
&gt; &gt; +
&gt; &gt; +    document.getElementById(&quot;result&quot;).innerHTML = &quot;PASS&quot;;
&gt; 
&gt; This test always passes?
This test results into an assert if the patch is not applied, and if the drag-drop fails the &apos;Test link&apos; will not be added into the actual result. Thus I think the result div is redundant and can be removed.

Also, I believe this will fix bug 61008 as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493774</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-01 00:04:46 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; &gt; LayoutTests/fast/events/drag-link.html:34
&gt; &gt; &gt; +
&gt; &gt; &gt; +    document.getElementById(&quot;result&quot;).innerHTML = &quot;PASS&quot;;
&gt; &gt; 
&gt; &gt; This test always passes?
&gt; This test results into an assert if the patch is not applied, and if the drag-drop fails the &apos;Test link&apos; will not be added into the actual result. Thus I think the result div is redundant and can be removed.

Given that the assertion failure never hits on release builds, you probably want to clarify that the test passes only if it does not hit assertions.

&gt; Also, I believe this will fix bug 61008 as well.

That&apos;s nice to know. Ideally we can add a test for the bug 61008 after this patch was landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493777</commentid>
    <comment_count>7</comment_count>
    <who name="Devdatta Deshpande">webkit.devdatta</who>
    <bug_when>2011-11-01 00:12:41 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; &gt; &gt; LayoutTests/fast/events/drag-link.html:34
&gt; &gt; &gt; &gt; +
&gt; &gt; &gt; &gt; +    document.getElementById(&quot;result&quot;).innerHTML = &quot;PASS&quot;;
&gt; &gt; &gt; 
&gt; &gt; &gt; This test always passes?
&gt; &gt; This test results into an assert if the patch is not applied, and if the drag-drop fails the &apos;Test link&apos; will not be added into the actual result. Thus I think the result div is redundant and can be removed.
&gt; 
&gt; Given that the assertion failure never hits on release builds, you probably want to clarify that the test passes only if it does not hit assertions.
&gt; 
Yes thats true. I will add a comment in the html file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493782</commentid>
    <comment_count>8</comment_count>
      <attachid>113136</attachid>
    <who name="Devdatta Deshpande">webkit.devdatta</who>
    <bug_when>2011-11-01 00:30:40 -0700</bug_when>
    <thetext>Created attachment 113136
Patch after incorporating review comments.

Patch updated after review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493789</commentid>
    <comment_count>9</comment_count>
      <attachid>113136</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-01 00:39:59 -0700</bug_when>
    <thetext>Comment on attachment 113136
Patch after incorporating review comments.

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

&gt; LayoutTests/fast/events/drag-link.html:26
&gt; +}

It&apos;ll be still nice to print PASS here so that we know for sure dragElement ran.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493792</commentid>
    <comment_count>10</comment_count>
      <attachid>113140</attachid>
    <who name="Devdatta Deshpande">webkit.devdatta</who>
    <bug_when>2011-11-01 00:51:08 -0700</bug_when>
    <thetext>Created attachment 113140
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494769</commentid>
    <comment_count>11</comment_count>
      <attachid>113140</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 11:43:44 -0700</bug_when>
    <thetext>Comment on attachment 113140
Updated patch

Clearing flags on attachment: 113140

Committed r99085: &lt;http://trac.webkit.org/changeset/99085&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494770</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 11:43:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>111333</attachid>
            <date>2011-10-17 15:40:45 -0700</date>
            <delta_ts>2011-10-17 15:40:45 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>dragimage.html</filename>
            <type>text/html</type>
            <size>368</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxib2R5PgogICAgPGRpdj4KICAgICAgPGgzPk5vbi1l
ZGl0YWJsZSBpbWFnZTwvaDM+CiAgICAgIDxpbWcgc3JjPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20v
aW50bC9lbl9jb20vaW1hZ2VzL3NycHIvbG9nbzN3LnBuZyI+CiAgICAgIDxhIGhyZWY9Imh0dHA6
Ly93d3cuYXBwbGUuY29tLyI+VGVzdCBsaW5rPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNvbnRl
bnRlZGl0YWJsZT0idHJ1ZSI+CiAgICAgIDxoMz5FZGl0YWJsZSBpbWFnZTwvaDM+CiAgICAgIDxp
bWcgc3JjPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL25hdl9sb2dvOTEucG5nIj4KICAg
IDwvZGl2PgogIDwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113037</attachid>
            <date>2011-10-31 04:09:30 -0700</date>
            <delta_ts>2011-10-31 23:15:30 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>3947</size>
            <attacher name="Devdatta Deshpande">webkit.devdatta</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4ODQzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMzEgIERldmRhdHRh
IERlc2hwYW5kZSAgPHB3amQ3M0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgQXNzZXJ0IGluIE1v
dmVTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEEgTW92ZVNlbGVjdGlvbkNvbW1hbmQgc2hvdWxkIGJlIGZpcmVk
IG9ubHkgaWYgdGhlIHNlbGVjdGlvbiB0eXBlIGlzCisgICAgICAgIFJhbmdlU2VsZWN0aW9uLCBz
aW5jZSBub3RoaW5nIGlzIHNlbGVjdGVkIGluIG90aGVyIGNhc2VzLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL2RyYWctbGluay5odG1sCisKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpkcmFnSXNNb3ZlKToK
KwogMjAxMS0xMC0zMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4IG1ha2UgZGlzdGNoZWNrIGJ1aWxkLgpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDk4ODM5KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE0NCw3ICsxNDQsNyBAQAogCiBib29sIERyYWdDb250cm9sbGVyOjpkcmFnSXNNb3ZlKEZyYW1l
U2VsZWN0aW9uKiBzZWxlY3Rpb24sIERyYWdEYXRhKiBkcmFnRGF0YSkKIHsKLSAgICByZXR1cm4g
bV9kb2N1bWVudFVuZGVyTW91c2UgPT0gbV9kcmFnSW5pdGlhdG9yICYmIHNlbGVjdGlvbi0+aXND
b250ZW50RWRpdGFibGUoKSAmJiAhaXNDb3B5S2V5RG93bihkcmFnRGF0YSk7CisgICAgcmV0dXJu
IG1fZG9jdW1lbnRVbmRlck1vdXNlID09IG1fZHJhZ0luaXRpYXRvciAmJiBzZWxlY3Rpb24tPmlz
Q29udGVudEVkaXRhYmxlKCkgJiYgc2VsZWN0aW9uLT5pc1JhbmdlKCkgJiYgIWlzQ29weUtleURv
d24oZHJhZ0RhdGEpOwogfQogCiAvLyBGSVhNRTogVGhpcyBtZXRob2QgaXMgcG9vcmx5IG5hbWVk
LiAgV2UncmUganVzdCBjbGVhcmluZyB0aGUgc2VsZWN0aW9uIGZyb20gdGhlIGRvY3VtZW50IHRo
aXMgZHJhZyBpcyBleGl0aW5nLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1s
aW5rLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9k
cmFnLWxpbmstZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvZHJhZy1saW5rLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4IEBA
CitOb24tZWRpdGFibGUgYXJlYQorCitUZXN0IExpbmsKK0VkaXRhYmxlIGFyZWEKKworVGVzdCBM
aW5rCisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctbGluay5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctbGluay5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1saW5rLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gZHJhZ0VsZW1lbnQoc3JjRWxlbWVudCwgZGVzdEVs
ZW1lbnQpIHsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3JjRWxlbWVudC5vZmZz
ZXRMZWZ0ICsgc3JjRWxlbWVudC5vZmZzZXRXaWR0aCAvIDIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNyY0VsZW1lbnQub2Zmc2V0VG9wICsgc3JjRWxlbWVudC5vZmZzZXRIZWln
aHQgLyAyKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50
U2VuZGVyLmxlYXBGb3J3YXJkKDEwMCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KGRlc3RFbGVtZW50Lm9mZnNldExlZnQgKyBkZXN0RWxlbWVudC5vZmZzZXRXaWR0aCAvIDIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RFbGVtZW50Lm9mZnNldFRvcCArIGRl
c3RFbGVtZW50Lm9mZnNldEhlaWdodCAvIDIpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVVw
KCk7CisgICAgfQorCisgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBp
ZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgIHZhciBl
ZGl0YWJsZURpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0YWJsZURpdicpOworICAg
ICAgICBlZGl0YWJsZURpdi5mb2N1cygpOworICAgICAgICBkcmFnRWxlbWVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnYW5jaG9yRWxlbWVudCcpLCBlZGl0YWJsZURpdik7CisKKyAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9ICJQQVNTIjsKKyAg
ICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxoMz5Ob24tZWRpdGFibGUg
YXJlYTwvaDM+Cis8YSBocmVmPSMgaWQ9ImFuY2hvckVsZW1lbnQiPlRlc3QgTGluazwvYT4KKzwv
ZGl2PgorPGRpdiBpZD0iZWRpdGFibGVEaXYiIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSI+Cis8aDM+
RWRpdGFibGUgYXJlYTwvaDM+Cis8YnI+Cis8YnI+Cis8L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdCI+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4ODQzKQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTEtMTAtMzEgIERldmRhdHRhIERlc2hwYW5kZSAgPHB3amQ3M0Btb3Rvcm9sYS5jb20+CisKKyAg
ICAgICAgQXNzZXJ0IGluIE1vdmVTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9ldmVudHMvZHJhZy1s
aW5rLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvZHJhZy1saW5r
Lmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0IHRvIGRyYWctZHJvcCBhbmNob3IgZWxlbWVudCBv
biBhbiBhbHJlYWR5IGZvY3VzZWQgZWRpdGFibGUgZGl2CisgICAgICAgIGVsZW1lbnQuCisKIDIw
MTEtMTAtMzEgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLgo=
</data>
<flag name="review"
          id="111263"
          type_id="1"
          status="-"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113130</attachid>
            <date>2011-10-31 23:15:30 -0700</date>
            <delta_ts>2011-11-01 00:30:40 -0700</delta_ts>
            <desc>Patch after incorporating review comments.</desc>
            <filename>Patch2</filename>
            <type>text/plain</type>
            <size>4169</size>
            <attacher name="Devdatta Deshpande">webkit.devdatta</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4OTM2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMzEgIERldmRhdHRh
IERlc2hwYW5kZSAgPHB3amQ3M0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgQXNzZXJ0IGluIE1v
dmVTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEEgTW92ZVNlbGVjdGlvbkNvbW1hbmQgc2hvdWxkIGJlIGZpcmVk
IG9ubHkgaWYgdGhlIHNlbGVjdGlvbiB0eXBlIGlzCisgICAgICAgIFJhbmdlU2VsZWN0aW9uLCBz
aW5jZSBub3RoaW5nIGlzIHNlbGVjdGVkIGluIG90aGVyIGNhc2VzLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL2RyYWctbGluay5odG1sCisKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpkcmFnSXNNb3ZlKToK
KwogMjAxMS0xMC0zMSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAg
RG9jdW1lbnQgcG9pbnRlciBub3QgbnVsbC1jaGVja2VkIGluIEZyYW1lVmlldzo6aXNPbkFjdGl2
ZVBhZ2UoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAJKHJldmlz
aW9uIDk4ODM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE0NCw3ICsxNDQsNyBAQCBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVu
dEZyYWdtZW50PiBkb2N1CiAKIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OmRyYWdJc01vdmUoRnJhbWVT
ZWxlY3Rpb24qIHNlbGVjdGlvbiwgRHJhZ0RhdGEqIGRyYWdEYXRhKQogewotICAgIHJldHVybiBt
X2RvY3VtZW50VW5kZXJNb3VzZSA9PSBtX2RyYWdJbml0aWF0b3IgJiYgc2VsZWN0aW9uLT5pc0Nv
bnRlbnRFZGl0YWJsZSgpICYmICFpc0NvcHlLZXlEb3duKGRyYWdEYXRhKTsKKyAgICByZXR1cm4g
bV9kb2N1bWVudFVuZGVyTW91c2UgPT0gbV9kcmFnSW5pdGlhdG9yICYmIHNlbGVjdGlvbi0+aXND
b250ZW50RWRpdGFibGUoKSAmJiBzZWxlY3Rpb24tPmlzUmFuZ2UoKSAmJiAhaXNDb3B5S2V5RG93
bihkcmFnRGF0YSk7CiB9CiAKIC8vIEZJWE1FOiBUaGlzIG1ldGhvZCBpcyBwb29ybHkgbmFtZWQu
ICBXZSdyZSBqdXN0IGNsZWFyaW5nIHRoZSBzZWxlY3Rpb24gZnJvbSB0aGUgZG9jdW1lbnQgdGhp
cyBkcmFnIGlzIGV4aXRpbmcuCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5ODkzNikKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDExLTEwLTMx
ICBEZXZkYXR0YSBEZXNocGFuZGUgIDxwd2pkNzNAbW90b3JvbGEuY29tPgorCisgICAgICAgIEFz
c2VydCBpbiBNb3ZlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHRvIGRyYWctZHJvcCBhbmNob3IgZWxl
bWVudCBvbiBhbiBhbHJlYWR5IGZvY3VzZWQgZWRpdGFibGUgZGl2CisgICAgICAgIGVsZW1lbnQu
CisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9kcmFnLWxpbmstZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9kcmFnLWxpbmsuaHRtbDogQWRkZWQuCisKIDIwMTEtMTAt
MzEgIEplcmVteSBBcHRob3JwICA8amVyZW15YUBnb29nbGUuY29tPgogCiAgICAgICAgIFRlc3Qg
Y2FzZSBmb3IgYSBjcmFzaCByZWxhdGluZyB0byBtZXJnaW5nIG9mIGFub255bW91cyBibG9ja3Mg
aW4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctbGluay1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1saW5rLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctbGluay1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorVGVzdCBmb3IgYnVnIDcw
Mjc3LiBUaGlzIHRlc3RzIHRoYXQgYSBsaW5rIGlzIGRyYWdnZWQgYW5kIGRyb3BwZWQgcHJvcGVy
bHkgaW4gYW4gYWxyZWFkeSBmb2N1c2VkIGVkaXRhYmxlIGFyZWEuCisKK1Rlc3QgTGluaworRWRp
dGFibGUgYXJlYQorCitUZXN0IExpbmsKKworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvZHJhZy1saW5rLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvZHJhZy1saW5rLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9kcmFnLWxpbmsuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPGRpdj4KKzxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3NyI+YnVnIDcwMjc3PC9hPi4g
VGhpcyB0ZXN0cyB0aGF0IGEgbGluayBpcyBkcmFnZ2VkIGFuZCBkcm9wcGVkIHByb3Blcmx5IGlu
IGFuIGFscmVhZHkgZm9jdXNlZCBlZGl0YWJsZSBhcmVhLjwvcD4KKzxhIGhyZWY9IyBpZD0iYW5j
aG9yRWxlbWVudCI+VGVzdCBMaW5rPC9hPgorPC9kaXY+Cis8ZGl2IGlkPSJlZGl0YWJsZURpdiIg
Y29udGVudGVkaXRhYmxlPSJ0cnVlIj4KKzxoMz5FZGl0YWJsZSBhcmVhPC9oMz4KKzxicj4KKzxi
cj4KKzwvZGl2PgorPGRpdiBpZD0icmVzdWx0Ij4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICBmdW5j
dGlvbiBkcmFnRWxlbWVudChzcmNFbGVtZW50LCBkZXN0RWxlbWVudCkgCisgICAgeworICAgICAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzcmNFbGVtZW50Lm9mZnNldExlZnQgKyBzcmNFbGVt
ZW50Lm9mZnNldFdpZHRoIC8gMiwKKyAgICAgICAgICAgIHNyY0VsZW1lbnQub2Zmc2V0VG9wICsg
c3JjRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VE
b3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDEwMCk7CisgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGRlc3RFbGVtZW50Lm9mZnNldExlZnQgKyBkZXN0RWxlbWVu
dC5vZmZzZXRXaWR0aCAvIDIsCisgICAgICAgICAgICBkZXN0RWxlbWVudC5vZmZzZXRUb3AgKyBk
ZXN0RWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VV
cCgpOworICAgIH0KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIHZhciBlZGl0YWJs
ZURpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0YWJsZURpdicpOworICAgIGVkaXRh
YmxlRGl2LmZvY3VzKCk7CisgICAgZHJhZ0VsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2FuY2hvckVsZW1lbnQnKSwgZWRpdGFibGVEaXYpOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9ICJQQVNTIjsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113136</attachid>
            <date>2011-11-01 00:30:40 -0700</date>
            <delta_ts>2011-11-01 00:51:08 -0700</delta_ts>
            <desc>Patch after incorporating review comments.</desc>
            <filename>Patch3</filename>
            <type>text/plain</type>
            <size>4083</size>
            <attacher name="Devdatta Deshpande">webkit.devdatta</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4OTQwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTEtMDEgIERldmRhdHRh
IERlc2hwYW5kZSAgPHB3amQ3M0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgQXNzZXJ0IGluIE1v
dmVTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEEgTW92ZVNlbGVjdGlvbkNvbW1hbmQgc2hvdWxkIGJlIGZpcmVk
IG9ubHkgaWYgdGhlIHNlbGVjdGlvbiB0eXBlIGlzCisgICAgICAgIFJhbmdlU2VsZWN0aW9uLCBz
aW5jZSBub3RoaW5nIGlzIHNlbGVjdGVkIGluIG90aGVyIGNhc2VzLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL2RyYWctbGluay5odG1sCisKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpkcmFnSXNNb3ZlKToK
KwogMjAxMS0xMS0wMSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk4ODQ3LgpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDk4ODM5KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw3
ICsxNDQsNyBAQCBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBkb2N1CiAKIGJv
b2wgRHJhZ0NvbnRyb2xsZXI6OmRyYWdJc01vdmUoRnJhbWVTZWxlY3Rpb24qIHNlbGVjdGlvbiwg
RHJhZ0RhdGEqIGRyYWdEYXRhKQogewotICAgIHJldHVybiBtX2RvY3VtZW50VW5kZXJNb3VzZSA9
PSBtX2RyYWdJbml0aWF0b3IgJiYgc2VsZWN0aW9uLT5pc0NvbnRlbnRFZGl0YWJsZSgpICYmICFp
c0NvcHlLZXlEb3duKGRyYWdEYXRhKTsKKyAgICByZXR1cm4gbV9kb2N1bWVudFVuZGVyTW91c2Ug
PT0gbV9kcmFnSW5pdGlhdG9yICYmIHNlbGVjdGlvbi0+aXNDb250ZW50RWRpdGFibGUoKSAmJiBz
ZWxlY3Rpb24tPmlzUmFuZ2UoKSAmJiAhaXNDb3B5S2V5RG93bihkcmFnRGF0YSk7CiB9CiAKIC8v
IEZJWE1FOiBUaGlzIG1ldGhvZCBpcyBwb29ybHkgbmFtZWQuICBXZSdyZSBqdXN0IGNsZWFyaW5n
IHRoZSBzZWxlY3Rpb24gZnJvbSB0aGUgZG9jdW1lbnQgdGhpcyBkcmFnIGlzIGV4aXRpbmcuCklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiA5ODk0MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDExLTExLTAxICBEZXZkYXR0YSBEZXNocGFuZGUg
IDxwd2pkNzNAbW90b3JvbGEuY29tPgorCisgICAgICAgIEFzc2VydCBpbiBNb3ZlU2VsZWN0aW9u
Q29tbWFuZDo6ZG9BcHBseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzAyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0IHRvIGRyYWctZHJvcCBhbmNob3IgZWxlbWVudCBvbiBhbiBhbHJlYWR5IGZv
Y3VzZWQgZWRpdGFibGUgZGl2CisgICAgICAgIGVsZW1lbnQuCisKKyAgICAgICAgKiBmYXN0L2V2
ZW50cy9kcmFnLWxpbmstZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50
cy9kcmFnLWxpbmsuaHRtbDogQWRkZWQuCisKIDIwMTEtMTEtMDEgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHI5ODg0Ny4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctbGluay1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1saW5r
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2Ry
YWctbGluay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorVGVzdCBm
b3IgYnVnIDcwMjc3LiBUaGlzIHRlc3RzIHRoYXQgYSBsaW5rIGlzIGRyYWdnZWQgYW5kIGRyb3Bw
ZWQgcHJvcGVybHkgaW4gYW4gYWxyZWFkeSBmb2N1c2VkIGVkaXRhYmxlIGFyZWEuIFRoaXMgdGVz
dCBwYXNzZXMgb25seSBpZiBpdCBkb2VzIG5vdCBoaXQgYW4gYXNzZXJ0aW9uLgorCitUZXN0IExp
bmsKK0VkaXRhYmxlIGFyZWEKKworVGVzdCBMaW5rCisKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvZHJhZy1saW5rLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvZHJhZy1saW5rLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9kcmFnLWxpbmsuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPGRpdj4KKzxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3NyI+YnVnIDcwMjc3PC9h
Pi4KK1RoaXMgdGVzdHMgdGhhdCBhIGxpbmsgaXMgZHJhZ2dlZCBhbmQgZHJvcHBlZCBwcm9wZXJs
eSBpbiBhbiBhbHJlYWR5IGZvY3VzZWQgZWRpdGFibGUgYXJlYS4KK1RoaXMgdGVzdCBwYXNzZXMg
b25seSBpZiBpdCBkb2VzIG5vdCBoaXQgYW4gYXNzZXJ0aW9uLgorPC9wPgorPGEgaHJlZj0jIGlk
PSJhbmNob3JFbGVtZW50Ij5UZXN0IExpbms8L2E+Cis8L2Rpdj4KKzxkaXYgaWQ9ImVkaXRhYmxl
RGl2IiBjb250ZW50ZWRpdGFibGU9InRydWUiPgorPGgzPkVkaXRhYmxlIGFyZWE8L2gzPgorPGJy
PgorPGJyPgorPC9kaXY+Cis8c2NyaXB0PgorZnVuY3Rpb24gZHJhZ0VsZW1lbnQoc3JjRWxlbWVu
dCwgZGVzdEVsZW1lbnQpIAoreworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHNyY0VsZW1l
bnQub2Zmc2V0TGVmdCArIHNyY0VsZW1lbnQub2Zmc2V0V2lkdGggLyAyLAorICAgICAgICBzcmNF
bGVtZW50Lm9mZnNldFRvcCArIHNyY0VsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMik7CisgICAgZXZl
bnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoMTAwKTsK
KyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhkZXN0RWxlbWVudC5vZmZzZXRMZWZ0ICsgZGVz
dEVsZW1lbnQub2Zmc2V0V2lkdGggLyAyLAorICAgICAgICBkZXN0RWxlbWVudC5vZmZzZXRUb3Ag
KyBkZXN0RWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVw
KCk7Cit9CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgZWRpdGFibGVEaXYgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnZWRpdGFibGVEaXYnKTsKK2VkaXRhYmxlRGl2LmZvY3VzKCk7CitkcmFn
RWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5jaG9yRWxlbWVudCcpLCBlZGl0YWJs
ZURpdik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113140</attachid>
            <date>2011-11-01 00:51:08 -0700</date>
            <delta_ts>2011-11-02 11:43:43 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>Patch4</filename>
            <type>text/plain</type>
            <size>4220</size>
            <attacher name="Devdatta Deshpande">webkit.devdatta</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4OTQxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTEtMDEgIERldmRhdHRh
IERlc2hwYW5kZSAgPHB3amQ3M0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgQXNzZXJ0IGluIE1v
dmVTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEEgTW92ZVNlbGVjdGlvbkNvbW1hbmQgc2hvdWxkIGJlIGZpcmVk
IG9ubHkgaWYgdGhlIHNlbGVjdGlvbiB0eXBlIGlzCisgICAgICAgIFJhbmdlU2VsZWN0aW9uLCBz
aW5jZSBub3RoaW5nIGlzIHNlbGVjdGVkIGluIG90aGVyIGNhc2VzLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL2RyYWctbGluay5odG1sCisKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpkcmFnSXNNb3ZlKToK
KwogMjAxMS0xMS0wMSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk4ODQ3LgpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDk4ODM5KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw3
ICsxNDQsNyBAQCBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBkb2N1CiAKIGJv
b2wgRHJhZ0NvbnRyb2xsZXI6OmRyYWdJc01vdmUoRnJhbWVTZWxlY3Rpb24qIHNlbGVjdGlvbiwg
RHJhZ0RhdGEqIGRyYWdEYXRhKQogewotICAgIHJldHVybiBtX2RvY3VtZW50VW5kZXJNb3VzZSA9
PSBtX2RyYWdJbml0aWF0b3IgJiYgc2VsZWN0aW9uLT5pc0NvbnRlbnRFZGl0YWJsZSgpICYmICFp
c0NvcHlLZXlEb3duKGRyYWdEYXRhKTsKKyAgICByZXR1cm4gbV9kb2N1bWVudFVuZGVyTW91c2Ug
PT0gbV9kcmFnSW5pdGlhdG9yICYmIHNlbGVjdGlvbi0+aXNDb250ZW50RWRpdGFibGUoKSAmJiBz
ZWxlY3Rpb24tPmlzUmFuZ2UoKSAmJiAhaXNDb3B5S2V5RG93bihkcmFnRGF0YSk7CiB9CiAKIC8v
IEZJWE1FOiBUaGlzIG1ldGhvZCBpcyBwb29ybHkgbmFtZWQuICBXZSdyZSBqdXN0IGNsZWFyaW5n
IHRoZSBzZWxlY3Rpb24gZnJvbSB0aGUgZG9jdW1lbnQgdGhpcyBkcmFnIGlzIGV4aXRpbmcuCklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiA5ODk0MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDExLTExLTAxICBEZXZkYXR0YSBEZXNocGFuZGUg
IDxwd2pkNzNAbW90b3JvbGEuY29tPgorCisgICAgICAgIEFzc2VydCBpbiBNb3ZlU2VsZWN0aW9u
Q29tbWFuZDo6ZG9BcHBseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzAyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0IHRvIGRyYWctZHJvcCBhbmNob3IgZWxlbWVudCBvbiBhbiBhbHJlYWR5IGZv
Y3VzZWQgZWRpdGFibGUgZGl2CisgICAgICAgIGVsZW1lbnQuCisKKyAgICAgICAgKiBmYXN0L2V2
ZW50cy9kcmFnLWxpbmstZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50
cy9kcmFnLWxpbmsuaHRtbDogQWRkZWQuCisKIDIwMTEtMTEtMDEgIEFuZHJleSBLb3N5YWtvdiAg
PGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZyAoZml4
ZWQgcGxhdGZvcm0gcXVhbGlmaWVycyBmb3IgdmlzaWJpbGl0eS1pbWFnZS1sYXllcnMuaHRtbCkK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctbGluay1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1saW5rLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctbGluay1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorVGVzdCBmb3IgYnVnIDcwMjc3
LiBUaGlzIHRlc3RzIHRoYXQgYSBsaW5rIGlzIGRyYWdnZWQgYW5kIGRyb3BwZWQgcHJvcGVybHkg
aW4gYW4gYWxyZWFkeSBmb2N1c2VkIGVkaXRhYmxlIGFyZWEuIFRoaXMgdGVzdCBwYXNzZXMgb25s
eSBpZiBpdCBkb2VzIG5vdCBoaXQgYW4gYXNzZXJ0aW9uLgorCitUZXN0IExpbmsKK0VkaXRhYmxl
IGFyZWEKKworVGVzdCBMaW5rCisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2RyYWctbGluay5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2Ry
YWctbGluay5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJh
Zy1saW5rLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8Ym9keT4KKzxkaXY+Cis8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzciPmJ1ZyA3MDI3NzwvYT4uCitUaGlz
IHRlc3RzIHRoYXQgYSBsaW5rIGlzIGRyYWdnZWQgYW5kIGRyb3BwZWQgcHJvcGVybHkgaW4gYW4g
YWxyZWFkeSBmb2N1c2VkIGVkaXRhYmxlIGFyZWEuCitUaGlzIHRlc3QgcGFzc2VzIG9ubHkgaWYg
aXQgZG9lcyBub3QgaGl0IGFuIGFzc2VydGlvbi4KKzwvcD4KKzxhIGhyZWY9IyBpZD0iYW5jaG9y
RWxlbWVudCI+VGVzdCBMaW5rPC9hPgorPC9kaXY+Cis8ZGl2IGlkPSJlZGl0YWJsZURpdiIgY29u
dGVudGVkaXRhYmxlPSJ0cnVlIj4KKzxoMz5FZGl0YWJsZSBhcmVhPC9oMz4KKzxicj4KKzxicj4K
KzwvZGl2PgorPGRpdiBpZD0icmVzdWx0Ij4KKzwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGRy
YWdFbGVtZW50KHNyY0VsZW1lbnQsIGRlc3RFbGVtZW50KSAKK3sKKyAgICBldmVudFNlbmRlci5t
b3VzZU1vdmVUbyhzcmNFbGVtZW50Lm9mZnNldExlZnQgKyBzcmNFbGVtZW50Lm9mZnNldFdpZHRo
IC8gMiwKKyAgICAgICAgc3JjRWxlbWVudC5vZmZzZXRUb3AgKyBzcmNFbGVtZW50Lm9mZnNldEhl
aWdodCAvIDIpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2ZW50U2VuZGVy
LmxlYXBGb3J3YXJkKDEwMCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oZGVzdEVsZW1l
bnQub2Zmc2V0TGVmdCArIGRlc3RFbGVtZW50Lm9mZnNldFdpZHRoIC8gMiwKKyAgICAgICAgZGVz
dEVsZW1lbnQub2Zmc2V0VG9wICsgZGVzdEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMik7CisgICAg
ZXZlbnRTZW5kZXIubW91c2VVcCgpOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jl
c3VsdCcpLmlubmVySFRNTCA9ICJQQVNTIjsKK30KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciBl
ZGl0YWJsZURpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0YWJsZURpdicpOworZWRp
dGFibGVEaXYuZm9jdXMoKTsKK2RyYWdFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdh
bmNob3JFbGVtZW50JyksIGVkaXRhYmxlRGl2KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>