<?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>6933</bug_id>
          
          <creation_ts>2006-01-30 06:18:48 -0800</creation_ts>
          <short_desc>Selection extends beyond focus ring for some contentEditable divs</short_desc>
          <delta_ts>2006-02-24 19:00:41 -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>HTML Editing</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Graham Dennis">Graham.Dennis</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>ap</cc>
    
    <cc>dwood</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>mitz</cc>
    
    <cc>rsesek</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>30623</commentid>
    <comment_count>0</comment_count>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-01-30 06:18:48 -0800</bug_when>
    <thetext>SUMMARY: If you have a contentEditable div enclosed in a div with left/right padding, selections in the contentEditable div that extend over more than one line go beyond the focus ring of the contentEditable div. I would have expected the selection to remain within the focus ring.

Does this mean the focus ring should be wider, or should the selection only extend to the border of the focus ring?

I&apos;ll attach a testcase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30624</commentid>
    <comment_count>1</comment_count>
      <attachid>6105</attachid>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-01-30 06:22:00 -0800</bug_when>
    <thetext>Created attachment 6105
Testcase

To demonstrate the problem, select more than one line in the contentEditable div (the blue text). When a selection is made which extends beyond just the div into the text above or below, it makes sense (to me at least) that the selection should go all the way to the left and right. So what is the correct behaviour?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32241</commentid>
    <comment_count>2</comment_count>
    <who name="Dan Wood">dwood</who>
    <bug_when>2006-02-12 10:22:22 -0800</bug_when>
    <thetext>My personal opinion is that the visual selection should *never* go outside the focus ring.  It just looks silly!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32308</commentid>
    <comment_count>3</comment_count>
      <attachid>6457</attachid>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-13 01:59:08 -0800</bug_when>
    <thetext>Created attachment 6457
patch

This patch makes the render associated with the root editable element the selection root for selections entirely contained in a contentEditable div.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33639</commentid>
    <comment_count>4</comment_count>
      <attachid>6457</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2006-02-21 14:21:22 -0800</bug_when>
    <thetext>Comment on attachment 6457
patch

We changed our coding style guidelines, the * now belongs adjacent to the type, instead of the identifier.
The FIXME above the code you added concerns me.  You&apos;ll return true for a table that is the root editable element, maybe you should return false if isTable() at the start of this function.
Optional suggestion:
Instead of getting element() over and over, you could get it once and put it into a local variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33694</commentid>
    <comment_count>5</comment_count>
      <attachid>6666</attachid>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-22 05:23:04 -0800</bug_when>
    <thetext>Created attachment 6666
patch 2

Patch addressing Justin&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33695</commentid>
    <comment_count>6</comment_count>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-22 05:23:46 -0800</bug_when>
    <thetext>When I attached the second patch, I forgot to say that it passes the layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33737</commentid>
    <comment_count>7</comment_count>
      <attachid>6672</attachid>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-22 15:33:21 -0800</bug_when>
    <thetext>Created attachment 6672
patch 3

Justin: I&apos;ve done more to this patch than just add a space. The previous patch was causing the following test cases to behave strangely:
editing/selection/3690703
editing/selection/3690703-2
editing/selection/3690719
They are all editable divs with tables inside. The problem was that the editable div was being set as the selection root for the tables, whereas the tables would previously have been set as the selection root.
In this patch, the editable div is only set to be the selection root for cases where the root or body elements would have been the selection root. With this patch, the previously mentioned layout tests are unchanged, but the following are changed (as expected):
editing/selection/extend-by-word-002
editing/selection/select-all-001
editing/selection/select-all-002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33739</commentid>
    <comment_count>8</comment_count>
      <attachid>6672</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2006-02-22 16:42:07 -0800</bug_when>
    <thetext>Comment on attachment 6672
patch 3

I need to look at the gap filling code more before I can review this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33751</commentid>
    <comment_count>9</comment_count>
      <attachid>6672</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-02-22 22:23:10 -0800</bug_when>
    <thetext>Comment on attachment 6672
patch 3

I&apos;m not sure I understand the part where if element() is 0, we fall into the &quot;isBody() || isRoot()&quot; check. This otherwise looks fine to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33759</commentid>
    <comment_count>10</comment_count>
      <attachid>6674</attachid>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-23 00:53:33 -0800</bug_when>
    <thetext>Created attachment 6674
patch 4

I added an if (element()) return false; line at the start (and removed the later check on element()).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33770</commentid>
    <comment_count>11</comment_count>
      <attachid>6674</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-02-23 08:39:30 -0800</bug_when>
    <thetext>Comment on attachment 6674
patch 4

Looks very good to me, but I think Justin still wants to look at the gap-filling code and make the final decision, so setting reviewer to him.

Did you run the layout tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33799</commentid>
    <comment_count>12</comment_count>
    <who name="Graham Dennis">Graham.Dennis</who>
    <bug_when>2006-02-23 13:36:18 -0800</bug_when>
    <thetext>I did run the layout tests, and the only changes were for the pixel results of the following tests:
editing/selection/extend-by-word-002
editing/selection/select-all-001
editing/selection/select-all-002
Where the changes are what is expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33902</commentid>
    <comment_count>13</comment_count>
      <attachid>6674</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2006-02-24 17:48:43 -0800</bug_when>
    <thetext>Comment on attachment 6674
patch 4

landed with small tweaks</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6105</attachid>
            <date>2006-01-30 06:22:00 -0800</date>
            <delta_ts>2006-01-30 06:22:00 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>TextSelectionTest.html</filename>
            <type>text/html</type>
            <size>969</size>
            <attacher name="Graham Dennis">Graham.Dennis</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5PgogSGVsbG8gV29ybGQhIEhlbGxvIFdvcmxkIQo8ZGl2IHN0eWxlPSJwYWRk
aW5nOiAwcHggMTJweCAwcHggMTJweDsgY29sb3I6IGJsdWU7Ij4KPGRpdiBjb250ZW50RWRpdGFi
bGU9InRydWUiPgpUaGlzIGRpdiBpcyBlZGl0YWJsZS4gVGhpcyBkaXYgaXMgZWRpdGFibGUuIFRo
aXMgZGl2IGlzIGVkaXRhYmxlLiBUaGlzIGRpdiBpcyBlZGl0YWJsZS4gVGhpcyBkaXYgaXMgZWRp
dGFibGUuIFRoaXMgZGl2IGlzIGVkaXRhYmxlLiBUaGlzIGRpdiBpcyBlZGl0YWJsZS4gVGhpcyBk
aXYgaXMgZWRpdGFibGUuIFRoaXMgZGl2IGlzIGVkaXRhYmxlLiBUaGlzIGRpdiBpcyBlZGl0YWJs
ZS4gVGhpcyBkaXYgaXMgZWRpdGFibGUuIFRoaXMgZGl2IGlzIGVkaXRhYmxlLiBUaGlzIGRpdiBp
cyBlZGl0YWJsZS4gVGhpcyBkaXYgaXMgZWRpdGFibGUuIFRoaXMgZGl2IGlzIGVkaXRhYmxlLiBU
aGlzIGRpdiBpcyBlZGl0YWJsZS4gVGhpcyBkaXYgaXMgZWRpdGFibGUuIFRoaXMgZGl2IGlzIGVk
aXRhYmxlLiBUaGlzIGRpdiBpcyBlZGl0YWJsZS4gVGhpcyBkaXYgaXMgZWRpdGFibGUuIFRoaXMg
ZGl2IGlzIGVkaXRhYmxlLiBUaGlzIGRpdiBpcyBlZGl0YWJsZS4gVGhpcyBkaXYgaXMgZWRpdGFi
bGUuIFRoaXMgZGl2IGlzIGVkaXRhYmxlLiBUaGlzIGRpdiBpcyBlZGl0YWJsZS4gVGhpcyBkaXYg
aXMgZWRpdGFibGUuIFRoaXMgZGl2IGlzIGVkaXRhYmxlLiBUaGlzIGRpdiBpcyBlZGl0YWJsZS4g
VGhpcyBkaXYgaXMgZWRpdGFibGUuIFRoaXMgZGl2IGlzIGVkaXRhYmxlLiBUaGlzIGRpdiBpcyBl
ZGl0YWJsZS4gVGhpcyBkaXYgaXMgZWRpdGFibGUuIFRoaXMgZGl2IGlzIGVkaXRhYmxlLiBUaGlz
IGRpdiBpcyBlZGl0YWJsZS4gCjwvZGl2Pgo8L2Rpdj4KIEhlbGxvIFdvcmxkISBIZWxsbyBXb3Js
ZCEgSGVsbG8gV29ybGQhIEhlbGxvIFdvcmxkISBIZWxsbyBXb3JsZCEKPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6457</attachid>
            <date>2006-02-13 01:59:08 -0800</date>
            <delta_ts>2006-02-22 05:23:04 -0800</delta_ts>
            <desc>patch</desc>
            <filename>Selection.diff</filename>
            <type>text/plain</type>
            <size>1157</size>
            <attacher name="Graham Dennis">Graham.Dennis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDEyNzc2KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDI4LDYg
KzE0MjgsMTMgQEAgYm9vbCBSZW5kZXJCbG9jazo6c2hvdWxkUGFpbnRTZWxlY3Rpb25HYQogYm9v
bCBSZW5kZXJCbG9jazo6aXNTZWxlY3Rpb25Sb290KCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTog
RXZlbnR1YWxseSB0YWJsZXMgc2hvdWxkIGhhdmUgdG8gbGVhcm4gaG93IHRvIGZpbGwgZ2FwcyBi
ZXR3ZWVuIGNlbGxzLCBhdCBsZWFzdCBpbiBzaW1wbGUgbm9uLXNwYW5uaW5nIGNhc2VzLgorCisg
ICAgLy8gRm9yIGNvbnRlbnRFZGl0YWJsZSBkaXZzLCB0aGUgc2VsZWN0aW9uIHJvb3QgbXVzdCBi
ZSB0aGUgcmVuZGVyZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSByb290IGVkaXRhYmxlIGVsZW1lbnQg
b2YgdGhlIHNlbGVjdGlvbgorICAgIFJlbmRlck9iamVjdCAqc2VsU3RhcnQgPSBjYW52YXMoKS0+
c2VsZWN0aW9uU3RhcnQoKTsKKyAgICBSZW5kZXJPYmplY3QgKnNlbEVuZCA9IGNhbnZhcygpLT5z
ZWxlY3Rpb25FbmQoKTsKKyAgICBpZiAoZWxlbWVudCgpICYmIHNlbFN0YXJ0LT5lbGVtZW50KCkg
JiYgc2VsU3RhcnQtPmVsZW1lbnQoKS0+aXNDb250ZW50RWRpdGFibGUoKSAmJiBzZWxFbmQtPmVs
ZW1lbnQoKSAmJiBzZWxFbmQtPmVsZW1lbnQoKS0+aXNDb250ZW50RWRpdGFibGUoKSkKKyAgICAJ
cmV0dXJuIChlbGVtZW50KCkgPT0gc2VsU3RhcnQtPmVsZW1lbnQoKS0+cm9vdEVkaXRhYmxlRWxl
bWVudCgpKSAmJiAoZWxlbWVudCgpID09IHNlbEVuZC0+ZWxlbWVudCgpLT5yb290RWRpdGFibGVF
bGVtZW50KCkpOworICAgIAogICAgIHJldHVybiAoaXNCb2R5KCkgfHwgaXNSb290KCkgfHwgaGFz
T3ZlcmZsb3dDbGlwKCkgfHwgaXNSZWxQb3NpdGlvbmVkKCkgfHwKICAgICAgICAgICAgIGlzRmxv
YXRpbmdPclBvc2l0aW9uZWQoKSB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzSW5saW5lQmxvY2tPcklu
bGluZVRhYmxlKCkpOwogfQo=
</data>
<flag name="review"
          id="1600"
          type_id="1"
          status="-"
          setter="justin.garcia"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6666</attachid>
            <date>2006-02-22 05:23:04 -0800</date>
            <delta_ts>2006-02-22 15:33:21 -0800</delta_ts>
            <desc>patch 2</desc>
            <filename>SelectionV2.diff</filename>
            <type>text/plain</type>
            <size>1315</size>
            <attacher name="Graham Dennis">Graham.Dennis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDEyOTMxKQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDI4LDYg
KzE0MjgsMTggQEAgYm9vbCBSZW5kZXJCbG9jazo6c2hvdWxkUGFpbnRTZWxlY3Rpb25HYQogYm9v
bCBSZW5kZXJCbG9jazo6aXNTZWxlY3Rpb25Sb290KCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTog
RXZlbnR1YWxseSB0YWJsZXMgc2hvdWxkIGhhdmUgdG8gbGVhcm4gaG93IHRvIGZpbGwgZ2FwcyBi
ZXR3ZWVuIGNlbGxzLCBhdCBsZWFzdCBpbiBzaW1wbGUgbm9uLXNwYW5uaW5nIGNhc2VzLgorICAg
IGlmIChpc1RhYmxlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICAvLyBGb3Ig
Y29udGVudEVkaXRhYmxlIGRpdnMsIHRoZSBzZWxlY3Rpb24gcm9vdCBtdXN0IGJlIHRoZSByZW5k
ZXJlciBhc3NvY2lhdGVkIHdpdGggdGhlIHJvb3QgZWRpdGFibGUgZWxlbWVudCBvZiB0aGUgc2Vs
ZWN0aW9uCisgICAgaWYgKGNhbnZhcygpICYmIGNhbnZhcygpLT5zZWxlY3Rpb25TdGFydCgpICYm
IGNhbnZhcygpLT5zZWxlY3Rpb25FbmQoKSkgeworICAgICAgICBOb2RlSW1wbCogc2VsU3RhcnRF
bGVtZW50ID0gY2FudmFzKCktPnNlbGVjdGlvblN0YXJ0KCktPmVsZW1lbnQoKTsKKyAgICAgICAg
Tm9kZUltcGwqIHNlbEVuZEVsZW1lbnQgPSBjYW52YXMoKS0+c2VsZWN0aW9uRW5kKCktPmVsZW1l
bnQoKTsKKyAgICAKKyAgICAgICAgaWYgKGVsZW1lbnQoKSAmJiBzZWxTdGFydEVsZW1lbnQgJiYg
c2VsU3RhcnRFbGVtZW50LT5pc0NvbnRlbnRFZGl0YWJsZSgpICYmIHNlbEVuZEVsZW1lbnQgJiYg
c2VsRW5kRWxlbWVudC0+aXNDb250ZW50RWRpdGFibGUoKSkKKyAgICAJICAgcmV0dXJuIChlbGVt
ZW50KCkgPT0gc2VsU3RhcnRFbGVtZW50LT5yb290RWRpdGFibGVFbGVtZW50KCkpICYmIChlbGVt
ZW50KCkgPT0gc2VsRW5kRWxlbWVudC0+cm9vdEVkaXRhYmxlRWxlbWVudCgpKTsKKyAgICB9Cisg
ICAgCiAgICAgcmV0dXJuIChpc0JvZHkoKSB8fCBpc1Jvb3QoKSB8fCBoYXNPdmVyZmxvd0NsaXAo
KSB8fCBpc1JlbFBvc2l0aW9uZWQoKSB8fAogICAgICAgICAgICAgaXNGbG9hdGluZ09yUG9zaXRp
b25lZCgpIHx8IGlzVGFibGVDZWxsKCkgfHwgaXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSk7
CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6672</attachid>
            <date>2006-02-22 15:33:21 -0800</date>
            <delta_ts>2006-02-23 00:53:33 -0800</delta_ts>
            <desc>patch 3</desc>
            <filename>SelectionV3.diff</filename>
            <type>text/plain</type>
            <size>1545</size>
            <attacher name="Graham Dennis">Graham.Dennis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDEyOTMxKQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDI4LDgg
KzE0MjgsMjEgQEAgYm9vbCBSZW5kZXJCbG9jazo6c2hvdWxkUGFpbnRTZWxlY3Rpb25HYQogYm9v
bCBSZW5kZXJCbG9jazo6aXNTZWxlY3Rpb25Sb290KCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTog
RXZlbnR1YWxseSB0YWJsZXMgc2hvdWxkIGhhdmUgdG8gbGVhcm4gaG93IHRvIGZpbGwgZ2FwcyBi
ZXR3ZWVuIGNlbGxzLCBhdCBsZWFzdCBpbiBzaW1wbGUgbm9uLXNwYW5uaW5nIGNhc2VzLgotICAg
IHJldHVybiAoaXNCb2R5KCkgfHwgaXNSb290KCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaXNS
ZWxQb3NpdGlvbmVkKCkgfHwKLSAgICAgICAgICAgIGlzRmxvYXRpbmdPclBvc2l0aW9uZWQoKSB8
fCBpc1RhYmxlQ2VsbCgpIHx8IGlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkpOworCisgICAg
aWYgKGhhc092ZXJmbG93Q2xpcCgpIHx8IGlzUmVsUG9zaXRpb25lZCgpIHx8IGlzRmxvYXRpbmdP
clBvc2l0aW9uZWQoKSB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzSW5saW5lQmxvY2tPcklubGluZVRh
YmxlKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gRm9yIGNvbnRlbnRFZGl0YWJs
ZSBkaXZzLCB0aGUgc2VsZWN0aW9uIHJvb3QgbXVzdCBiZSB0aGUgcmVuZGVyZXIgYXNzb2NpYXRl
ZCB3aXRoIHRoZSByb290IGVkaXRhYmxlIGVsZW1lbnQgb2YgdGhlIHNlbGVjdGlvbgorICAgIC8v
IGFuZCBub3QgdGhlIGJvZHkgb3Igcm9vdCBlbGVtZW50LgorICAgIGlmIChjYW52YXMoKSAmJiBj
YW52YXMoKS0+c2VsZWN0aW9uU3RhcnQoKSAmJiBjYW52YXMoKS0+c2VsZWN0aW9uRW5kKCkpIHsK
KyAgICAgICAgTm9kZUltcGwqIHNlbFN0YXJ0RWxlbWVudCA9IGNhbnZhcygpLT5zZWxlY3Rpb25T
dGFydCgpLT5lbGVtZW50KCk7CisgICAgICAgIE5vZGVJbXBsKiBzZWxFbmRFbGVtZW50ID0gY2Fu
dmFzKCktPnNlbGVjdGlvbkVuZCgpLT5lbGVtZW50KCk7CisgICAgCisgICAgICAgIGlmIChlbGVt
ZW50KCkgJiYgc2VsU3RhcnRFbGVtZW50ICYmIHNlbFN0YXJ0RWxlbWVudC0+aXNDb250ZW50RWRp
dGFibGUoKSAmJiBzZWxFbmRFbGVtZW50ICYmIHNlbEVuZEVsZW1lbnQtPmlzQ29udGVudEVkaXRh
YmxlKCkpCisgICAgICAgICAgICByZXR1cm4gKGVsZW1lbnQoKSA9PSBzZWxTdGFydEVsZW1lbnQt
PnJvb3RFZGl0YWJsZUVsZW1lbnQoKSkgJiYgKGVsZW1lbnQoKSA9PSBzZWxFbmRFbGVtZW50LT5y
b290RWRpdGFibGVFbGVtZW50KCkpOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gKGlzQm9keSgp
IHx8IGlzUm9vdCgpKTsKIH0KIAogR2FwUmVjdHMgUmVuZGVyQmxvY2s6OnNlbGVjdGlvbkdhcFJl
Y3RzKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6674</attachid>
            <date>2006-02-23 00:53:33 -0800</date>
            <delta_ts>2006-02-24 17:48:43 -0800</delta_ts>
            <desc>patch 4</desc>
            <filename>SelectionV4.diff</filename>
            <type>text/plain</type>
            <size>1578</size>
            <attacher name="Graham Dennis">Graham.Dennis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDEyOTMxKQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDI4LDgg
KzE0MjgsMjQgQEAgYm9vbCBSZW5kZXJCbG9jazo6c2hvdWxkUGFpbnRTZWxlY3Rpb25HYQogYm9v
bCBSZW5kZXJCbG9jazo6aXNTZWxlY3Rpb25Sb290KCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTog
RXZlbnR1YWxseSB0YWJsZXMgc2hvdWxkIGhhdmUgdG8gbGVhcm4gaG93IHRvIGZpbGwgZ2FwcyBi
ZXR3ZWVuIGNlbGxzLCBhdCBsZWFzdCBpbiBzaW1wbGUgbm9uLXNwYW5uaW5nIGNhc2VzLgotICAg
IHJldHVybiAoaXNCb2R5KCkgfHwgaXNSb290KCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaXNS
ZWxQb3NpdGlvbmVkKCkgfHwKLSAgICAgICAgICAgIGlzRmxvYXRpbmdPclBvc2l0aW9uZWQoKSB8
fCBpc1RhYmxlQ2VsbCgpIHx8IGlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkpOworCisgICAg
aWYgKCFlbGVtZW50KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChoYXNPdmVy
Zmxvd0NsaXAoKSB8fCBpc1JlbFBvc2l0aW9uZWQoKSB8fCBpc0Zsb2F0aW5nT3JQb3NpdGlvbmVk
KCkgfHwgaXNUYWJsZUNlbGwoKSB8fCBpc0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSgpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIEZvciBjb250ZW50RWRpdGFibGUgZGl2cywgdGhl
IHNlbGVjdGlvbiByb290IG11c3QgYmUgdGhlIHJlbmRlcmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUg
cm9vdCBlZGl0YWJsZSBlbGVtZW50IG9mIHRoZSBzZWxlY3Rpb24KKyAgICAvLyBhbmQgbm90IHRo
ZSBib2R5IG9yIHJvb3QgZWxlbWVudC4KKyAgICBpZiAoY2FudmFzKCkgJiYgY2FudmFzKCktPnNl
bGVjdGlvblN0YXJ0KCkgJiYgY2FudmFzKCktPnNlbGVjdGlvbkVuZCgpKSB7CisgICAgICAgIE5v
ZGVJbXBsKiBzZWxTdGFydEVsZW1lbnQgPSBjYW52YXMoKS0+c2VsZWN0aW9uU3RhcnQoKS0+ZWxl
bWVudCgpOworICAgICAgICBOb2RlSW1wbCogc2VsRW5kRWxlbWVudCA9IGNhbnZhcygpLT5zZWxl
Y3Rpb25FbmQoKS0+ZWxlbWVudCgpOworICAgIAorICAgICAgICBpZiAoc2VsU3RhcnRFbGVtZW50
ICYmIHNlbFN0YXJ0RWxlbWVudC0+aXNDb250ZW50RWRpdGFibGUoKSAmJiBzZWxFbmRFbGVtZW50
ICYmIHNlbEVuZEVsZW1lbnQtPmlzQ29udGVudEVkaXRhYmxlKCkpCisgICAgICAgICAgICByZXR1
cm4gKGVsZW1lbnQoKSA9PSBzZWxTdGFydEVsZW1lbnQtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSkg
JiYgKGVsZW1lbnQoKSA9PSBzZWxFbmRFbGVtZW50LT5yb290RWRpdGFibGVFbGVtZW50KCkpOwor
ICAgIH0KKyAgICAKKyAgICByZXR1cm4gKGlzQm9keSgpIHx8IGlzUm9vdCgpKTsKIH0KIAogR2Fw
UmVjdHMgUmVuZGVyQmxvY2s6OnNlbGVjdGlvbkdhcFJlY3RzKCkK
</data>
<flag name="review"
          id="1683"
          type_id="1"
          status="+"
          setter="justin.garcia"
    />
          </attachment>
      

    </bug>

</bugzilla>