<?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>25413</bug_id>
          
          <creation_ts>2009-04-26 16:41:51 -0700</creation_ts>
          <short_desc>[GTK] Please expose the level of headings.</short_desc>
          <delta_ts>2009-10-17 13:00:46 -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>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>21546</dependson>
          <blocked>25531</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apinheiro</cc>
    
    <cc>commit-queue</cc>
    
    <cc>walker.willie</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>118931</commentid>
    <comment_count>0</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-04-26 16:41:51 -0700</bug_when>
    <thetext>Steps to reproduce:

1. View the (to be) attached document in WebKit Gtk.

2. Examine any of the headings using Accerciser&apos;s Interface Viewer.

Expected results: There would be some way to identify the level of the heading.

Actual results: (As best as I can tell) the level of the heading is not being exposed to assistive technologies.

Comments:

1. The reason why it is helpful to have this information is because it enables the user to quickly scan through and/or navigate within a document in which headings have been properly applied.

2. FWIW, the way that Gecko exposes this information is via an object attribute (e.g. &apos;level:2&apos;). That doesn&apos;t mean WebKit should follow suit if y&apos;all have a better idea; merely pointing out this as an option. :-)

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118932</commentid>
    <comment_count>1</comment_count>
      <attachid>29806</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-04-26 16:43:02 -0700</bug_when>
    <thetext>Created attachment 29806
aforementioned test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155386</commentid>
    <comment_count>2</comment_count>
      <attachid>41355</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-17 03:02:24 -0700</bug_when>
    <thetext>Created attachment 41355
proposed patch - take 1

I decided to take a stab at an easier one. :-)

This works for me. Xan, please review and give pointers. Thanks in advance!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155387</commentid>
    <comment_count>3</comment_count>
      <attachid>41355</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-17 03:22:37 -0700</bug_when>
    <thetext>Comment on attachment 41355
proposed patch - take 1

This patch is amazing, great job!

A few small comments:

&gt; +static AtkAttributeSet* addAttributeToSet(AtkAttributeSet* attributeSet, const char* name, const char* value)
&gt; +{
&gt; +    AtkAttribute* attribute = (AtkAttribute*)g_malloc(sizeof(AtkAttribute));

WebKit style guide tells us to use C++ style castings, so you need to do something like:

AtkAttribute* attribute = static_cast&lt;AtkAttribute&gt;(g_malloc(sizeof(AtkAttribute)));


&gt; +    attribute-&gt;name = g_strdup(name);
&gt; +    attribute-&gt;value = g_strdup(value);
&gt; +    attributeSet = g_slist_prepend(attributeSet, attribute);
&gt; +
&gt; +    return attributeSet;
&gt; +}
&gt; +
&gt; +static AtkAttributeSet* webkit_accessible_get_attributes(AtkObject* object)
&gt; +{
&gt; +    AtkAttributeSet* attributeSet = NULL;
&gt; +
&gt; +    int headingLevel = core(object)-&gt;headingLevel();
&gt; +    if (headingLevel) {
&gt; +        String value = String::number(headingLevel);
&gt; +        attributeSet = addAttributeToSet(attributeSet, (const char*)&quot;level&quot;, returnString(value));

- Is the (const char*) casting for &quot;level&quot; really needed? I think it should be const char* already.
- Using returnString() here is a tiny hack, since the function was really intended for return values in public APIs implementations. Do thinks work if you pass value.utf8().data() to the function?

I&apos;m marking it as r- while we work on those final details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155388</commentid>
    <comment_count>4</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-17 03:56:23 -0700</bug_when>
    <thetext>Thanks for the feedback, Xan!

Notes (mostly to myself so that I remember them after I get some sleep. :-) )

&gt; WebKit style guide tells us to use C++ style castings, so you need to do
&gt; something like:
&gt; 
&gt; AtkAttribute* attribute =
&gt; static_cast&lt;AtkAttribute&gt;(g_malloc(sizeof(AtkAttribute)));

When I try that I get an error:

~~~~~~
WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: In function ‘AtkAttributeSet* addAttributeToSet(AtkAttributeSet*, const char*, const char*)’:
WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:179: error: no matching function for call to ‘_AtkAttribute::_AtkAttribute(void*)’
~~~~~~

But I&apos;m new to C++. I bet if I research it and think about it, it&apos;ll all become clear. I&apos;ll do that &quot;tomorrow.&quot;

&gt; - Is the (const char*) casting for &quot;level&quot; really needed? I think it should be
&gt; const char* already.

You are correct. My bad.

&gt; - Using returnString() here is a tiny hack, since the function was really
&gt; intended for return values in public APIs implementations. Do thinks work if
&gt; you pass value.utf8().data() to the function?

They do indeed. Cool.

&gt; I&apos;m marking it as r- while we work on those final details.

Thanks much for the review! I&apos;ll look into the first issue/error after some sleep. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155404</commentid>
    <comment_count>5</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-17 10:47:59 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Thanks for the feedback, Xan!
&gt; 
&gt; Notes (mostly to myself so that I remember them after I get some sleep. :-) )
&gt; 
&gt; &gt; WebKit style guide tells us to use C++ style castings, so you need to do
&gt; &gt; something like:
&gt; &gt; 
&gt; &gt; AtkAttribute* attribute =
&gt; &gt; static_cast&lt;AtkAttribute&gt;(g_malloc(sizeof(AtkAttribute)));
&gt; 
&gt; When I try that I get an error:
&gt; 
&gt; ~~~~~~
&gt; WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: In function
&gt; ‘AtkAttributeSet* addAttributeToSet(AtkAttributeSet*, const char*, const
&gt; char*)’:
&gt; WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:179: error: no
&gt; matching function for call to ‘_AtkAttribute::_AtkAttribute(void*)’
&gt; ~~~~~~
&gt; 
&gt; But I&apos;m new to C++. I bet if I research it and think about it, it&apos;ll all become
&gt; clear. I&apos;ll do that &quot;tomorrow.&quot;

I&apos;m sorry, there was a missing &apos;*&apos; in the static_cast, it should read static_cast&lt;AtkAttribute*&gt; :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155411</commentid>
    <comment_count>6</comment_count>
      <attachid>41362</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-17 12:34:21 -0700</bug_when>
    <thetext>Created attachment 41362
proposed patch - take 2

(In reply to comment #5)
&gt; I&apos;m sorry, there was a missing &apos;*&apos; in the static_cast, it should read
&gt; static_cast&lt;AtkAttribute*&gt; :)

Heheh. Even *I* see that NOW. :-) I really, really needed to sleep. But if I didn&apos;t see it, I would have been embarrassed when that turned out to be the &quot;issue,&quot; so thanks for providing it. :-)

This version makes that change along with the two others you pointed out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155413</commentid>
    <comment_count>7</comment_count>
      <attachid>41362</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-17 12:48:17 -0700</bug_when>
    <thetext>Comment on attachment 41362
proposed patch - take 2

woot, r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155414</commentid>
    <comment_count>8</comment_count>
      <attachid>41362</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-17 13:00:42 -0700</bug_when>
    <thetext>Comment on attachment 41362
proposed patch - take 2

Clearing flags on attachment: 41362

Committed r49743: &lt;http://trac.webkit.org/changeset/49743&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155415</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-17 13:00:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>29806</attachid>
            <date>2009-04-26 16:43:02 -0700</date>
            <delta_ts>2009-04-26 16:43:02 -0700</delta_ts>
            <desc>aforementioned test case</desc>
            <filename>foo.html</filename>
            <type>text/html</type>
            <size>432</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8dGl0bGU+U2ltcGxlIFRlc3Q8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5Pgo8
aDE+SGVhZGluZyAxPC9oMT4KPGgyPkhlYWRpbmcgMjwvaDI+CjxwPkhlcmUgaXMgc29tZSA8Yj5i
b2xkPC9iPiB0ZXh0IHdoaWNoIHdvdWxkIGludHJvZHVjZSB0aGUgbmV4dCBzZWN0aW9ucywgd2Vy
ZSB0aGVyZSBhbnl0aGluZyB3b3J0aCBpbnRyb2R1Y2luZyB0aGVyZS48L3A+CjxoMz5TZWN0aW9u
IDEgKEhlYWRpbmcgMyk8L2gzPgo8cD5GaXJzdCBwYXJhZ3JhcGg8L3A+CjxwPlNlY29uZCBwYXJh
Z3JhcGg8L3A+CjxoMz5TZWN0aW9uIDIgKEhlYWRpbmcgMyk8L2gzPgo8cD5GaXJzdCBwYXJhZ3Jh
cGg8L3A+CjxwPlNlY29uZCBwYXJhZ3JhcGg8L3A+CjxvbD4KPGxpPkl0ZW0gMTwvbGk+CjxsaT5J
dGVtIDI8L2xpPgo8L29sPgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41355</attachid>
            <date>2009-10-17 03:02:24 -0700</date>
            <delta_ts>2009-10-17 12:34:21 -0700</delta_ts>
            <desc>proposed patch - take 1</desc>
            <filename>25413.diffs</filename>
            <type>text/plain</type>
            <size>3035</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBmODc0MWQ4NTczM2UzOGNhOWExMDQ0MGFmNGIwZjdkZjBlMWYxZjU4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IFNhdCwgMTcgT2N0IDIwMDkgMDE6MTg6NDUgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCmh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTQxMwpbR1RLXSBQbGVhc2UgZXhwb3NlIHRoZSBsZXZlbCBvZiBo
ZWFkaW5ncwoKRXhwb3NlcyB0aGUgaGVhZGluZyBsZXZlbCBhcyBhbiBhdHRyaWJ1dGUgb2YgdGhl
IEF0a09iamVjdC4KCiogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJBdGsuY3BwOgooYWRkQXR0cmlidXRlVG9TZXQpOgood2Via2l0X2FjY2Vzc2libGVfZ2V0X2F0
dHJpYnV0ZXMpOgood2Via2l0X2FjY2Vzc2libGVfY2xhc3NfaW5pdCk6Ci0tLQogV2ViQ29yZS9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsrKysrKysr
KysrKwogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgICAgICAgICAg
fCAgIDIzICsrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlv
bnMoKyksIDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmODE1OWFjLi5kZWVmN2ZiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDA5LTEwLTE3ICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFyaWUuZGlnZ3NAZ21haWwuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTQxMworICAgICAgICBbR1RLXSBQbGVh
c2UgZXhwb3NlIHRoZSBsZXZlbCBvZiBoZWFkaW5ncworCisgICAgICAgIEV4cG9zZXMgdGhlIGhl
YWRpbmcgbGV2ZWwgYXMgYW4gYXR0cmlidXRlIG9mIHRoZSBBdGtPYmplY3QuCisKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHA6Cisg
ICAgICAgIChhZGRBdHRyaWJ1dGVUb1NldCk6CisgICAgICAgICh3ZWJraXRfYWNjZXNzaWJsZV9n
ZXRfYXR0cmlidXRlcyk6CisgICAgICAgICh3ZWJraXRfYWNjZXNzaWJsZV9jbGFzc19pbml0KToK
KwogMjAwOS0xMC0xNiAgSm9uIEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCBTUEkgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSBwbHVnLWluIGhhcyBldmVyIGJl
ZW4gaGFsdGVkLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAppbmRleCA4MTE5MDNkLi45NTg3NDAwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQXRrLmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQXRrLmNwcApAQCAtMTc0LDYgKzE3NCwyOCBAQCBzdGF0aWMgZ2ludCB3
ZWJraXRfYWNjZXNzaWJsZV9nZXRfaW5kZXhfaW5fcGFyZW50KEF0a09iamVjdCogb2JqZWN0KQog
ICAgIHJldHVybiAwOwogfQogCitzdGF0aWMgQXRrQXR0cmlidXRlU2V0KiBhZGRBdHRyaWJ1dGVU
b1NldChBdGtBdHRyaWJ1dGVTZXQqIGF0dHJpYnV0ZVNldCwgY29uc3QgY2hhciogbmFtZSwgY29u
c3QgY2hhciogdmFsdWUpCit7CisgICAgQXRrQXR0cmlidXRlKiBhdHRyaWJ1dGUgPSAoQXRrQXR0
cmlidXRlKilnX21hbGxvYyhzaXplb2YoQXRrQXR0cmlidXRlKSk7CisgICAgYXR0cmlidXRlLT5u
YW1lID0gZ19zdHJkdXAobmFtZSk7CisgICAgYXR0cmlidXRlLT52YWx1ZSA9IGdfc3RyZHVwKHZh
bHVlKTsKKyAgICBhdHRyaWJ1dGVTZXQgPSBnX3NsaXN0X3ByZXBlbmQoYXR0cmlidXRlU2V0LCBh
dHRyaWJ1dGUpOworCisgICAgcmV0dXJuIGF0dHJpYnV0ZVNldDsKK30KKworc3RhdGljIEF0a0F0
dHJpYnV0ZVNldCogd2Via2l0X2FjY2Vzc2libGVfZ2V0X2F0dHJpYnV0ZXMoQXRrT2JqZWN0KiBv
YmplY3QpCit7CisgICAgQXRrQXR0cmlidXRlU2V0KiBhdHRyaWJ1dGVTZXQgPSBOVUxMOworCisg
ICAgaW50IGhlYWRpbmdMZXZlbCA9IGNvcmUob2JqZWN0KS0+aGVhZGluZ0xldmVsKCk7CisgICAg
aWYgKGhlYWRpbmdMZXZlbCkgeworICAgICAgICBTdHJpbmcgdmFsdWUgPSBTdHJpbmc6Om51bWJl
cihoZWFkaW5nTGV2ZWwpOworICAgICAgICBhdHRyaWJ1dGVTZXQgPSBhZGRBdHRyaWJ1dGVUb1Nl
dChhdHRyaWJ1dGVTZXQsIChjb25zdCBjaGFyKikibGV2ZWwiLCByZXR1cm5TdHJpbmcodmFsdWUp
KTsKKyAgICB9CisgICAgcmV0dXJuIGF0dHJpYnV0ZVNldDsKK30KKwogc3RhdGljIEF0a1JvbGUg
YXRrUm9sZShBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogewogICAgIHN3aXRjaCAocm9sZSkgewpA
QCAtNDA4LDYgKzQzMCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9hY2Nlc3NpYmxlX2NsYXNzX2lu
aXQoQXRrT2JqZWN0Q2xhc3MqIGtsYXNzKQogICAgIGtsYXNzLT5nZXRfcm9sZSA9IHdlYmtpdF9h
Y2Nlc3NpYmxlX2dldF9yb2xlOwogICAgIGtsYXNzLT5yZWZfc3RhdGVfc2V0ID0gd2Via2l0X2Fj
Y2Vzc2libGVfcmVmX3N0YXRlX3NldDsKICAgICBrbGFzcy0+Z2V0X2luZGV4X2luX3BhcmVudCA9
IHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9pbmRleF9pbl9wYXJlbnQ7CisgICAga2xhc3MtPmdldF9h
dHRyaWJ1dGVzID0gd2Via2l0X2FjY2Vzc2libGVfZ2V0X2F0dHJpYnV0ZXM7CiB9CiAKIEdUeXBl
Ci0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="22728"
          type_id="1"
          status="-"
          setter="xan.lopez"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41362</attachid>
            <date>2009-10-17 12:34:21 -0700</date>
            <delta_ts>2009-10-17 13:00:42 -0700</delta_ts>
            <desc>proposed patch - take 2</desc>
            <filename>25413-2.diffs</filename>
            <type>text/plain</type>
            <size>2993</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBkNmRkZDQwNmRkZjBmMjhjMmRiY2U0NzQ5ODQ4OWE3ZGUzMDg5OGQ1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IFNhdCwgMTcgT2N0IDIwMDkgMTU6MjY6NTkgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCmh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTQxMwpbR1RLXSBQbGVhc2UgZXhwb3NlIHRoZSBsZXZlbCBvZiBo
ZWFkaW5ncwoKRXhwb3NlcyB0aGUgaGVhZGluZyBsZXZlbCBhcyBhbiBhdHRyaWJ1dGUgb2YgdGhl
IEF0a09iamVjdC4KCiogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJBdGsuY3BwOgooYWRkQXR0cmlidXRlVG9TZXQpOgood2Via2l0X2FjY2Vzc2libGVfZ2V0X2F0
dHJpYnV0ZXMpOgood2Via2l0X2FjY2Vzc2libGVfY2xhc3NfaW5pdCk6Ci0tLQogV2ViQ29yZS9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsrKysrKysr
KysrKwogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgICAgICAgICAg
fCAgIDIzICsrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlv
bnMoKyksIDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMTc5ODhhLi4zZDQzMjQ0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDA5LTEwLTE3ICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFyaWUuZGlnZ3NAZ21haWwuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTQxMworICAgICAgICBbR1RLXSBQbGVh
c2UgZXhwb3NlIHRoZSBsZXZlbCBvZiBoZWFkaW5ncworCisgICAgICAgIEV4cG9zZXMgdGhlIGhl
YWRpbmcgbGV2ZWwgYXMgYW4gYXR0cmlidXRlIG9mIHRoZSBBdGtPYmplY3QuCisKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHA6Cisg
ICAgICAgIChhZGRBdHRyaWJ1dGVUb1NldCk6CisgICAgICAgICh3ZWJraXRfYWNjZXNzaWJsZV9n
ZXRfYXR0cmlidXRlcyk6CisgICAgICAgICh3ZWJraXRfYWNjZXNzaWJsZV9jbGFzc19pbml0KToK
KwogMjAwOS0xMC0xNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgYi9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAppbmRleCA4MTE5
MDNkLi4wZWMwNzNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
Z3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcApAQCAtMTc0LDYgKzE3NCwyOCBA
QCBzdGF0aWMgZ2ludCB3ZWJraXRfYWNjZXNzaWJsZV9nZXRfaW5kZXhfaW5fcGFyZW50KEF0a09i
amVjdCogb2JqZWN0KQogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMgQXRrQXR0cmlidXRlU2V0
KiBhZGRBdHRyaWJ1dGVUb1NldChBdGtBdHRyaWJ1dGVTZXQqIGF0dHJpYnV0ZVNldCwgY29uc3Qg
Y2hhciogbmFtZSwgY29uc3QgY2hhciogdmFsdWUpCit7CisgICAgQXRrQXR0cmlidXRlKiBhdHRy
aWJ1dGUgPSBzdGF0aWNfY2FzdDxBdGtBdHRyaWJ1dGUqPihnX21hbGxvYyhzaXplb2YoQXRrQXR0
cmlidXRlKSkpOworICAgIGF0dHJpYnV0ZS0+bmFtZSA9IGdfc3RyZHVwKG5hbWUpOworICAgIGF0
dHJpYnV0ZS0+dmFsdWUgPSBnX3N0cmR1cCh2YWx1ZSk7CisgICAgYXR0cmlidXRlU2V0ID0gZ19z
bGlzdF9wcmVwZW5kKGF0dHJpYnV0ZVNldCwgYXR0cmlidXRlKTsKKworICAgIHJldHVybiBhdHRy
aWJ1dGVTZXQ7Cit9CisKK3N0YXRpYyBBdGtBdHRyaWJ1dGVTZXQqIHdlYmtpdF9hY2Nlc3NpYmxl
X2dldF9hdHRyaWJ1dGVzKEF0a09iamVjdCogb2JqZWN0KQoreworICAgIEF0a0F0dHJpYnV0ZVNl
dCogYXR0cmlidXRlU2V0ID0gTlVMTDsKKworICAgIGludCBoZWFkaW5nTGV2ZWwgPSBjb3JlKG9i
amVjdCktPmhlYWRpbmdMZXZlbCgpOworICAgIGlmIChoZWFkaW5nTGV2ZWwpIHsKKyAgICAgICAg
U3RyaW5nIHZhbHVlID0gU3RyaW5nOjpudW1iZXIoaGVhZGluZ0xldmVsKTsKKyAgICAgICAgYXR0
cmlidXRlU2V0ID0gYWRkQXR0cmlidXRlVG9TZXQoYXR0cmlidXRlU2V0LCAibGV2ZWwiLCB2YWx1
ZS51dGY4KCkuZGF0YSgpKTsKKyAgICB9CisgICAgcmV0dXJuIGF0dHJpYnV0ZVNldDsKK30KKwog
c3RhdGljIEF0a1JvbGUgYXRrUm9sZShBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogewogICAgIHN3
aXRjaCAocm9sZSkgewpAQCAtNDA4LDYgKzQzMCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9hY2Nl
c3NpYmxlX2NsYXNzX2luaXQoQXRrT2JqZWN0Q2xhc3MqIGtsYXNzKQogICAgIGtsYXNzLT5nZXRf
cm9sZSA9IHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9yb2xlOwogICAgIGtsYXNzLT5yZWZfc3RhdGVf
c2V0ID0gd2Via2l0X2FjY2Vzc2libGVfcmVmX3N0YXRlX3NldDsKICAgICBrbGFzcy0+Z2V0X2lu
ZGV4X2luX3BhcmVudCA9IHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9pbmRleF9pbl9wYXJlbnQ7Cisg
ICAga2xhc3MtPmdldF9hdHRyaWJ1dGVzID0gd2Via2l0X2FjY2Vzc2libGVfZ2V0X2F0dHJpYnV0
ZXM7CiB9CiAKIEdUeXBlCi0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>