<?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>89226</bug_id>
          
          <creation_ts>2012-06-15 09:34:36 -0700</creation_ts>
          <short_desc>[GTK] Get rid of DumpRenderTreeSupportGtk::{in|de}crementAccessibilityValue</short_desc>
          <delta_ts>2012-06-18 04:17:56 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          <blocked>89223</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>650255</commentid>
    <comment_count>0</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-06-15 09:34:36 -0700</bug_when>
    <thetext>Currentĺy, in order to unskip tests like accessibility/input-slider.html in WKGTK, we have this helper functions in DumpRenderTreeSupportGtk, since there&apos;s no equivalent function available in ATK API.

However, it should be possible to implement them in DRT without needing this helper functions, just by using functions defined in the AtkValue interface:

   atk_value_get_current_value()
   atk_value_get_minimum_increment()
   atk_value_set_current_value()

Besides allowing to remove unnecesary code from DumpRenderTreeSupportGtk, this change will be useful too for implementing the same functions in WebKitTestRunner, where we will have the same situation. Thus, blocking bug 89223 for this reason</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650277</commentid>
    <comment_count>1</comment_count>
      <attachid>147841</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-06-15 09:58:27 -0700</bug_when>
    <thetext>Created attachment 147841
Patch proposal

No layout test needed, as the test for this is that tests like accessibility/input-slider.html keep working, as well as that tests in WK2 (when enabled) will run properly too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650333</commentid>
    <comment_count>2</comment_count>
      <attachid>147841</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-06-15 10:52:45 -0700</bug_when>
    <thetext>Comment on attachment 147841
Patch proposal

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

&gt; Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.cpp:78
&gt; +    double minValue = coreObject-&gt;minValueForRange();
&gt; +    newValue = newValue &lt; minValue ? minValue : newValue;
&gt; +
&gt; +    double maxValue = coreObject-&gt;maxValueForRange();
&gt; +    newValue = newValue &gt; maxValue ? maxValue : newValue;

This can simply be: 
newValue = std::max(coreObject-&gt;minValueForRange(), newValue);
newValue = std::min(coreObject-&gt;maxValueForRange(), newValue);

&gt; Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:649
&gt; +static void alterCurrentValue(PlatformUIElement element, bool isIncrement)

Instead of a boolean it would make sense to either pass a sign value ala alterCurrentValue(element, -1) and  alterCurrentValue(element, 1) or create an enum AlterCurrentValueOperation { Increment, Decrement };

The nice thing about the sign approach is that below you can just write:

double newDoubleValue = g_value_get_double(&amp;currentValue) + (sign * g_value_get_double(&amp;increment));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651313</commentid>
    <comment_count>3</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-06-18 04:17:56 -0700</bug_when>
    <thetext>Committed r120588: &lt;http://trac.webkit.org/changeset/120588&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147841</attachid>
            <date>2012-06-15 09:58:27 -0700</date>
            <delta_ts>2012-06-15 10:52:45 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-2012-06-15-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>11302</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA5N2MwOTY0NGIwYzNmMTdhNWUwZjE3NzEzMGI5YmI5NmNhNDYzY2QyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBUaHUsIDE0IEp1biAyMDEyIDE5OjE0OjEwICswMjAwClN1YmplY3Q6IFtQQVRD
SCAxLzNdIDIwMTItMDYtMTUgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgoKICAgICAgICBbR1RLXSBHZXQgcmlkIG9mIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6
e2lufGRlfWNyZW1lbnRBY2Nlc3NpYmlsaXR5VmFsdWUKICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMjYKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgogICAgICAgIEltcGxlbWVudCB3ZWJraXRBY2Nlc3NpYmxlVmFsdWVHZXRNaW5p
bXVtSW5jcmVtZW50KCkgcHJvcGVybHksCiAgICAgICAgZG9pbmcgc29tZXRoaW5nIHNpbWlsYXIg
dG8gd2hhdCBpcyBkb25lIGluIEFjY2Vzc2liaWxpdHlPYmplY3QncwogICAgICAgIGluY3JlbWVu
dCgpIGFuZCBkZWNyZW1lbnQoKSBmdW5jdGlvbnMuCgogICAgICAgIEFsc28sIGFkZGVkIG1pc3Np
bmcgYml0cyB0byB3ZWJraXRBY2Nlc3NpYmxlVmFsdWVTZXRDdXJyZW50VmFsdWUKICAgICAgICB0
byBtYWtlIHN1cmUgd2UgY2hlY2sgdGhlIG5ldyB2YWx1ZSBhZ2FpbnN0IHJhbmdlIGxpbWl0cy4K
CiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFs
dWUuY3BwOgogICAgICAgICh3ZWJraXRBY2Nlc3NpYmxlVmFsdWVTZXRDdXJyZW50VmFsdWUpOgog
ICAgICAgICh3ZWJraXRBY2Nlc3NpYmxlVmFsdWVHZXRNaW5pbXVtSW5jcmVtZW50KToKCjIwMTIt
MDYtMTUgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgoKICAgICAg
ICBbR1RLXSBHZXQgcmlkIG9mIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6e2lufGRlfWNyZW1l
bnRBY2Nlc3NpYmlsaXR5VmFsdWUKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODkyMjYKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgog
ICAgICAgIFJlbW92ZSB1bm5lY2VzYXJ5IGZ1bmN0aW9ucyBpbmNyZW1lbnRBY2Nlc3NpYmlsaXR5
VmFsdWUoKSBhbmQKICAgICAgICBkZWNyZW1lbnRBY2Nlc3NpYmlsaXR5VmFsdWUoKSBmcm9tIER1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay4KCiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsuY3BwOgogICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0R3RrLmg6CiAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ayk6Cgoy
MDEyLTA2LTE1ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KCiAg
ICAgICAgW0dUS10gR2V0IHJpZCBvZiBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OntpbnxkZX1j
cmVtZW50QWNjZXNzaWJpbGl0eVZhbHVlCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg5MjI2CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgoKICAgICAgICBJbXBsZW1lbnQgaW5jcmVtZW50KCkgYW5kIGRlY3JlbWVudCgpIGZ1bmN0aW9u
cyBpbiB0ZXJtIG9mIHRoZSBBdGtWYWx1ZSBpbnRlcmZhY2UsCiAgICAgICAgaW5zdGVhZCBvZiB1
c2luZyBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsgaGVscGVyIGNsYXNzLgoKICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcDoKICAgICAgICAo
YWx0ZXJDdXJyZW50VmFsdWUpOgogICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmNy
ZW1lbnQpOgogICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZWNyZW1lbnQpOgotLS0K
IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAx
OCArKysrKysrKysrCiAuLi4vZ3RrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAg
ICAgICAgICB8ICAgMjYgKysrKysrKysrKystLS0KIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArKysrKysrKwogLi4uL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAgICAgfCAgIDI1IC0tLS0tLS0tLS0tLS0K
IC4uLi9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmggIHwgICAg
MiAtLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDE1ICsrKysrKysrCiAuLi4vZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwICAg
ICAgICAgICAgICB8ICAgMzggKysrKysrKysrKysrKysrLS0tLS0KIDcgZmlsZXMgY2hhbmdlZCwg
OTggaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNhZTQ0NGUu
LjdjMzljYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNi0xNSAgTWFyaW8g
U2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gR2V0
IHJpZCBvZiBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OntpbnxkZX1jcmVtZW50QWNjZXNzaWJp
bGl0eVZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04OTIyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEltcGxlbWVudCB3ZWJraXRBY2Nlc3NpYmxlVmFsdWVHZXRNaW5pbXVtSW5jcmVtZW50KCkgcHJv
cGVybHksCisgICAgICAgIGRvaW5nIHNvbWV0aGluZyBzaW1pbGFyIHRvIHdoYXQgaXMgZG9uZSBp
biBBY2Nlc3NpYmlsaXR5T2JqZWN0J3MKKyAgICAgICAgaW5jcmVtZW50KCkgYW5kIGRlY3JlbWVu
dCgpIGZ1bmN0aW9ucy4KKworICAgICAgICBBbHNvLCBhZGRlZCBtaXNzaW5nIGJpdHMgdG8gd2Vi
a2l0QWNjZXNzaWJsZVZhbHVlU2V0Q3VycmVudFZhbHVlCisgICAgICAgIHRvIG1ha2Ugc3VyZSB3
ZSBjaGVjayB0aGUgbmV3IHZhbHVlIGFnYWluc3QgcmFuZ2UgbGltaXRzLgorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmNwcDoKKyAg
ICAgICAgKHdlYmtpdEFjY2Vzc2libGVWYWx1ZVNldEN1cnJlbnRWYWx1ZSk6CisgICAgICAgICh3
ZWJraXRBY2Nlc3NpYmxlVmFsdWVHZXRNaW5pbXVtSW5jcmVtZW50KToKKwogMjAxMi0wNi0xNCAg
WW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtGb3JtXSBS
ZXBsYWNlIElucHV0TnVtYmVyIHR5cGUgdG8gRGVjaW1hbCB0eXBlIGFuZCBkcm9wIElucHV0TnVt
YmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9ndGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmNwcAppbmRleCBjMjEyZjA1Li4y
ODExYjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKQEAgLTIxLDYg
KzIxLDcgQEAKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaCIKIAog
I2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
ICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5oIgogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKQEAgLTYzLDExICs2NCwyMCBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0QWNj
ZXNzaWJsZVZhbHVlU2V0Q3VycmVudFZhbHVlKEF0a1ZhbHVlKiB2YWx1ZSwgY29uc3QgR1ZhbAog
ICAgIGlmICghY29yZU9iamVjdC0+Y2FuU2V0VmFsdWVBdHRyaWJ1dGUoKSkKICAgICAgICAgcmV0
dXJuIEZBTFNFOwogCisgICAgZG91YmxlIG5ld1ZhbHVlOwogICAgIGlmIChHX1ZBTFVFX0hPTERT
X0RPVUJMRShnVmFsdWUpKQotICAgICAgICBjb3JlT2JqZWN0LT5zZXRWYWx1ZShTdHJpbmc6Om51
bWJlcihnX3ZhbHVlX2dldF9kb3VibGUoZ1ZhbHVlKSkpOworICAgICAgICBuZXdWYWx1ZSA9IGdf
dmFsdWVfZ2V0X2RvdWJsZShnVmFsdWUpOwogICAgIGVsc2UKLSAgICAgICAgY29yZU9iamVjdC0+
c2V0VmFsdWUoU3RyaW5nOjpudW1iZXIoZ192YWx1ZV9nZXRfaW50KGdWYWx1ZSkpKTsKKyAgICAg
ICAgbmV3VmFsdWUgPSBnX3ZhbHVlX2dldF9pbnQoZ1ZhbHVlKTsKIAorICAgIC8vIENoZWNrIHZh
bHVlIGFnYWluc3QgcmFuZ2UgbGltaXRzCisgICAgZG91YmxlIG1pblZhbHVlID0gY29yZU9iamVj
dC0+bWluVmFsdWVGb3JSYW5nZSgpOworICAgIG5ld1ZhbHVlID0gbmV3VmFsdWUgPCBtaW5WYWx1
ZSA/IG1pblZhbHVlIDogbmV3VmFsdWU7CisKKyAgICBkb3VibGUgbWF4VmFsdWUgPSBjb3JlT2Jq
ZWN0LT5tYXhWYWx1ZUZvclJhbmdlKCk7CisgICAgbmV3VmFsdWUgPSBuZXdWYWx1ZSA+IG1heFZh
bHVlID8gbWF4VmFsdWUgOiBuZXdWYWx1ZTsKKworICAgIGNvcmVPYmplY3QtPnNldFZhbHVlKFN0
cmluZzo6bnVtYmVyKG5ld1ZhbHVlKSk7CiAgICAgcmV0dXJuIFRSVUU7CiB9CiAKQEAgLTc2LDgg
Kzg2LDE2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdEFjY2Vzc2libGVWYWx1ZUdldE1pbmltdW1JbmNy
ZW1lbnQoQXRrVmFsdWUqIHZhbHVlLCBHVmFsdWUqIGdWCiAgICAgbWVtc2V0KGdWYWx1ZSwgIDAs
IHNpemVvZihHVmFsdWUpKTsKICAgICBnX3ZhbHVlX2luaXQoZ1ZhbHVlLCBHX1RZUEVfRE9VQkxF
KTsKIAotICAgIC8vIFRoZXJlJ3Mgbm90IHN1Y2ggYSB0aGluZyBpbiB0aGUgV0FJLUFSSUEgc3Bl
Y2lmaWNhdGlvbiwgdGh1cyByZXR1cm4gemVyby4KLSAgICBnX3ZhbHVlX3NldF9kb3VibGUoZ1Zh
bHVlLCAwLjApOworICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcmVPYmplY3QgPSBjb3JlKHZh
bHVlKTsKKyAgICBpZiAoIWNvcmVPYmplY3QtPmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnN0ZXBB
dHRyKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZ192YWx1ZV9zZXRfZG91YmxlKGdWYWx1ZSwgY29y
ZU9iamVjdC0+c3RlcFZhbHVlRm9yUmFuZ2UoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICAvLyBJZiAnc3RlcCcgYXR0cmlidXRlIGlzIG5vdCBkZWZpbmVkLCBXZWJDb3JlIGFzc3Vt
ZXMgYSA1JSBvZiB0aGUKKyAgICAvLyByYW5nZSBiZXR3ZWVuIG1pbmltdW0gYW5kIG1heGltdW0g
dmFsdWVzLCBzbyByZXR1cm4gdGhhdC4KKyAgICBmbG9hdCByYW5nZSA9IGNvcmVPYmplY3QtPm1h
eFZhbHVlRm9yUmFuZ2UoKSAtIGNvcmVPYmplY3QtPm1pblZhbHVlRm9yUmFuZ2UoKTsKKyAgICBn
X3ZhbHVlX3NldF9kb3VibGUoZ1ZhbHVlLCByYW5nZSAqIDAuMDUpOwogfQogCiB2b2lkIHdlYmtp
dEFjY2Vzc2libGVWYWx1ZUludGVyZmFjZUluaXQoQXRrVmFsdWVJZmFjZSogaWZhY2UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cKaW5kZXggOTI0MTBkZS4uMTdkZDk0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTA2LTE1ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXSBHZXQgcmlkIG9mIER1bXBSZW5kZXJUcmVlU3VwcG9y
dEd0azo6e2lufGRlfWNyZW1lbnRBY2Nlc3NpYmlsaXR5VmFsdWUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MjI2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNhcnkgZnVuY3Rpb25z
IGluY3JlbWVudEFjY2Vzc2liaWxpdHlWYWx1ZSgpIGFuZAorICAgICAgICBkZWNyZW1lbnRBY2Nl
c3NpYmlsaXR5VmFsdWUoKSBmcm9tIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHA6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmg6CisgICAgICAgIChE
dW1wUmVuZGVyVHJlZVN1cHBvcnRHdGspOgorCiAyMDEyLTA2LTEzICBBbXkgT3VzdGVyaG91dCAg
PGFvdXN0ZXJoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW5hbWUgY3VycmVudERldmljZU1v
dGlvbiB0byBsYXN0TW90aW9uIGluIERldmljZU1vdGlvbkNsaWVudApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dEd0ay5jcHAKaW5kZXggZTU4YjkyNC4uYTg5ZjllMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsu
Y3BwCkBAIC02NjAsMzEgKzY2MCw2IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpz
ZXRNaW5pbXVtVGltZXJJbnRlcnZhbChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBkCiAgICAgY29y
ZSh3ZWJWaWV3KS0+c2V0dGluZ3MoKS0+c2V0TWluRE9NVGltZXJJbnRlcnZhbChpbnRlcnZhbCk7
CiB9CiAKLXN0YXRpYyB2b2lkIG1vZGlmeUFjY2Vzc2liaWxpdHlWYWx1ZShBdGtPYmplY3QqIGF4
T2JqZWN0LCBib29sIGluY3JlbWVudCkKLXsKLSAgICBpZiAoIWF4T2JqZWN0IHx8ICFXRUJLSVRf
SVNfQUNDRVNTSUJMRShheE9iamVjdCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIEFjY2Vzc2li
aWxpdHlPYmplY3QqIGNvcmVPYmplY3QgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0QWNjZXNzaWJpbGl0
eU9iamVjdChXRUJLSVRfQUNDRVNTSUJMRShheE9iamVjdCkpOwotICAgIGlmICghY29yZU9iamVj
dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGluY3JlbWVudCkKLSAgICAgICAgY29yZU9i
amVjdC0+aW5jcmVtZW50KCk7Ci0gICAgZWxzZQotICAgICAgICBjb3JlT2JqZWN0LT5kZWNyZW1l
bnQoKTsKLX0KLQotdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmluY3JlbWVudEFjY2Vz
c2liaWxpdHlWYWx1ZShBdGtPYmplY3QqIGF4T2JqZWN0KQotewotICAgIG1vZGlmeUFjY2Vzc2li
aWxpdHlWYWx1ZShheE9iamVjdCwgdHJ1ZSk7Ci19Ci0KLXZvaWQgRHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrOjpkZWNyZW1lbnRBY2Nlc3NpYmlsaXR5VmFsdWUoQXRrT2JqZWN0KiBheE9iamVjdCkK
LXsKLSAgICBtb2RpZnlBY2Nlc3NpYmlsaXR5VmFsdWUoYXhPYmplY3QsIGZhbHNlKTsKLX0KLQog
Q1N0cmluZyBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmFjY2Vzc2liaWxpdHlIZWxwVGV4dChB
dGtPYmplY3QqIGF4T2JqZWN0KQogewogICAgIGlmICghYXhPYmplY3QgfHwgIVdFQktJVF9JU19B
Q0NFU1NJQkxFKGF4T2JqZWN0KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKaW5kZXggNzE2NTE4Mi4u
YTlkYmQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVt
cFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKQEAgLTk0LDggKzk0LDYgQEAgcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIGZvcmNlV2ViVmlld1BhaW50KFdlYktpdFdlYlZpZXcqKTsKIAog
ICAgIC8vIEFjY2Vzc2liaWxpdHkKLSAgICBzdGF0aWMgdm9pZCBpbmNyZW1lbnRBY2Nlc3NpYmls
aXR5VmFsdWUoQXRrT2JqZWN0Kik7Ci0gICAgc3RhdGljIHZvaWQgZGVjcmVtZW50QWNjZXNzaWJp
bGl0eVZhbHVlKEF0a09iamVjdCopOwogICAgIHN0YXRpYyBXVEY6OkNTdHJpbmcgYWNjZXNzaWJp
bGl0eUhlbHBUZXh0KEF0a09iamVjdCopOwogCiAgICAgLy8gVGV4dElucHV0Q29udHJvbGxlcgpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDExMmQ1
NGMuLmI3NmQyMDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wNi0xNSAgTWFyaW8gU2FuY2hleiBQcmFkYSAg
PG1zYW5jaGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gR2V0IHJpZCBvZiBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGs6OntpbnxkZX1jcmVtZW50QWNjZXNzaWJpbGl0eVZhbHVlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTIyNgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBpbmNy
ZW1lbnQoKSBhbmQgZGVjcmVtZW50KCkgZnVuY3Rpb25zIGluIHRlcm0gb2YgdGhlIEF0a1ZhbHVl
IGludGVyZmFjZSwKKyAgICAgICAgaW5zdGVhZCBvZiB1c2luZyBEdW1wUmVuZGVyVHJlZVN1cHBv
cnRHdGsgaGVscGVyIGNsYXNzLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwOgorICAgICAgICAoYWx0ZXJDdXJyZW50VmFsdWUpOgor
ICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5jcmVtZW50KToKKyAgICAgICAgKEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlY3JlbWVudCk6CisKIDIwMTItMDYtMTQgIFpvbHRhbiBI
b3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBSZW1vdmUgVVNFKFFU
X0lNQUdFX0RFQ09ERVIpIG1hY3JvLCBzaW5jZSB3ZSBkb24ndCB1c2UgaXQgYW55bW9yZQpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRH
dGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRH
dGsuY3BwCmluZGV4IGQ1NDNkNDguLmU5NmM1ZDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKQEAgLTY0NiwyMiAr
NjQ2LDQyIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTdXBwb3J0
ZWQoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmNyZW1lbnQoKQorc3RhdGljIHZvaWQgYWx0ZXJDdXJy
ZW50VmFsdWUoUGxhdGZvcm1VSUVsZW1lbnQgZWxlbWVudCwgYm9vbCBpc0luY3JlbWVudCkKIHsK
LSAgICBpZiAoIW1fZWxlbWVudCkKKyAgICBpZiAoIWVsZW1lbnQpCiAgICAgICAgIHJldHVybjsK
IAotICAgIEFTU0VSVChBVEtfSVNfT0JKRUNUKG1fZWxlbWVudCkpOwotICAgIER1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0azo6aW5jcmVtZW50QWNjZXNzaWJpbGl0eVZhbHVlKEFUS19PQkpFQ1QobV9l
bGVtZW50KSk7CisgICAgQVNTRVJUKEFUS19JU19WQUxVRShlbGVtZW50KSk7CisKKyAgICBHVmFs
dWUgY3VycmVudFZhbHVlID0gR19WQUxVRV9JTklUOworICAgIGF0a192YWx1ZV9nZXRfY3VycmVu
dF92YWx1ZShBVEtfVkFMVUUoZWxlbWVudCksICZjdXJyZW50VmFsdWUpOworCisgICAgR1ZhbHVl
IGluY3JlbWVudCA9IEdfVkFMVUVfSU5JVDsKKyAgICBhdGtfdmFsdWVfZ2V0X21pbmltdW1faW5j
cmVtZW50KEFUS19WQUxVRShlbGVtZW50KSwgJmluY3JlbWVudCk7CisKKyAgICBHVmFsdWUgbmV3
VmFsdWUgPSBHX1ZBTFVFX0lOSVQ7CisgICAgZ192YWx1ZV9pbml0KCZuZXdWYWx1ZSwgR19UWVBF
X0RPVUJMRSk7CisKKyAgICBkb3VibGUgbmV3RG91YmxlVmFsdWUgPSBpc0luY3JlbWVudAorICAg
ICAgICA/IGdfdmFsdWVfZ2V0X2RvdWJsZSgmY3VycmVudFZhbHVlKSArIGdfdmFsdWVfZ2V0X2Rv
dWJsZSgmaW5jcmVtZW50KQorICAgICAgICA6IGdfdmFsdWVfZ2V0X2RvdWJsZSgmY3VycmVudFZh
bHVlKSAtIGdfdmFsdWVfZ2V0X2RvdWJsZSgmaW5jcmVtZW50KTsKKworICAgIGdfdmFsdWVfc2V0
X2RvdWJsZSgmbmV3VmFsdWUsIG5ld0RvdWJsZVZhbHVlKTsKKyAgICBhdGtfdmFsdWVfc2V0X2N1
cnJlbnRfdmFsdWUoQVRLX1ZBTFVFKGVsZW1lbnQpLCAmbmV3VmFsdWUpOworCisgICAgZ192YWx1
ZV91bnNldCgmbmV3VmFsdWUpOworICAgIGdfdmFsdWVfdW5zZXQoJmluY3JlbWVudCk7CisgICAg
Z192YWx1ZV91bnNldCgmY3VycmVudFZhbHVlKTsKIH0KIAotdm9pZCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpkZWNyZW1lbnQoKQordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmNyZW1l
bnQoKQogewotICAgIGlmICghbV9lbGVtZW50KQotICAgICAgICByZXR1cm47CisgICAgYWx0ZXJD
dXJyZW50VmFsdWUobV9lbGVtZW50LCB0cnVlKTsKK30KIAotICAgIEFTU0VSVChBVEtfSVNfT0JK
RUNUKG1fZWxlbWVudCkpOwotICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZGVjcmVtZW50
QWNjZXNzaWJpbGl0eVZhbHVlKEFUS19PQkpFQ1QobV9lbGVtZW50KSk7Cit2b2lkIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmRlY3JlbWVudCgpCit7CisgICAgYWx0ZXJDdXJyZW50VmFsdWUobV9l
bGVtZW50LCBmYWxzZSk7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJlc3Mo
KQotLSAKMS43LjEwLjIKCg==
</data>
<flag name="review"
          id="155414"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
    <flag name="commit-queue"
          id="155434"
          type_id="3"
          status="-"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>