<?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>53070</bug_id>
          
          <creation_ts>2011-01-24 23:44:34 -0800</creation_ts>
          <short_desc>Cannot extend or modify forward by word over a non-contenteditable region</short_desc>
          <delta_ts>2011-02-17 00:07:06 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Benjamin (Ben) Kalman">kalman</reporter>
          <assigned_to name="Benjamin (Ben) Kalman">kalman</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>339516</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2011-01-24 23:44:34 -0800</bug_when>
    <thetext>Cannot extend or modify forward by word over a non-contenteditable region</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339519</commentid>
    <comment_count>1</comment_count>
      <attachid>80029</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2011-01-24 23:55:13 -0800</bug_when>
    <thetext>Created attachment 80029
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339521</commentid>
    <comment_count>2</comment_count>
      <attachid>80029</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-25 00:09:28 -0800</bug_when>
    <thetext>Comment on attachment 80029
Patch

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

&gt; LayoutTests/editing/selection/extend-forward-by-word-over-non-editable.html:37
&gt; +  getSelection().modify(&quot;extend&quot;, &quot;forward&quot;, &quot;word&quot;);
&gt; +  if (getSelection().toString() === noneditableChild.textContent)
&gt; +    log(&quot;PASS for &quot; + bidiName);
&gt; +  else
&gt; +    log(&quot;FAIL for &quot; + bidiName + &quot;, selection is \&quot;&quot; + getSelection() + &quot;\&quot; but should be \&quot;&quot; + noneditableChild.textContent + &quot;\&quot;&quot;);

So when we extend selection by word, we want to extend beyond the word boundary when the word was not editable?  Does that much other browsers?  Is it documented anywhere?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339526</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2011-01-25 00:14:09 -0800</bug_when>
    <thetext>rniwa: I was in the middle of writing this essay when you made your comment.  I&apos;ll address it in here :-)

---

I will paste the explanation from the changelog here, and attempt to justify it:

&quot;
Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the functions which determine the end/start of words/lines/sentences in visible_units.cpp.

This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore. The cursor is now moved to the end of the region (which is effectively a noop in this case).
&quot;

There are a few things to note about this:

(1) Perhaps surprisingly (initially), all layout tests still pass, and the test case passes when previously it didn&apos;t.

(2) Layout test passing aside, it won&apos;t result in incorrect behaviour caused by the cursor being places in a non-editable region.  How could it?  The functions still prevent this, I&apos;ve just reversed them.

(3) It also won&apos;t let the cursor &quot;escape&quot; a contenteditable region; the text iterators still respect contenteditable boundaries.

(4) The change has a nice sideeffect of treating a non-contenteditable region e.g. &lt;span contenteditable=false&gt;foo bar baz&lt;/span&gt; as a word for the purposes of selection.  Currently, &quot;foo bar baz&quot; is treated as an atomic unit for the purposes of moving by characters (i.e. arrow keys), but not for words.  Now it does.

Furthermore, this is what other browsers do.  Or attempt to do.  Both firefox and IE have slight bugs in this area.  Given the dom &quot;foo bar &lt;s editable=false&gt;baz qux&gt; quux asdf&quot;
 - firefox jumps from &quot;bar&quot; over the &quot;baz qux&quot; all the way to the &quot;asdf&quot;.
 - IE jumps from &quot;foo&quot; over &quot;bar baz qux&quot; to the &quot;quux&quot;.
Clearly each is buggy and aiming for the behaviour that this patch results in.  I don&apos;t know if it&apos;s documented anywhere.

(5) Even though the bug only affects moving by words, I changed all of them for consistency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339728</commentid>
    <comment_count>4</comment_count>
      <attachid>80029</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-25 10:29:30 -0800</bug_when>
    <thetext>Comment on attachment 80029
Patch

sounds good to me.  you might want to re-upload your patch since the patch doesn&apos;t seem to apply on TOT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339737</commentid>
    <comment_count>5</comment_count>
      <attachid>80029</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-25 10:42:51 -0800</bug_when>
    <thetext>Comment on attachment 80029
Patch

Clearing flags on attachment: 80029

Committed r76610: &lt;http://trac.webkit.org/changeset/76610&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339738</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-25 10:42:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80029</attachid>
            <date>2011-01-24 23:55:13 -0800</date>
            <delta_ts>2011-01-25 10:42:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53070-20110125185510.patch</filename>
            <type>text/plain</type>
            <size>9426</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2NGY3NTFlODAzZjI5NGNlYzY3YmMwMDQ0ZWJkZGFiMjlhYTEwOTVmLi5lZGQxYWY1
OGFlMTljODY2YWI3NWU2NzVhOWE5NzExZWJkMTQ3ZTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMDEtMjQgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2Fubm90IGV4dGVu
ZCBvciBtb2RpZnkgZm9yd2FyZCBieSB3b3JkIG92ZXIgYSBub24tY29udGVudGVkaXRhYmxlIHJl
Z2lvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMw
NzAKKworICAgICAgICBBZGQgcmVncmVzc2lvbiB0ZXN0LgorCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vZXh0ZW5kLWZvcndhcmQtYnktd29yZC1vdmVyLW5vbi1lZGl0YWJsZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1mb3J3YXJk
LWJ5LXdvcmQtb3Zlci1ub24tZWRpdGFibGUuaHRtbDogQWRkZWQuCisKIDIwMTEtMDEtMTggIERh
dmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBC
ZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRl
bmQtZm9yd2FyZC1ieS13b3JkLW92ZXItbm9uLWVkaXRhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1mb3J3YXJkLWJ5LXdvcmQtb3Zlci1ub24t
ZWRpdGFibGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5ZGZhOWNkNmZkNTQzN2ZlZWIxNTE0
NmRiZWNhOTQzYWVmYjgxODQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9leHRlbmQtZm9yd2FyZC1ieS13b3JkLW92ZXItbm9uLWVkaXRhYmxlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1BBU1MgZm9yIExUUgorUEFTUyBmb3IgUlRMCitQQVNT
IGZvciBMVFItbXVsdGkKK1BBU1MgZm9yIFJUTC1tdWx0aQorZm9vIGJhciBiYXogcXV4IHF1dXgK
K9ep15XWvNeo15Qg16nXlda816jXlCDXqdeV1rzXqNeUINep15XWvNeo15Qg16nXlda816jXlAor
Zm9vIGJhciBiYXogYmF6IGJheiBxdXggcXV1eAor16nXlda816jXlCDXqdeV1rzXqNeUINep15XW
vNeo15Qg16nXlda816jXlCDXqdeV1rzXqNeUINep15XWvNeo15Qg16nXlda816jXlApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWZvcndhcmQtYnktd29y
ZC1vdmVyLW5vbi1lZGl0YWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
ZXh0ZW5kLWZvcndhcmQtYnktd29yZC1vdmVyLW5vbi1lZGl0YWJsZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjVlZjBhYWU0YTI2MzkwOGZlYTg5ZjAyMDA3NzFjMzBlMmM4YWJhNTAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtZm9yd2FyZC1ieS13b3Jk
LW92ZXItbm9uLWVkaXRhYmxlLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8cHJlIGlkPSJsb2ciPjwvcHJlPgorCis8ZGl2IGlkPSJsdHJUZXh0Q29udGFpbmVyIiBjb250
ZW50ZWRpdGFibGU+Zm9vIGJhciA8c3BhbiBjb250ZW50ZWRpdGFibGU9ZmFsc2U+YmF6PC9zcGFu
PiBxdXggcXV1eDwvZGl2PgorPGRpdiBpZD0icnRsVGV4dENvbnRhaW5lciIgY29udGVudGVkaXRh
YmxlIGRpcj0icnRsIj4mI3gwNUU5OyYjeDA1RDU7JiN4MDVCQzsmI3gwNUU4OyYjeDA1RDQ7ICYj
eDA1RTk7JiN4MDVENTsmI3gwNUJDOyYjeDA1RTg7JiN4MDVENDsKKzxzcGFuIGNvbnRlbnRlZGl0
YWJsZT1mYWxzZT4mI3gwNUU5OyYjeDA1RDU7JiN4MDVCQzsmI3gwNUU4OyYjeDA1RDQ7PC9zcGFu
PgorJiN4MDVFOTsmI3gwNUQ1OyYjeDA1QkM7JiN4MDVFODsmI3gwNUQ0OyAmI3gwNUU5OyYjeDA1
RDU7JiN4MDVCQzsmI3gwNUU4OyYjeDA1RDQ7PC9kaXY+CisKKzxkaXYgaWQ9Imx0ck11bHRpVGV4
dENvbnRhaW5lciIgY29udGVudGVkaXRhYmxlPmZvbyBiYXIgPHNwYW4gY29udGVudGVkaXRhYmxl
PWZhbHNlPmJheiBiYXogYmF6PC9zcGFuPiBxdXggcXV1eDwvZGl2PgorPGRpdiBpZD0icnRsTXVs
dGlUZXh0Q29udGFpbmVyIiBjb250ZW50ZWRpdGFibGUgZGlyPSJydGwiPiYjeDA1RTk7JiN4MDVE
NTsmI3gwNUJDOyYjeDA1RTg7JiN4MDVENDsgJiN4MDVFOTsmI3gwNUQ1OyYjeDA1QkM7JiN4MDVF
ODsmI3gwNUQ0OworPHNwYW4gY29udGVudGVkaXRhYmxlPWZhbHNlPiYjeDA1RTk7JiN4MDVENTsm
I3gwNUJDOyYjeDA1RTg7JiN4MDVENDsgJiN4MDVFOTsmI3gwNUQ1OyYjeDA1QkM7JiN4MDVFODsm
I3gwNUQ0OyAmI3gwNUU5OyYjeDA1RDU7JiN4MDVCQzsmI3gwNUU4OyYjeDA1RDQ7PC9zcGFuPgor
JiN4MDVFOTsmI3gwNUQ1OyYjeDA1QkM7JiN4MDVFODsmI3gwNUQ0OyAmI3gwNUU5OyYjeDA1RDU7
JiN4MDVCQzsmI3gwNUU4OyYjeDA1RDQ7PC9kaXY+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2co
cykgeworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIikuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUocyArICJcbiIpKTsKK30KKworZnVuY3Rpb24gcGxhY2VDdXJzb3JC
ZWZvcmVGaXJzdE5vbmVkaXRhYmxlQ2hpbGQoY29udGFpbmVyKSB7CisgIGZvciAodmFyIGkgPSAw
OyBpIDwgY29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgbm9kZSA9
IGNvbnRhaW5lci5jaGlsZE5vZGVzW2ldOworICAgIGlmIChub2RlLmlzQ29udGVudEVkaXRhYmxl
ICE9PSB1bmRlZmluZWQgJiYgIW5vZGUuaXNDb250ZW50RWRpdGFibGUpIHsKKyAgICAgIHZhciBw
cmV2aW91cyA9IG5vZGUucHJldmlvdXNTaWJsaW5nOworICAgICAgZ2V0U2VsZWN0aW9uKCkuc2V0
UG9zaXRpb24ocHJldmlvdXMsIHByZXZpb3VzLnRleHRDb250ZW50Lmxlbmd0aCk7CisgICAgICBy
ZXR1cm4gbm9kZTsKKyAgICB9CisgIH0KKyAgdGhyb3cgIkNvdWxkbid0IGZpbmQgbm9uZWRpdGFi
bGUgY2hpbGQgb2YgIiArIGNvbnRhaW5lci50ZXh0Q29udGVudDsKK30KKworZnVuY3Rpb24gZXh0
ZW5kRm9yd2FyZEJ5V29yZChjb250YWluZXIsIGJpZGlOYW1lKSB7CisgIG5vbmVkaXRhYmxlQ2hp
bGQgPSBwbGFjZUN1cnNvckJlZm9yZUZpcnN0Tm9uZWRpdGFibGVDaGlsZChjb250YWluZXIpOwor
ICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoImV4dGVuZCIsICJmb3J3YXJkIiwgIndvcmQiKTsKKyAg
aWYgKGdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT09IG5vbmVkaXRhYmxlQ2hpbGQudGV4dENv
bnRlbnQpCisgICAgbG9nKCJQQVNTIGZvciAiICsgYmlkaU5hbWUpOworICBlbHNlCisgICAgbG9n
KCJGQUlMIGZvciAiICsgYmlkaU5hbWUgKyAiLCBzZWxlY3Rpb24gaXMgXCIiICsgZ2V0U2VsZWN0
aW9uKCkgKyAiXCIgYnV0IHNob3VsZCBiZSBcIiIgKyBub25lZGl0YWJsZUNoaWxkLnRleHRDb250
ZW50ICsgIlwiIik7Cit9CisKK2V4dGVuZEZvcndhcmRCeVdvcmQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImx0clRleHRDb250YWluZXIiKSwgIkxUUiIpOworZXh0ZW5kRm9yd2FyZEJ5V29yZChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicnRsVGV4dENvbnRhaW5lciIpLCAiUlRMIik7CitleHRl
bmRGb3J3YXJkQnlXb3JkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsdHJNdWx0aVRleHRDb250
YWluZXIiKSwgIkxUUi1tdWx0aSIpOworZXh0ZW5kRm9yd2FyZEJ5V29yZChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicnRsTXVsdGlUZXh0Q29udGFpbmVyIiksICJSVEwtbXVsdGkiKTsKKworaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4MTU5NjlkYTIxMWFmYmZiMmUw
N2ZkYjQzYTIwNDU4MmQ0YWJmNDIyLi4zMWYxYzA1NjAxODY5NmJhYjAzZWNmOWNhNTg2MDEyZDRl
MjU1MTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDEtMjQgIEJlbmphbWlu
IEthbG1hbiAgPGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2Fubm90IGV4dGVuZCBvciBtb2RpZnkgZm9yd2FyZCBi
eSB3b3JkIG92ZXIgYSBub24tY29udGVudGVkaXRhYmxlIHJlZ2lvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMwNzAKKworICAgICAgICBUZXN0OiBl
ZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtZm9yd2FyZC1ieS13b3JkLW92ZXItbm9uLWVkaXRhYmxl
Lmh0bWwKKworICAgICAgICBDaGFuZ2UgYWxsIGluc3RhbmNlcyBvZiBob25vckVkaXRhYmxlQm91
bmRhcnlBdE9yQWZ0ZXIgdG8gaG9ub3JFZGl0YWJsZUJvdW5kYXJ5QXRPckJlZm9yZSBhbmQgdmlj
ZSB2ZXJzYSBpbiB0aGUKKyAgICAgICAgZnVuY3Rpb25zIHdoaWNoIGRldGVybWluZSB0aGUgZW5k
L3N0YXJ0IG9mIHdvcmRzL2xpbmVzL3NlbnRlbmNlcyBpbiB2aXNpYmxlX3VuaXRzLmNwcC4KKwor
ICAgICAgICBUaGlzIGZpeGVzIHRoZSBidWcgd2hlcmUgbW92aW5nIGZvcndhcmRzIGJ5IGEgd29y
ZCBvdmVyIGEgbm9uLWNvbnRlbnRlZGl0YWJsZSByZWdpb24gd291bGQgcGxhY2UgdGhlIGN1cnNv
cgorICAgICAgICBpbnNpZGUgdGhhdCByZWdpb24sIGFuZCB0aGVuIGdldCBtb3ZlZCBiYWNrIHRv
IHRoZSBzdGFydCBvZiB0aGUgd29yZCBkdWUgdG8gaG9ub3JFZGl0YWJsZUJvdW5kYXJ5QXRPckJl
Zm9yZS4KKyAgICAgICAgVGhlIGN1cnNvciBpcyBub3cgbW92ZWQgdG8gdGhlIGVuZCBvZiB0aGUg
cmVnaW9uICh3aGljaCBpcyBlZmZlY3RpdmVseSBhIG5vb3AgaW4gdGhpcyBjYXNlKS4KKworICAg
ICAgICAqIGVkaXRpbmcvdmlzaWJsZV91bml0cy5jcHA6IENoYW5nZSBhbGwgaW5zdGFuY2VzIG9m
IGhvbm9yRWRpdGFibGVCb3VuZGFyeUF0T3JBZnRlciB0bworICAgICAgICBob25vckVkaXRhYmxl
Qm91bmRhcnlBdE9yQmVmb3JlIGFuZCB2aWNlIHZlcnNhLgorICAgICAgICAoV2ViQ29yZTo6cHJl
dmlvdXNXb3JkUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6bmV4dFdvcmRQb3NpdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpzdGFydE9mTGluZSk6CisgICAgICAgIChXZWJDb3JlOjplbmRP
ZkxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNTZW50ZW5jZVBvc2l0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Om5leHRTZW50ZW5jZVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OmxvZ2ljYWxTdGFydE9mTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpsb2dpY2FsRW5kT2ZMaW5l
KToKKwogMjAxMS0wMS0xOCAgVmljdG9yaWEgS2lyc3QgIDx2cmtAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L3Zpc2libGVfdW5pdHMuY3BwCmluZGV4IDFhNTU0Yjc3YzQ5ZDMzN2M0MzdiNmY4YTgzNGU5NDYy
MWQxMDRkYjcuLjExNjVlNDY2YWJiZDgzMDI5YzgyNWIyNjNlNzE3ODIwYzRmMWM5ZTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcApAQCAtMjkyLDcgKzI5Miw3IEBA
IHN0YXRpYyB1bnNpZ25lZCBwcmV2aW91c1dvcmRQb3NpdGlvbkJvdW5kYXJ5KGNvbnN0IFVDaGFy
KiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsCiBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNXb3JkUG9z
aXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZjKQogewogICAgIFZpc2libGVQb3NpdGlvbiBw
cmV2ID0gcHJldmlvdXNCb3VuZGFyeShjLCBwcmV2aW91c1dvcmRQb3NpdGlvbkJvdW5kYXJ5KTsK
LSAgICByZXR1cm4gYy5ob25vckVkaXRhYmxlQm91bmRhcnlBdE9yQWZ0ZXIocHJldik7CisgICAg
cmV0dXJuIGMuaG9ub3JFZGl0YWJsZUJvdW5kYXJ5QXRPckJlZm9yZShwcmV2KTsKIH0KIAogc3Rh
dGljIHVuc2lnbmVkIG5leHRXb3JkUG9zaXRpb25Cb3VuZGFyeShjb25zdCBVQ2hhciogY2hhcmFj
dGVycywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBvZmZzZXQsIEJvdW5kYXJ5U2VhcmNoQ29u
dGV4dEF2YWlsYWJpbGl0eSBtYXlIYXZlTW9yZUNvbnRleHQsIGJvb2wmIG5lZWRNb3JlQ29udGV4
dCkKQEAgLTMwOCw3ICszMDgsNyBAQCBzdGF0aWMgdW5zaWduZWQgbmV4dFdvcmRQb3NpdGlvbkJv
dW5kYXJ5KGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndAogVmlzaWJsZVBv
c2l0aW9uIG5leHRXb3JkUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZjKQogewogICAg
IFZpc2libGVQb3NpdGlvbiBuZXh0ID0gbmV4dEJvdW5kYXJ5KGMsIG5leHRXb3JkUG9zaXRpb25C
b3VuZGFyeSk7ICAgIAotICAgIHJldHVybiBjLmhvbm9yRWRpdGFibGVCb3VuZGFyeUF0T3JCZWZv
cmUobmV4dCk7CisgICAgcmV0dXJuIGMuaG9ub3JFZGl0YWJsZUJvdW5kYXJ5QXRPckFmdGVyKG5l
eHQpOwogfQogCiAvLyAtLS0tLS0tLS0KQEAgLTM5MSw3ICszOTEsNyBAQCBWaXNpYmxlUG9zaXRp
b24gc3RhcnRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjKQogewogICAgIFZpc2libGVQ
b3NpdGlvbiB2aXNQb3MgPSBzdGFydFBvc2l0aW9uRm9yTGluZShjKTsKIAotICAgIHJldHVybiBj
Lmhvbm9yRWRpdGFibGVCb3VuZGFyeUF0T3JBZnRlcih2aXNQb3MpOworICAgIHJldHVybiBjLmhv
bm9yRWRpdGFibGVCb3VuZGFyeUF0T3JCZWZvcmUodmlzUG9zKTsKIH0KIAogc3RhdGljIFZpc2li
bGVQb3NpdGlvbiBlbmRQb3NpdGlvbkZvckxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjKQpA
QCAtNDU4LDcgKzQ1OCw3IEBAIFZpc2libGVQb3NpdGlvbiBlbmRPZkxpbmUoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiBjKQogICAgICAgICB2aXNQb3MgPSBlbmRQb3NpdGlvbkZvckxpbmUodmlzUG9z
KTsKICAgICB9CiAgICAgCi0gICAgcmV0dXJuIGMuaG9ub3JFZGl0YWJsZUJvdW5kYXJ5QXRPckJl
Zm9yZSh2aXNQb3MpOworICAgIHJldHVybiBjLmhvbm9yRWRpdGFibGVCb3VuZGFyeUF0T3JBZnRl
cih2aXNQb3MpOwogfQogCiBib29sIGluU2FtZUxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZh
LCBjb25zdCBWaXNpYmxlUG9zaXRpb24gJmIpCkBAIC03MjAsNyArNzIwLDcgQEAgc3RhdGljIHVu
c2lnbmVkIHByZXZpb3VzU2VudGVuY2VQb3NpdGlvbkJvdW5kYXJ5KGNvbnN0IFVDaGFyKiBjaGFy
YWN0ZXJzLCB1bnNpZ24KIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c1NlbnRlbmNlUG9zaXRpb24o
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICZjKQogewogICAgIFZpc2libGVQb3NpdGlvbiBwcmV2ID0g
cHJldmlvdXNCb3VuZGFyeShjLCBwcmV2aW91c1NlbnRlbmNlUG9zaXRpb25Cb3VuZGFyeSk7Ci0g
ICAgcmV0dXJuIGMuaG9ub3JFZGl0YWJsZUJvdW5kYXJ5QXRPckFmdGVyKHByZXYpOworICAgIHJl
dHVybiBjLmhvbm9yRWRpdGFibGVCb3VuZGFyeUF0T3JCZWZvcmUocHJldik7CiB9CiAKIHN0YXRp
YyB1bnNpZ25lZCBuZXh0U2VudGVuY2VQb3NpdGlvbkJvdW5kYXJ5KGNvbnN0IFVDaGFyKiBjaGFy
YWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkLCBCb3VuZGFyeVNlYXJjaENvbnRleHRB
dmFpbGFiaWxpdHksIGJvb2wmKQpAQCAtNzM0LDcgKzczNCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBu
ZXh0U2VudGVuY2VQb3NpdGlvbkJvdW5kYXJ5KGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNp
Z25lZCBsCiBWaXNpYmxlUG9zaXRpb24gbmV4dFNlbnRlbmNlUG9zaXRpb24oY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICZjKQogewogICAgIFZpc2libGVQb3NpdGlvbiBuZXh0ID0gbmV4dEJvdW5kYXJ5
KGMsIG5leHRTZW50ZW5jZVBvc2l0aW9uQm91bmRhcnkpOyAgICAKLSAgICByZXR1cm4gYy5ob25v
ckVkaXRhYmxlQm91bmRhcnlBdE9yQmVmb3JlKG5leHQpOworICAgIHJldHVybiBjLmhvbm9yRWRp
dGFibGVCb3VuZGFyeUF0T3JBZnRlcihuZXh0KTsKIH0KIAogVmlzaWJsZVBvc2l0aW9uIHN0YXJ0
T2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjLCBFZGl0aW5nQm91bmRhcnlDcm9z
c2luZ1J1bGUgYm91bmRhcnlDcm9zc2luZ1J1bGUpCkBAIC0xMTMzLDcgKzExMzMsNyBAQCBWaXNp
YmxlUG9zaXRpb24gbG9naWNhbFN0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYykK
ICAgICAvLyBQbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ5MTA3IGZvciBkZXRhaWwuCiAgICAgVmlzaWJsZVBvc2l0aW9uIHZpc1BvcyA9IGxv
Z2ljYWxTdGFydFBvc2l0aW9uRm9yTGluZShjKTsKICAgICAKLSAgICByZXR1cm4gYy5ob25vckVk
aXRhYmxlQm91bmRhcnlBdE9yQWZ0ZXIodmlzUG9zKTsKKyAgICByZXR1cm4gYy5ob25vckVkaXRh
YmxlQm91bmRhcnlBdE9yQmVmb3JlKHZpc1Bvcyk7CiB9CiAKIHN0YXRpYyBWaXNpYmxlUG9zaXRp
b24gbG9naWNhbEVuZFBvc2l0aW9uRm9yTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24mIGMpCkBA
IC0xMTkwLDcgKzExOTAsNyBAQCBWaXNpYmxlUG9zaXRpb24gbG9naWNhbEVuZE9mTGluZShjb25z
dCBWaXNpYmxlUG9zaXRpb24mIGMpCiAgICAgaWYgKCFpblNhbWVMb2dpY2FsTGluZShjLCB2aXNQ
b3MpKQogICAgICAgICB2aXNQb3MgPSB2aXNQb3MucHJldmlvdXMoKTsKICAgICAKLSAgICByZXR1
cm4gYy5ob25vckVkaXRhYmxlQm91bmRhcnlBdE9yQmVmb3JlKHZpc1Bvcyk7CisgICAgcmV0dXJu
IGMuaG9ub3JFZGl0YWJsZUJvdW5kYXJ5QXRPckFmdGVyKHZpc1Bvcyk7CiB9CiAKIFZpc2libGVQ
b3NpdGlvbiBsZWZ0Qm91bmRhcnlPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjLCBUZXh0
RGlyZWN0aW9uIGRpcmVjdGlvbikK
</data>

          </attachment>
      

    </bug>

</bugzilla>