<?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>5856</bug_id>
          
          <creation_ts>2005-11-28 15:34:35 -0800</creation_ts>
          <short_desc>Selection based in an editable block can extend outside</short_desc>
          <delta_ts>2005-12-03 18:27:01 -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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Garcia">justin.garcia</reporter>
          <assigned_to name="Justin Garcia">justin.garcia</assigned_to>
          <cc>ap</cc>
    
    <cc>dwood</cc>
    
    <cc>ttalbot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>24780</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2005-11-28 15:34:35 -0800</bug_when>
    <thetext>Load the attached test case and double click after the end of the word &apos;reproducible&apos;.  The word 
&apos;reproducible&apos; should be selected.  Insead, a selection is created that reaches outside the editable div.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24782</commentid>
    <comment_count>1</comment_count>
      <attachid>4839</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2005-11-28 15:35:20 -0800</bug_when>
    <thetext>Created attachment 4839
testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24787</commentid>
    <comment_count>2</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2005-11-28 15:42:49 -0800</bug_when>
    <thetext>This bug comes from the fact that SelectionController::validate does changes to the 
selection that aren&apos;t validated (changes when the granularity passed to validate does not equal 
CHARACTER).  It doesn&apos;t seem right that such changes are part of &quot;validation&quot; at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24879</commentid>
    <comment_count>3</comment_count>
      <attachid>4853</attachid>
    <who name="Dan Wood">dwood</who>
    <bug_when>2005-11-29 12:05:27 -0800</bug_when>
    <thetext>Created attachment 4853
Similar reduced case, but double-click on last word over-selects

This attachment is similar, but I found that if you double-click on the last
word -- not just the space past the last word -- you get over-selection as
well.  This is probably the same root problem....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25427</commentid>
    <comment_count>4</comment_count>
      <attachid>4915</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2005-12-03 02:22:20 -0800</bug_when>
    <thetext>Created attachment 4915
patch

validate() used to do expansion of the selection.  The expansion itself wasn&apos;t
validated, so it was allowed to expand and extend outside an editable area. 
Also m_base and m_extent weren&apos;t updated with the results of the expansion.

The patch moves expansion of the selection from validate() to
expandUsingGranularity().  Removes the granularity parameter to validate()
since it&apos;s no longer used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25428</commentid>
    <comment_count>5</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2005-12-03 02:24:24 -0800</bug_when>
    <thetext>testing details: added a few new layout tests, all current tests pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25438</commentid>
    <comment_count>6</comment_count>
      <attachid>4915</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-03 08:59:27 -0800</bug_when>
    <thetext>Comment on attachment 4915
patch

Wow, looks really good! r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25470</commentid>
    <comment_count>7</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2005-12-03 18:27:01 -0800</bug_when>
    <thetext>Landed the patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4839</attachid>
            <date>2005-11-28 15:35:20 -0800</date>
            <delta_ts>2005-11-28 15:35:20 -0800</delta_ts>
            <desc>testcase</desc>
            <filename>testEditableReduced.html</filename>
            <type>text/html</type>
            <size>627</size>
            <attacher name="Justin Garcia">justin.garcia</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgo8aHRt
bCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5n
PSJlbiI+Cgk8aGVhZD4KCQk8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9
InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KCgoJPC9oZWFkPgoJPGJvZHk+CgkJCQkKCQk8
ZGl2IGNsYXNzPSJlZGl0YWJsZWJsb2NrIiBjb250ZW50ZWRpdGFibGU9InRydWUiPgoJCQk8cD5E
cmFnIHRoZSBtb3VzZSBkb3duIGZyb20gaGVyZSwgb3IgdHJ5ICdzZWxlY3QgYWxsJyAtIG5vdGlj
ZSBpdCBnb2VzIG91dHNpZGUgdGhlIHNlbGVjdGlvbiBib3guICBUaGUgcHJlc2VuY2Ugb2YgdGhl
IGRpdiBiZWxvdyBhbmQgaXRzIHByb3BlcnRpZXMgc2VlbXMgdG8gYmUgcmVzcG9uc2libGUuPC9w
PgoJCTwvZGl2PgoJCQkKCQk8cCBzdHlsZT0ib3ZlcmZsb3c6IGhpZGRlbjsiPlRoaXMgc2VlbXMg
dG8gbWFrZSB0aGUgYWJvdmUgZGl2IGhhdmUgcHJvYmxlbXM8L3A+Cgk8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4853</attachid>
            <date>2005-11-29 12:05:27 -0800</date>
            <delta_ts>2005-11-29 12:05:27 -0800</delta_ts>
            <desc>Similar reduced case, but double-click on last word over-selects</desc>
            <filename>another_reduced_5856.html</filename>
            <type>text/html</type>
            <size>339</size>
            <attacher name="Dan Wood">dwood</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgo8aHRt
bCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5n
PSJlbiI+PGhlYWQ+CjwvaGVhZD4KPGJvZHk+CiAKCgo8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1
ZSI+RG91YmxlLUNsaWNrIG9uIHRoZSBsYXN0IHdvcmQgSEVSRTwvZGl2PgoKClRoZW4gdHJ5IHR5
cGluZyAtLSBub3RpY2UgaG93IGl0IG92ZXItc2VsZWN0ZWQhCgoKPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4915</attachid>
            <date>2005-12-03 02:22:20 -0800</date>
            <delta_ts>2005-12-03 08:59:27 -0800</delta_ts>
            <desc>patch</desc>
            <filename>5856.txt</filename>
            <type>text/plain</type>
            <size>8307</size>
            <attacher name="Justin Garcia">justin.garcia</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvZWRpdGluZy9TZWxlY3Rpb25Db250cm9s
bGVyLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMDMKZGlmZiAtdSAtcjEuMTAzIFNlbGVj
dGlvbkNvbnRyb2xsZXIuY3BwCi0tLSBraHRtbC9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIu
Y3BwCTEgRGVjIDIwMDUgMTA6MzI6MTQgLTAwMDAJMS4xMDMKKysrIGtodG1sL2VkaXRpbmcvU2Vs
ZWN0aW9uQ29udHJvbGxlci5jcHAJMyBEZWMgMjAwNSAxMDoxMDo0NCAtMDAwMApAQCAtNDkxLDcg
KzQ5MSw2MSBAQAogewogICAgIGlmIChpc05vbmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIHZhbGlkYXRlKGdyYW51bGFyaXR5KTsKKworICAgIHN3aXRjaCAoZ3JhbnVsYXJpdHkpIHsK
KyAgICAgICAgY2FzZSBDSEFSQUNURVI6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBXT1JEOiB7CisgICAgICAgICAgICAvLyBHZW5lcmFsIGNhc2U6IFNlbGVjdCB0aGUgd29yZCB0
aGUgY2FyZXQgaXMgcG9zaXRpb25lZCBpbnNpZGUgb2YsIG9yIGF0IHRoZSBzdGFydCBvZiAoUmln
aHRXb3JkSWZPbkJvdW5kYXJ5KS4KKyAgICAgICAgICAgIC8vIEVkZ2UgY2FzZTogSWYgdGhlIGNh
cmV0IGlzIGFmdGVyIHRoZSBsYXN0IHdvcmQgaW4gYSBzb2Z0LXdyYXBwZWQgbGluZSBvciB0aGUg
bGFzdCB3b3JkIGluCisgICAgICAgICAgICAvLyB0aGUgZG9jdW1lbnQsIHNlbGVjdCB0aGF0IGxh
c3Qgd29yZCAoTGVmdFdvcmRJZk9uQm91bmRhcnkpLgorICAgICAgICAgICAgLy8gRWRnZSBjYXNl
OiBJZiB0aGUgY2FyZXQgaXMgYWZ0ZXIgdGhlIGxhc3Qgd29yZCBpbiBhIHBhcmFncmFwaCwgc2Vs
ZWN0IGZyb20gdGhlIHRoZSBlbmQgb2YgdGhlCisgICAgICAgICAgICAvLyBsYXN0IHdvcmQgdG8g
dGhlIGxpbmUgYnJlYWsgKGFsc28gUmlnaHRXb3JkSWZPbkJvdW5kYXJ5KTsKKyAgICAgICAgICAg
IFZpc2libGVQb3NpdGlvbiBzdGFydCA9IFZpc2libGVQb3NpdGlvbihtX3N0YXJ0LCBtX2FmZmlu
aXR5KTsKKyAgICAgICAgICAgIFZpc2libGVQb3NpdGlvbiBlbmQgICA9IFZpc2libGVQb3NpdGlv
bihtX2VuZCwgbV9hZmZpbml0eSk7CisgICAgICAgICAgICBFV29yZFNpZGUgc2lkZSA9IFJpZ2h0
V29yZElmT25Cb3VuZGFyeTsKKyAgICAgICAgICAgIGlmIChpc0VuZE9mRG9jdW1lbnQoc3RhcnQp
IHx8IChpc0VuZE9mTGluZShzdGFydCkgJiYgIWlzU3RhcnRPZkxpbmUoc3RhcnQpICYmICFpc0Vu
ZE9mUGFyYWdyYXBoKHN0YXJ0KSkpCisgICAgICAgICAgICAgICAgc2lkZSA9IExlZnRXb3JkSWZP
bkJvdW5kYXJ5OworICAgICAgICAgICAgbV9zdGFydCA9IHN0YXJ0T2ZXb3JkKHN0YXJ0LCBzaWRl
KS5kZWVwRXF1aXZhbGVudCgpOworICAgICAgICAgICAgc2lkZSA9IFJpZ2h0V29yZElmT25Cb3Vu
ZGFyeTsKKyAgICAgICAgICAgIGlmIChpc0VuZE9mRG9jdW1lbnQoZW5kKSB8fCAoaXNFbmRPZkxp
bmUoZW5kKSAmJiAhaXNTdGFydE9mTGluZShlbmQpICYmICFpc0VuZE9mUGFyYWdyYXBoKGVuZCkp
KQorICAgICAgICAgICAgICAgIHNpZGUgPSBMZWZ0V29yZElmT25Cb3VuZGFyeTsKKyAgICAgICAg
ICAgIG1fZW5kID0gZW5kT2ZXb3JkKGVuZCwgc2lkZSkuZGVlcEVxdWl2YWxlbnQoKTsKKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2Ug
TElORToKKyAgICAgICAgY2FzZSBMSU5FX0JPVU5EQVJZOgorICAgICAgICAgICAgbV9zdGFydCA9
IHN0YXJ0T2ZMaW5lKFZpc2libGVQb3NpdGlvbihtX3N0YXJ0LCBtX2FmZmluaXR5KSkuZGVlcEVx
dWl2YWxlbnQoKTsKKyAgICAgICAgICAgIG1fZW5kID0gZW5kT2ZMaW5lKFZpc2libGVQb3NpdGlv
bihtX2VuZCwgbV9hZmZpbml0eSksIEluY2x1ZGVMaW5lQnJlYWspLmRlZXBFcXVpdmFsZW50KCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBQQVJBR1JBUEg6IHsKKyAgICAgICAg
ICAgIFZpc2libGVQb3NpdGlvbiBwb3MobV9zdGFydCwgbV9hZmZpbml0eSk7CisgICAgICAgICAg
ICBpZiAoaXNTdGFydE9mTGluZShwb3MpICYmIGlzRW5kT2ZEb2N1bWVudChwb3MpKQorICAgICAg
ICAgICAgICAgIHBvcyA9IHBvcy5wcmV2aW91cygpOworICAgICAgICAgICAgbV9zdGFydCA9IHN0
YXJ0T2ZQYXJhZ3JhcGgocG9zKS5kZWVwRXF1aXZhbGVudCgpOworICAgICAgICAgICAgbV9lbmQg
PSBlbmRPZlBhcmFncmFwaChWaXNpYmxlUG9zaXRpb24obV9lbmQsIG1fYWZmaW5pdHkpLCBJbmNs
dWRlTGluZUJyZWFrKS5kZWVwRXF1aXZhbGVudCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyAgICAgICAgY2FzZSBET0NVTUVOVF9CT1VOREFSWToKKyAgICAgICAgICAgIG1fc3Rh
cnQgPSBzdGFydE9mRG9jdW1lbnQoVmlzaWJsZVBvc2l0aW9uKG1fc3RhcnQsIG1fYWZmaW5pdHkp
KS5kZWVwRXF1aXZhbGVudCgpOworICAgICAgICAgICAgbV9lbmQgPSBlbmRPZkRvY3VtZW50KFZp
c2libGVQb3NpdGlvbihtX2VuZCwgbV9hZmZpbml0eSkpLmRlZXBFcXVpdmFsZW50KCk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBQQVJBR1JBUEhfQk9VTkRBUlk6CisgICAgICAg
ICAgICBtX3N0YXJ0ID0gc3RhcnRPZlBhcmFncmFwaChWaXNpYmxlUG9zaXRpb24obV9zdGFydCwg
bV9hZmZpbml0eSkpLmRlZXBFcXVpdmFsZW50KCk7CisgICAgICAgICAgICBtX2VuZCA9IGVuZE9m
UGFyYWdyYXBoKFZpc2libGVQb3NpdGlvbihtX2VuZCwgbV9hZmZpbml0eSkpLmRlZXBFcXVpdmFs
ZW50KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgCisgICAgaWYgKG1fYmFzZUlz
U3RhcnQpIHsKKyAgICAgICAgbV9iYXNlID0gbV9zdGFydDsKKyAgICAgICAgbV9leHRlbnQgPSBt
X2VuZDsKKyAgICB9IGVsc2UgeworICAgICAgICBtX2Jhc2UgPSBtX2VuZDsKKyAgICAgICAgbV9l
eHRlbnQgPSBtX3N0YXJ0OworICAgIH0KKyAgICAKKyAgICB2YWxpZGF0ZSgpOwogICAgIHJldHVy
biB0cnVlOwogfQogCkBAIC01NzEsNyArNjI1LDYgQEAKICAgICB2YWxpZGF0ZSgpOwogfQogCi0K
IHZvaWQgU2VsZWN0aW9uQ29udHJvbGxlcjo6c2V0QmFzZShjb25zdCBQb3NpdGlvbiAmcG9zLCBF
QWZmaW5pdHkgYmFzZUFmZmluaXR5KQogewogICAgIG1fYWZmaW5pdHkgPSBiYXNlQWZmaW5pdHk7
CkBAIC04MjEsNyArODc0LDcgQEAKICAgICB9CiB9CiAKLXZvaWQgU2VsZWN0aW9uQ29udHJvbGxl
cjo6dmFsaWRhdGUoRVRleHRHcmFudWxhcml0eSBncmFudWxhcml0eSkKK3ZvaWQgU2VsZWN0aW9u
Q29udHJvbGxlcjo6dmFsaWRhdGUoKQogewogICAgIGFkanVzdEV4dGVudEZvckVkaXRhYmxlQ29u
dGVudCgpOwogICAgIC8vIE1vdmUgdGhlIHNlbGVjdGlvbiB0byByZW5kZXJlZCBwb3NpdGlvbnMs
IGlmIHBvc3NpYmxlLgpAQCAtODcyLDc0ICs5MjUsMTIgQEAKICAgICAgICAgbV9iYXNlSXNTdGFy
dCA9IFJhbmdlSW1wbDo6Y29tcGFyZUJvdW5kYXJ5UG9pbnRzKG1fYmFzZS5ub2RlKCksIG1fYmFz
ZS5vZmZzZXQoKSwgbV9leHRlbnQubm9kZSgpLCBtX2V4dGVudC5vZmZzZXQoKSkgPD0gMDsKICAg
ICB9CiAKLSAgICBtX3N0YXJ0LmNsZWFyKCk7Ci0gICAgbV9lbmQuY2xlYXIoKTsKLQotICAgIC8v
IGNhbGN1bGF0ZSB0aGUgY29ycmVjdCBzdGFydCBhbmQgZW5kIHBvc2l0aW9ucwotICAgIHN3aXRj
aCAoZ3JhbnVsYXJpdHkpIHsKLSAgICAgICAgY2FzZSBDSEFSQUNURVI6Ci0gICAgICAgICAgICBp
ZiAobV9iYXNlSXNTdGFydCkgewotICAgICAgICAgICAgICAgIG1fc3RhcnQgPSBtX2Jhc2U7Ci0g
ICAgICAgICAgICAgICAgbV9lbmQgPSBtX2V4dGVudDsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgbV9zdGFydCA9IG1fZXh0ZW50OwotICAgICAgICAgICAgICAgIG1fZW5k
ID0gbV9iYXNlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgV09SRDogewotICAgICAgICAgICAgLy8gR2VuZXJhbCBjYXNlOiBTZWxlY3QgdGhlIHdvcmQg
dGhlIGNhcmV0IGlzIHBvc2l0aW9uZWQgaW5zaWRlIG9mLCBvciBhdCB0aGUgc3RhcnQgb2YgKFJp
Z2h0V29yZElmT25Cb3VuZGFyeSkuCi0gICAgICAgICAgICAvLyBFZGdlIGNhc2U6IElmIHRoZSBj
YXJldCBpcyBhZnRlciB0aGUgbGFzdCB3b3JkIGluIGEgc29mdC13cmFwcGVkIGxpbmUgb3IgdGhl
IGxhc3Qgd29yZCBpbgotICAgICAgICAgICAgLy8gdGhlIGRvY3VtZW50LCBzZWxlY3QgdGhhdCBs
YXN0IHdvcmQgKExlZnRXb3JkSWZPbkJvdW5kYXJ5KS4KLSAgICAgICAgICAgIC8vIEVkZ2UgY2Fz
ZTogSWYgdGhlIGNhcmV0IGlzIGFmdGVyIHRoZSBsYXN0IHdvcmQgaW4gYSBwYXJhZ3JhcGgsIHNl
bGVjdCBmcm9tIHRoZSB0aGUgZW5kIG9mIHRoZQotICAgICAgICAgICAgLy8gbGFzdCB3b3JkIHRv
IHRoZSBsaW5lIGJyZWFrIChhbHNvIFJpZ2h0V29yZElmT25Cb3VuZGFyeSk7Ci0gICAgICAgICAg
ICBWaXNpYmxlUG9zaXRpb24gc3RhcnQgPSBtX2Jhc2VJc1N0YXJ0ID8gVmlzaWJsZVBvc2l0aW9u
KG1fYmFzZSwgbV9hZmZpbml0eSkgICA6IFZpc2libGVQb3NpdGlvbihtX2V4dGVudCwgbV9hZmZp
bml0eSk7Ci0gICAgICAgICAgICBWaXNpYmxlUG9zaXRpb24gZW5kICAgPSBtX2Jhc2VJc1N0YXJ0
ID8gVmlzaWJsZVBvc2l0aW9uKG1fZXh0ZW50LCBtX2FmZmluaXR5KSA6IFZpc2libGVQb3NpdGlv
bihtX2Jhc2UsIG1fYWZmaW5pdHkpOwotICAgICAgICAgICAgRVdvcmRTaWRlIHNpZGUgPSBSaWdo
dFdvcmRJZk9uQm91bmRhcnk7Ci0gICAgICAgICAgICBpZiAoaXNFbmRPZkRvY3VtZW50KHN0YXJ0
KSB8fCAoaXNFbmRPZkxpbmUoc3RhcnQpICYmICFpc1N0YXJ0T2ZMaW5lKHN0YXJ0KSAmJiAhaXNF
bmRPZlBhcmFncmFwaChzdGFydCkpKQotICAgICAgICAgICAgICAgIHNpZGUgPSBMZWZ0V29yZElm
T25Cb3VuZGFyeTsKLSAgICAgICAgICAgIG1fc3RhcnQgPSBzdGFydE9mV29yZChzdGFydCwgc2lk
ZSkuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICAgICAgICAgIHNpZGUgPSBSaWdodFdvcmRJZk9uQm91
bmRhcnk7Ci0gICAgICAgICAgICBpZiAoaXNFbmRPZkRvY3VtZW50KGVuZCkgfHwgKGlzRW5kT2ZM
aW5lKGVuZCkgJiYgIWlzU3RhcnRPZkxpbmUoZW5kKSAmJiAhaXNFbmRPZlBhcmFncmFwaChlbmQp
KSkKLSAgICAgICAgICAgICAgICBzaWRlID0gTGVmdFdvcmRJZk9uQm91bmRhcnk7Ci0gICAgICAg
ICAgICBtX2VuZCA9IGVuZE9mV29yZChlbmQsIHNpZGUpLmRlZXBFcXVpdmFsZW50KCk7Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICBjYXNl
IExJTkU6Ci0gICAgICAgIGNhc2UgTElORV9CT1VOREFSWToKLSAgICAgICAgICAgIGlmIChtX2Jh
c2VJc1N0YXJ0KSB7Ci0gICAgICAgICAgICAgICAgbV9zdGFydCA9IHN0YXJ0T2ZMaW5lKFZpc2li
bGVQb3NpdGlvbihtX2Jhc2UsIG1fYWZmaW5pdHkpKS5kZWVwRXF1aXZhbGVudCgpOwotICAgICAg
ICAgICAgICAgIG1fZW5kID0gZW5kT2ZMaW5lKFZpc2libGVQb3NpdGlvbihtX2V4dGVudCwgbV9h
ZmZpbml0eSksIEluY2x1ZGVMaW5lQnJlYWspLmRlZXBFcXVpdmFsZW50KCk7Ci0gICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgIG1fc3RhcnQgPSBzdGFydE9mTGluZShWaXNpYmxl
UG9zaXRpb24obV9leHRlbnQsIG1fYWZmaW5pdHkpKS5kZWVwRXF1aXZhbGVudCgpOwotICAgICAg
ICAgICAgICAgIG1fZW5kID0gZW5kT2ZMaW5lKFZpc2libGVQb3NpdGlvbihtX2Jhc2UsIG1fYWZm
aW5pdHkpLCBJbmNsdWRlTGluZUJyZWFrKS5kZWVwRXF1aXZhbGVudCgpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUEFSQUdSQVBIOgotICAgICAgICAg
ICAgaWYgKG1fYmFzZUlzU3RhcnQpIHsKLSAgICAgICAgICAgICAgICBWaXNpYmxlUG9zaXRpb24g
cG9zKG1fYmFzZSwgbV9hZmZpbml0eSk7Ci0gICAgICAgICAgICAgICAgaWYgKGlzU3RhcnRPZkxp
bmUocG9zKSAmJiBpc0VuZE9mRG9jdW1lbnQocG9zKSkKLSAgICAgICAgICAgICAgICAgICAgcG9z
ID0gcG9zLnByZXZpb3VzKCk7Ci0gICAgICAgICAgICAgICAgbV9zdGFydCA9IHN0YXJ0T2ZQYXJh
Z3JhcGgocG9zKS5kZWVwRXF1aXZhbGVudCgpOwotICAgICAgICAgICAgICAgIG1fZW5kID0gZW5k
T2ZQYXJhZ3JhcGgoVmlzaWJsZVBvc2l0aW9uKG1fZXh0ZW50LCBtX2FmZmluaXR5KSwgSW5jbHVk
ZUxpbmVCcmVhaykuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgbV9zdGFydCA9IHN0YXJ0T2ZQYXJhZ3JhcGgoVmlzaWJsZVBvc2l0aW9uKG1f
ZXh0ZW50LCBtX2FmZmluaXR5KSkuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICAgICAgICAgICAgICBt
X2VuZCA9IGVuZE9mUGFyYWdyYXBoKFZpc2libGVQb3NpdGlvbihtX2Jhc2UsIG1fYWZmaW5pdHkp
LCBJbmNsdWRlTGluZUJyZWFrKS5kZWVwRXF1aXZhbGVudCgpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgRE9DVU1FTlRfQk9VTkRBUlk6Ci0gICAgICAg
ICAgICBtX3N0YXJ0ID0gc3RhcnRPZkRvY3VtZW50KFZpc2libGVQb3NpdGlvbihtX2Jhc2UsIG1f
YWZmaW5pdHkpKS5kZWVwRXF1aXZhbGVudCgpOwotICAgICAgICAgICAgbV9lbmQgPSBlbmRPZkRv
Y3VtZW50KFZpc2libGVQb3NpdGlvbihtX2Jhc2UsIG1fYWZmaW5pdHkpKS5kZWVwRXF1aXZhbGVu
dCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUEFSQUdSQVBIX0JPVU5EQVJZ
OgotICAgICAgICAgICAgaWYgKG1fYmFzZUlzU3RhcnQpIHsKLSAgICAgICAgICAgICAgICBtX3N0
YXJ0ID0gc3RhcnRPZlBhcmFncmFwaChWaXNpYmxlUG9zaXRpb24obV9iYXNlLCBtX2FmZmluaXR5
KSkuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICAgICAgICAgICAgICBtX2VuZCA9IGVuZE9mUGFyYWdy
YXBoKFZpc2libGVQb3NpdGlvbihtX2V4dGVudCwgbV9hZmZpbml0eSkpLmRlZXBFcXVpdmFsZW50
KCk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIG1fc3RhcnQgPSBzdGFy
dE9mUGFyYWdyYXBoKFZpc2libGVQb3NpdGlvbihtX2V4dGVudCwgbV9hZmZpbml0eSkpLmRlZXBF
cXVpdmFsZW50KCk7Ci0gICAgICAgICAgICAgICAgbV9lbmQgPSBlbmRPZlBhcmFncmFwaChWaXNp
YmxlUG9zaXRpb24obV9iYXNlLCBtX2FmZmluaXR5KSkuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOworICAgIGlmIChtX2Jhc2VJc1N0YXJ0KSB7Cisg
ICAgICAgIG1fc3RhcnQgPSBtX2Jhc2U7CisgICAgICAgIG1fZW5kID0gbV9leHRlbnQ7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgbV9zdGFydCA9IG1fZXh0ZW50OworICAgICAgICBtX2VuZCA9IG1f
YmFzZTsKICAgICB9CiAKICAgICAvLyBhZGp1c3QgdGhlIHN0YXRlCkluZGV4OiBraHRtbC9lZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
V2ViQ29yZS9raHRtbC9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaCx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS40NQpkaWZmIC11IC1yMS40NSBTZWxlY3Rpb25Db250cm9sbGVyLmgKLS0tIGto
dG1sL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCTEgRGVjIDIwMDUgMTA6MzI6MTQgLTAw
MDAJMS40NQorKysga2h0bWwvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgJMyBEZWMgMjAw
NSAxMDoxMDo0NCAtMDAwMApAQCAtMTIxLDcgKzEyMSw3IEBACiAgICAgZW51bSBFUG9zaXRpb25U
eXBlIHsgU1RBUlQsIEVORCwgQkFTRSwgRVhURU5UIH07CiAKICAgICB2b2lkIGluaXQoRUFmZmlu
aXR5IGFmZmluaXR5KTsKLSAgICB2b2lkIHZhbGlkYXRlKEVUZXh0R3JhbnVsYXJpdHkgZ3JhbnVs
YXJpdHkgPSBDSEFSQUNURVIpOworICAgIHZvaWQgdmFsaWRhdGUoKTsKICAgICB2b2lkIGFkanVz
dEV4dGVudEZvckVkaXRhYmxlQ29udGVudCgpOwogCiAgICAgVmlzaWJsZVBvc2l0aW9uIG1vZGlm
eUV4dGVuZGluZ1JpZ2h0Rm9yd2FyZChFVGV4dEdyYW51bGFyaXR5KTsK
</data>
<flag name="review"
          id="933"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>