<?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>174856</bug_id>
          
          <creation_ts>2017-07-26 01:52:40 -0700</creation_ts>
          <short_desc>AX: Incorrect range from index and length in contenteditable with &lt;p&gt; tags</short_desc>
          <delta_ts>2017-07-30 17:19:17 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nan Wang">n_wang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>buildbot</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>n_wang</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1332291</commentid>
    <comment_count>0</comment_count>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2017-07-26 01:52:40 -0700</bug_when>
    <thetext>For something like this:
&lt;div contenteditable=&quot;true&quot;&gt;
&lt;p&gt;ab&lt;/p&gt;
&lt;p&gt;cd&lt;/p&gt;
&lt;/div&gt;

On Mac when we get AXValueAttribute value it would be:
&quot;ab\n\ncd&quot;

So getting the string from range {2, 4} should be:
&quot;\n\ncd&quot;

But instead we get:
&quot;\ncd&quot;

&lt;rdar://problem/30187854&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332298</commentid>
    <comment_count>1</comment_count>
      <attachid>316437</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2017-07-26 02:03:40 -0700</bug_when>
    <thetext>Created attachment 316437
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332351</commentid>
    <comment_count>2</comment_count>
      <attachid>316437</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2017-07-26 08:57:35 -0700</bug_when>
    <thetext>Comment on attachment 316437
patch

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

&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:3956
&gt; +            return m_object-&gt;doAXStringForRange(plainTextRange);

is this not possible to fix in the characterOffsetForIndex? do you know the reason?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332352</commentid>
    <comment_count>3</comment_count>
      <attachid>316437</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2017-07-26 09:03:41 -0700</bug_when>
    <thetext>Comment on attachment 316437
patch

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

&gt;&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:3956
&gt;&gt; +            return m_object-&gt;doAXStringForRange(plainTextRange);
&gt; 
&gt; is this not possible to fix in the characterOffsetForIndex? do you know the reason?

I think the problem here is that for text controls, the AXValue comes from the AccessibilityNodeObject::text() (we call downcast&lt;HTMLTextFormControlElement&gt;(*node).value() or downcast&lt;Element&gt;(node)-&gt;innerText()).
This value can be different from what textIterator gives us. In this case it will contain two newline characters instead of one visually.
So when we try to get the range of text we should match that with the entire element value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332354</commentid>
    <comment_count>4</comment_count>
      <attachid>316437</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2017-07-26 09:08:03 -0700</bug_when>
    <thetext>Comment on attachment 316437
patch

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

&gt;&gt;&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:3956
&gt;&gt;&gt; +            return m_object-&gt;doAXStringForRange(plainTextRange);
&gt;&gt; 
&gt;&gt; is this not possible to fix in the characterOffsetForIndex? do you know the reason?
&gt; 
&gt; I think the problem here is that for text controls, the AXValue comes from the AccessibilityNodeObject::text() (we call downcast&lt;HTMLTextFormControlElement&gt;(*node).value() or downcast&lt;Element&gt;(node)-&gt;innerText()).
&gt; This value can be different from what textIterator gives us. In this case it will contain two newline characters instead of one visually.
&gt; So when we try to get the range of text we should match that with the entire element value.

does this need to be nativeTextControl() then? I think textControl also pulls in role=textbox</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332359</commentid>
    <comment_count>5</comment_count>
      <attachid>316437</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2017-07-26 09:15:32 -0700</bug_when>
    <thetext>Comment on attachment 316437
patch

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

&gt;&gt;&gt;&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:3956
&gt;&gt;&gt;&gt; +            return m_object-&gt;doAXStringForRange(plainTextRange);
&gt;&gt;&gt; 
&gt;&gt;&gt; is this not possible to fix in the characterOffsetForIndex? do you know the reason?
&gt;&gt; 
&gt;&gt; I think the problem here is that for text controls, the AXValue comes from the AccessibilityNodeObject::text() (we call downcast&lt;HTMLTextFormControlElement&gt;(*node).value() or downcast&lt;Element&gt;(node)-&gt;innerText()).
&gt;&gt; This value can be different from what textIterator gives us. In this case it will contain two newline characters instead of one visually.
&gt;&gt; So when we try to get the range of text we should match that with the entire element value.
&gt; 
&gt; does this need to be nativeTextControl() then? I think textControl also pulls in role=textbox

I think isTextControl() is what we want, otherwise the problematic contenteditable wouldn&apos;t be covered. nativeTextControl() only returns true for form controls and &lt;textarea&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332363</commentid>
    <comment_count>6</comment_count>
      <attachid>316437</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2017-07-26 09:19:45 -0700</bug_when>
    <thetext>Comment on attachment 316437
patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:3956
&gt;&gt;&gt;&gt;&gt; +            return m_object-&gt;doAXStringForRange(plainTextRange);
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; is this not possible to fix in the characterOffsetForIndex? do you know the reason?
&gt;&gt;&gt; 
&gt;&gt;&gt; I think the problem here is that for text controls, the AXValue comes from the AccessibilityNodeObject::text() (we call downcast&lt;HTMLTextFormControlElement&gt;(*node).value() or downcast&lt;Element&gt;(node)-&gt;innerText()).
&gt;&gt;&gt; This value can be different from what textIterator gives us. In this case it will contain two newline characters instead of one visually.
&gt;&gt;&gt; So when we try to get the range of text we should match that with the entire element value.
&gt;&gt; 
&gt;&gt; does this need to be nativeTextControl() then? I think textControl also pulls in role=textbox
&gt; 
&gt; I think isTextControl() is what we want, otherwise the problematic contenteditable wouldn&apos;t be covered. nativeTextControl() only returns true for form controls and &lt;textarea&gt;

ok so contenteitable also ends up using innerText() instead of a text iterator?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332366</commentid>
    <comment_count>7</comment_count>
      <attachid>316437</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2017-07-26 09:21:44 -0700</bug_when>
    <thetext>Comment on attachment 316437
patch

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

&gt;&gt;&gt;&gt;&gt;&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:3956
&gt;&gt;&gt;&gt;&gt;&gt; +            return m_object-&gt;doAXStringForRange(plainTextRange);
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; is this not possible to fix in the characterOffsetForIndex? do you know the reason?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I think the problem here is that for text controls, the AXValue comes from the AccessibilityNodeObject::text() (we call downcast&lt;HTMLTextFormControlElement&gt;(*node).value() or downcast&lt;Element&gt;(node)-&gt;innerText()).
&gt;&gt;&gt;&gt; This value can be different from what textIterator gives us. In this case it will contain two newline characters instead of one visually.
&gt;&gt;&gt;&gt; So when we try to get the range of text we should match that with the entire element value.
&gt;&gt;&gt; 
&gt;&gt;&gt; does this need to be nativeTextControl() then? I think textControl also pulls in role=textbox
&gt;&gt; 
&gt;&gt; I think isTextControl() is what we want, otherwise the problematic contenteditable wouldn&apos;t be covered. nativeTextControl() only returns true for form controls and &lt;textarea&gt;
&gt; 
&gt; ok so contenteitable also ends up using innerText() instead of a text iterator?

Yes, for NSRange calls. The text marker stuff will still be using textIterator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332371</commentid>
    <comment_count>8</comment_count>
      <attachid>316437</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-26 09:53:13 -0700</bug_when>
    <thetext>Comment on attachment 316437
patch

Clearing flags on attachment: 316437

Committed r219949: &lt;http://trac.webkit.org/changeset/219949&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332372</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-26 09:53:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333351</commentid>
    <comment_count>10</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2017-07-30 17:19:17 -0700</bug_when>
    <thetext>*** Bug 168957 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>316437</attachid>
            <date>2017-07-26 02:03:40 -0700</date>
            <delta_ts>2017-07-26 09:53:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5622</size>
            <attacher name="Nan Wang">n_wang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTkxMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA3LTI2ICBOYW4gV2Fu
ZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEluY29ycmVjdCByYW5nZSBmcm9t
IGluZGV4IGFuZCBsZW5ndGggaW4gY29udGVudGVkaXRhYmxlIHdpdGggPHA+IHRhZ3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDg1NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYXNraW5nIGZv
ciB0aGUgc3RyaW5nIGluc2lkZSBhIHRleHQgY29udHJvbCB3aXRoIGEgZ2l2ZW4gcmFuZ2UsIHdl
IHNvbWV0aW1lcyBnZXQKKyAgICAgICAgYSB3cm9uZyBzdHJpbmcgYXQgdGhlIGxpbmUgYm91bmRh
cnkgZHVlIHRvIGEgYmFkIHBsYWluIHJhbmdlIHRvIHRleHQgbWFya2VyIGNvbnZlcnNpb24uCisg
ICAgICAgIFRvIGZpeCB0aGlzLCB3ZSBzaG91bGQgdXNlIHRoZSBleHNpc3RpbmcgbWV0aG9kIG9u
IHRleHQgY29udHJvbHMgdG8gYXZvaWQgdGhpcyBpc3N1ZS4gCisKKyAgICAgICAgVXBkYXRlZCB0
aGUgdGVzdCB0byB0ZXN0IHRoZSBwcm9ibGVtYXRpYyBjYXNlLgorCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06CisgICAgICAg
ICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVW
YWx1ZTpmb3JQYXJhbWV0ZXI6XSk6CisKIDIwMTctMDctMjYgIFphbiBEb2JlcnNlayAgPHpkb2Jl
cnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdIFdlYkdMMiBzdXBwb3J0CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21h
Yy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQkocmV2aXNpb24gMjE5OTAxKQor
KysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM5NTEsNiArMzk1MSwxMSBAQCAtIChp
ZClhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6KE5TU3RyCiAgICAgfQogICAgIAogICAgIGlm
IChbYXR0cmlidXRlIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlTdHJpbmdGb3JSYW5n
ZVBhcmFtZXRlcml6ZWRBdHRyaWJ1dGVdKSB7CisgICAgICAgIGlmIChtX29iamVjdC0+aXNUZXh0
Q29udHJvbCgpKSB7CisgICAgICAgICAgICBQbGFpblRleHRSYW5nZSBwbGFpblRleHRSYW5nZSA9
IFBsYWluVGV4dFJhbmdlKHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgpOworICAgICAgICAg
ICAgcmV0dXJuIG1fb2JqZWN0LT5kb0FYU3RyaW5nRm9yUmFuZ2UocGxhaW5UZXh0UmFuZ2UpOwor
ICAgICAgICB9CisgICAgICAgIAogICAgICAgICBDaGFyYWN0ZXJPZmZzZXQgc3RhcnQgPSBjYWNo
ZS0+Y2hhcmFjdGVyT2Zmc2V0Rm9ySW5kZXgocmFuZ2UubG9jYXRpb24sIG1fb2JqZWN0KTsKICAg
ICAgICAgQ2hhcmFjdGVyT2Zmc2V0IGVuZCA9IGNhY2hlLT5jaGFyYWN0ZXJPZmZzZXRGb3JJbmRl
eChyYW5nZS5sb2NhdGlvbiArIHJhbmdlLmxlbmd0aCwgbV9vYmplY3QpOwogICAgICAgICBpZiAo
c3RhcnQuaXNOdWxsKCkgfHwgZW5kLmlzTnVsbCgpKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjE5OTAx
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTctMDctMjYgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KKworICAgICAgICBB
WDogSW5jb3JyZWN0IHJhbmdlIGZyb20gaW5kZXggYW5kIGxlbmd0aCBpbiBjb250ZW50ZWRpdGFi
bGUgd2l0aCA8cD4gdGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc0ODU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9yYW5nZS1mb3ItY29udGVudGVkaXRhYmxlLW5l
d2xpbmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3JhbmdlLWZv
ci1jb250ZW50ZWRpdGFibGUtbmV3bGluZS5odG1sOgorCiAyMDE3LTA3LTI1ICBBbmR5IEVzdGVz
ICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXBwbGUgUGF5XSBBZGQgImNhcnRlQmFu
Y2FpcmUiIGFzIGEgc3VwcG9ydGVkIHBheW1lbnQgbmV0d29yawpJbmRleDogTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvcmFuZ2UtZm9yLWNvbnRlbnRlZGl0YWJsZS1uZXdsaW5lLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9yYW5n
ZS1mb3ItY29udGVudGVkaXRhYmxlLW5ld2xpbmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTk5
MDEpCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9yYW5nZS1mb3ItY29udGVudGVk
aXRhYmxlLW5ld2xpbmUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC03LDkgKzcsOSBA
QCBhYmMKIAogCiBkZWYKLVRoZSBxdWljayBicm93biBmb3gKK2FiCiAKLWp1bXBlZCBvdmVyIHRo
ZSBsYXp5IGRvZworY2QgZWYKIAogVGV4dCBpbiBhIHByZSBlbGVtZW50CiBpcyBkaXNwbGF5ZWQg
aW4gYSBmaXhlZC13aWR0aApAQCAtMjYsMTQgKzI2LDExIEBAIFBBU1MgdGV4dFRlc3QgaXMgJ3Rl
c3QnCiBQQVNTIHRleHRhcmVhVGV4dEhlbGxvIGlzICdoZWxsbycKIFBBU1MgdGV4dGFyZWFUZXh0
V29ybGQgaXMgJ3dvcmxkJwogUEFTUyB0ZXh0REVGIGlzICdkZWYnCi1QQVNTIHJhbmdlRm9yTGlu
ZSBpcyAnezIxLCAyNX0nCi1QQVNTIHRleHRMaW5lIGlzICdqdW1wZWQgb3ZlciB0aGUgbGF6eSBk
b2cnCi1QQVNTIGZpcnN0TGluZSBpcyAwCi1QQVNTIHNlY29uZExpbmUgaXMgMQorUEFTUyByYW5n
ZVZhbHVlIGlzICdbbmV3bGluZV1bbmV3bGluZV1jZCcKIFBBU1MgcmFuZ2VGb3JMaW5lIGlzICd7
MjIsIDMwfScKIFBBU1MgdGV4dExpbmUgaXMgJ2lzIGRpc3BsYXllZCBpbiBhIGZpeGVkLXdpZHRo
XG4nCiBQQVNTIGZpcnN0TGluZSBpcyAwCi1GQUlMIHNlY29uZExpbmUgc2hvdWxkIGJlIDEuIFdh
cyAyLgorUEFTUyBzZWNvbmRMaW5lIGlzIDEKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMv
cmFuZ2UtZm9yLWNvbnRlbnRlZGl0YWJsZS1uZXdsaW5lLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvcmFuZ2UtZm9yLWNvbnRlbnRlZGl0YWJsZS1uZXds
aW5lLmh0bWwJKHJldmlzaW9uIDIxOTkwMSkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
bWFjL3JhbmdlLWZvci1jb250ZW50ZWRpdGFibGUtbmV3bGluZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xMyw4ICsxMyw4IEBAIHdvcmxkPC90ZXh0YXJlYT4KIDxkaXYgaWQ9InRleHRjb250cm9s
MiIgY29udGVudGVkaXRhYmxlPSJ0cnVlIj5hYmM8ZGl2Pjxicj48L2RpdjxkaXY+PGJyPjwvZGl2
PjxkaXY+PGJyPjwvZGl2PjxkaXY+ZGVmPC9kaXY+PC9kaXY+CiAKIDxkaXYgaWQ9InRleHRjb250
cm9sMyIgY29udGVudGVkaXRhYmxlPSJ0cnVlIj4KLTxwPlRoZSBxdWljayBicm93biBmb3g8L3A+
Ci08cD5qdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2c8L3A+Cis8cD5hYjwvcD4KKzxwPmNkIGVmPC9w
PgogPC9kaXY+CiAKIDxkaXYgaWQ9InRleHRjb250cm9sNCIgY29udGVudGVkaXRhYmxlPSJ0cnVl
Ij4KQEAgLTU5LDE0ICs1OSwxMCBAQCBmb250CiAgICAgCiAgICAgLy8gVGVzdCBsaW5lIHJhbmdl
cyBpbiBjb250ZW50ZWRpdGFibGUKICAgICB2YXIgdGV4dENvbnRyb2wzID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0ZXh0Y29udHJvbDMiKTsKLSAgICB2
YXIgcmFuZ2VGb3JMaW5lID0gdGV4dENvbnRyb2wzLnJhbmdlRm9yTGluZSgxKTsKLSAgICBzaG91
bGRCZSgicmFuZ2VGb3JMaW5lIiwgIid7MjEsIDI1fSciKTsKLSAgICB2YXIgdGV4dExpbmUgPSB0
ZXh0Q29udHJvbDMuc3RyaW5nRm9yUmFuZ2UoMjEsIDI1KTsKLSAgICBzaG91bGRCZSgidGV4dExp
bmUiLCAiJ2p1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZyciKTsKLSAgICB2YXIgZmlyc3RMaW5lID0g
dGV4dENvbnRyb2wzLmxpbmVGb3JJbmRleCgyMCk7Ci0gICAgdmFyIHNlY29uZExpbmUgPSB0ZXh0
Q29udHJvbDMubGluZUZvckluZGV4KDQ2KTsKLSAgICBzaG91bGRCZSgiZmlyc3RMaW5lIiwgIjAi
KTsKLSAgICBzaG91bGRCZSgic2Vjb25kTGluZSIsICIxIik7CisgICAgdmFyIHJhbmdlVmFsdWUg
PSB0ZXh0Q29udHJvbDMuc3RyaW5nRm9yUmFuZ2UoMiwgNCk7CisgICAgLy8gUmVwbGFjZSB0aGUg
bmV3bGluZSBjaGFyYWN0ZXJzLCBhbmQgbWFrZSBzdXJlIGl0IGhhcyB0d28gb2YgdGhlbQorICAg
IHJhbmdlVmFsdWUgPSByYW5nZVZhbHVlLnJlcGxhY2UoLyg/OlxyXG58XHJ8XG4pL2csICdbbmV3
bGluZV0nKTsgCisgICAgc2hvdWxkQmUoInJhbmdlVmFsdWUiLCAiJ1tuZXdsaW5lXVtuZXdsaW5l
XWNkJyIpOwogICAgIAogICAgIC8vIHByZSB0YWcgaW4gY29udGVudGVkaXRhYmxlCiAgICAgdmFy
IHRleHRDb250cm9sNCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgidGV4dGNvbnRyb2w0Iik7CkBAIC03NSw3ICs3MSw3IEBAIGZvbnQKICAgICB0ZXh0TGlu
ZSA9IHRleHRDb250cm9sNC5zdHJpbmdGb3JSYW5nZSgyMiwgMzApOwogICAgIHNob3VsZEJlKCJ0
ZXh0TGluZSIsICInaXMgZGlzcGxheWVkIGluIGEgZml4ZWQtd2lkdGhcXG4nIik7CiAgICAgZmly
c3RMaW5lID0gdGV4dENvbnRyb2w0LmxpbmVGb3JJbmRleCgyMSk7Ci0gICAgc2Vjb25kTGluZSA9
IHRleHRDb250cm9sNC5saW5lRm9ySW5kZXgoNTIpOworICAgIHNlY29uZExpbmUgPSB0ZXh0Q29u
dHJvbDQubGluZUZvckluZGV4KDUxKTsKICAgICBzaG91bGRCZSgiZmlyc3RMaW5lIiwgIjAiKTsK
ICAgICBzaG91bGRCZSgic2Vjb25kTGluZSIsICIxIik7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>