<?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>43919</bug_id>
          
          <creation_ts>2010-08-12 08:22:36 -0700</creation_ts>
          <short_desc>[GTK] Provide unit tests for AtkText&apos;s text selection functions</short_desc>
          <delta_ts>2010-09-07 10:19:20 -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>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>25673</dependson>
    
    <dependson>26991</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apinheiro</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mrobinson</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>263824</commentid>
    <comment_count>0</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-08-12 08:22:36 -0700</bug_when>
    <thetext>This is a bug created just to provide in a common point unit tests to check how the following implementations of AtkText interface&apos;s functions work:

  1. atk_text_get_n_selections()
  2. atk_text_get_selection()
  3. atk_text_set_selection()
  4. atk_text_remove_selection()

Patch for (1) and (2) will be provided along with bug 26991, while patch for (3) and (4) will be provided along with bug 25673. However, to implement unit tests for this kind of stuff all the 4 functions are required so it would be a bit messy, IMHO, just to provide the unit tests with one of those bugs and leave the patch for the other bug &quot;trusting&quot; that unit tests will eventually appear on trunk :-)

Also, it way it&apos;s easier to stick to the rule of &quot;one patch per bug&quot;.

Attaching the patch in some minutes then...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263827</commentid>
    <comment_count>1</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-08-12 08:24:07 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; This is a bug created just to provide in a common point unit tests to check how 
&gt; the following implementations of AtkText interface&apos;s functions work:
&gt; 
&gt;   1. atk_text_get_n_selections()
&gt;   2. atk_text_get_selection()
&gt;   3. atk_text_set_selection()
&gt;   4. atk_text_remove_selection()
&gt; 
&gt; Patch for (1) and (2) will be provided along with bug 26991, while patch for 
&gt; (3) and (4) will be provided along with bug 25673.

Marking this bug as dependent on 26991 and 25673 then</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263864</commentid>
    <comment_count>2</comment_count>
      <attachid>64236</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-08-12 10:20:39 -0700</bug_when>
    <thetext>Created attachment 64236
Patch proposal

(In reply to comment #0)
&gt; This is a bug created just to provide in a common point unit tests
&gt; to check how the following implementations of AtkText interface&apos;s
&gt; functions work:
&gt; 
&gt;   1. atk_text_get_n_selections()
&gt;   2. atk_text_get_selection()
&gt;   3. atk_text_set_selection()
&gt;   4. atk_text_remove_selection()
&gt; 
&gt; [...]
&gt; Attaching the patch in some minutes then...

As promised, here is the patch to test all those 4 functions. Notice in the patch that it was needed to add an extra check inside EditorClientGtk.cpp to ensure that a GdkWindow is associated to the webview widget before trying to actually mark the selection on that window (which won&apos;t be possible when running the unittests as the webview won&apos;t have a GdkWindow, since it&apos;s not inside any toplevel window).

Note that this bug was set as blocked by bug 26991 and bug 25673, since those are were the actual implementations of those 4 methods are done.

Hence, now asking for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269379</commentid>
    <comment_count>3</comment_count>
      <attachid>64236</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-08-25 11:19:45 -0700</bug_when>
    <thetext>Comment on attachment 64236
Patch proposal

I think I&apos;d rather see these tests attached to the second patch. I&apos;m uncomfortable checking in code and tests separately. Let me know if I can lend a hand here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272010</commentid>
    <comment_count>4</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-08-31 03:18:40 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 64236 [details])
&gt; I think I&apos;d rather see these tests attached to the second patch. I&apos;m 
&gt; uncomfortable checking in code and tests separately. 

Not sure I follow you, but if I did it that way you&apos;d still face the same problem when checking in the patch for bug 26991, as tests for it could be introduced until patch for bug 25673 was checked in as well.

Ok, you&apos;d improve the situation in the way you&apos;d be having the problem with just one bug instead of two, but I still think that&apos;s not a good enough reason to mess things up, IMHO.

Perhaps, after all, best thing here would be to merge all these three bugs into one new bug (+wontfixing the former ones, or something like that) and then provide one single patch with both implementations for get/set methods + the unit tests. You know... &quot;One Patch to rule them all, One Patch to bring them all and in the darkness bind them&quot; :-)

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275127</commentid>
    <comment_count>5</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-09-07 10:19:20 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 64236 [details])
&gt; I think I&apos;d rather see these tests attached to the second patch. I&apos;m uncomfortable checking in 
&gt; code and tests separately. Let me know if I can lend a hand here.

After talking to Martin via IRC we decided to finally go for that option so now unit tests are attached to patch for bug 25673, as requested. See https://bugs.webkit.org/show_bug.cgi?id=25673#c7 for more details.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64236</attachid>
            <date>2010-08-12 10:20:39 -0700</date>
            <delta_ts>2010-08-25 11:19:45 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0003-2010-08-12-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>10652</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBjZjI2MTgwN2JmYTcxZjcwOWVhODlkYTViMzhhYWE4NWExMjZjNjY3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBUaHUsIDEyIEF1ZyAyMDEwIDE3OjI5OjU5ICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMC0wOC0xMiAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBQcm92
aWRlIHVuaXQgdGVzdHMgZm9yIEF0a1RleHQncyB0ZXh0IHNlbGVjdGlvbiBmdW5jdGlvbnMKICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM5MTkKCiAgICAg
ICAgTmV3IHRlc3RzIHRvIGNoZWNrIGdldHRpbmcsIHNldHRpbmcgYW5kIHJlbW92aW5nIHRleHQg
c2VsZWN0aW9ucwoKICAgICAgICBQcm92aWRlIG5ldyB1bml0IHRlc3RzIHRvIGNoZWNrIGFsbCB0
aGUgdGV4dCBzZWxlY3Rpb24gcmVsYXRlZAogICAgICAgIGZ1bmN0aW9ucyBhbHRvZ2V0aGVyIHRo
cm91Z2ggYSBzaW5nbGUgdGVzdCBmdW5jdGlvbi4KCiAgICAgICAgKiB0ZXN0cy90ZXN0YXRrLmM6
CiAgICAgICAgKHRlc3RXZWtpdEF0a1RleHRTZWxlY3Rpb25zKTogTmV3CiAgICAgICAgKG1haW4p
OgoKICAgICAgICBNYWtlIHN1cmUgdGhhdCBjb2RlIGRlcGVuZGFudCBvbiBnZXR0aW5nIGluZm9y
bWF0aW9uIGZyb20gdGhlCiAgICAgICAgY2xpcGJvYXJkIGdldHMgZXhlY3V0ZWQgb25seSB3aGVu
IHRoZXJlJ3MgYSBHREsgd2luZG93IGFzc29jaWF0ZWQKICAgICAgICB0byB0aGUgd2VidmlldyB3
aWRnZXQsIGFzIHRoYXQncyBub3QgdGhlIGNhc2Ugd2hlbiBleGVjdXRpbmcgdGhlCiAgICAgICAg
dW5pdCB0ZXN0cyAodGhlIHdlZGJ2aWV3IGlzIG5vdCBpbnNpZGUgb2YgYW55IHRvcGxldmVsIHdp
bmRvdykgYW5kCiAgICAgICAgd2lsbCBtYWtlIHRoZSB0ZXN0cyBjcmFzaCBpZiBub3QgdGFrZW4g
aW50byBhY2NvdW50LgoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5j
cHA6CiAgICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKToKLS0tCiBXZWJLaXQvZ3RrL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDI1ICsrKysrKwogV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsu
Y3BwIHwgICAyNiArKystLS0KIFdlYktpdC9ndGsvdGVzdHMvdGVzdGF0ay5jICAgICAgICAgICAg
ICAgICAgICB8ICAxMTYgKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2Vk
LCAxNTUgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA0NzdhMWI4Li5lMWZj
NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEwLTA4LTEyICBNYXJpbyBTYW5jaGV6IFByYWRh
ICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbR1RLXSBQcm92aWRlIHVuaXQgdGVzdHMgZm9yIEF0a1RleHQncyB0
ZXh0IHNlbGVjdGlvbiBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzOTE5CisKKyAgICAgICAgTmV3IHRlc3RzIHRvIGNoZWNrIGdldHRp
bmcsIHNldHRpbmcgYW5kIHJlbW92aW5nIHRleHQgc2VsZWN0aW9ucworCisgICAgICAgIFByb3Zp
ZGUgbmV3IHVuaXQgdGVzdHMgdG8gY2hlY2sgYWxsIHRoZSB0ZXh0IHNlbGVjdGlvbiByZWxhdGVk
CisgICAgICAgIGZ1bmN0aW9ucyBhbHRvZ2V0aGVyIHRocm91Z2ggYSBzaW5nbGUgdGVzdCBmdW5j
dGlvbi4KKworICAgICAgICAqIHRlc3RzL3Rlc3RhdGsuYzoKKyAgICAgICAgKHRlc3RXZWtpdEF0
a1RleHRTZWxlY3Rpb25zKTogTmV3CisgICAgICAgIChtYWluKToKKworICAgICAgICBNYWtlIHN1
cmUgdGhhdCBjb2RlIGRlcGVuZGFudCBvbiBnZXR0aW5nIGluZm9ybWF0aW9uIGZyb20gdGhlCisg
ICAgICAgIGNsaXBib2FyZCBnZXRzIGV4ZWN1dGVkIG9ubHkgd2hlbiB0aGVyZSdzIGEgR0RLIHdp
bmRvdyBhc3NvY2lhdGVkCisgICAgICAgIHRvIHRoZSB3ZWJ2aWV3IHdpZGdldCwgYXMgdGhhdCdz
IG5vdCB0aGUgY2FzZSB3aGVuIGV4ZWN1dGluZyB0aGUKKyAgICAgICAgdW5pdCB0ZXN0cyAodGhl
IHdlZGJ2aWV3IGlzIG5vdCBpbnNpZGUgb2YgYW55IHRvcGxldmVsIHdpbmRvdykgYW5kCisgICAg
ICAgIHdpbGwgbWFrZSB0aGUgdGVzdHMgY3Jhc2ggaWYgbm90IHRha2VuIGludG8gYWNjb3VudC4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisKIDIw
MTAtMDgtMTEgIEpvb25lIEh1ciAgPGpvb25lQGtsZHAub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE1hcnRpbiBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvRWRpdG9yQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9y
Q2xpZW50R3RrLmNwcAppbmRleCA4YTAxOWI0Li5jYmQ5YTE1IDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCkBAIC0zNTQsMTggKzM1NCwyMCBAQCB2
b2lkIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCiAgICAgICAgIHJl
dHVybjsKIAogI2lmIFBMQVRGT1JNKFgxMSkKLSAgICBHdGtDbGlwYm9hcmQqIGNsaXBib2FyZCA9
IGd0a193aWRnZXRfZ2V0X2NsaXBib2FyZChHVEtfV0lER0VUKG1fd2ViVmlldyksIEdES19TRUxF
Q1RJT05fUFJJTUFSWSk7Ci0gICAgRGF0YU9iamVjdEd0ayogZGF0YU9iamVjdCA9IERhdGFPYmpl
Y3RHdGs6OmZvckNsaXBib2FyZChjbGlwYm9hcmQpOwotCi0gICAgaWYgKHRhcmdldEZyYW1lLT5z
ZWxlY3Rpb24oKS0+aXNSYW5nZSgpKSB7Ci0gICAgICAgIGRhdGFPYmplY3QtPmNsZWFyKCk7Ci0g
ICAgICAgIGRhdGFPYmplY3QtPnNldFJhbmdlKHRhcmdldEZyYW1lLT5zZWxlY3Rpb24oKS0+dG9O
b3JtYWxpemVkUmFuZ2UoKSk7Ci0KLSAgICAgICAgdmlld1NldHRpbmdDbGlwYm9hcmQgPSBtX3dl
YlZpZXc7Ci0gICAgICAgIEdDbG9zdXJlKiBjYWxsYmFjayA9IGdfY2Nsb3N1cmVfbmV3X29iamVj
dChHX0NBTExCQUNLKGNvbGxhcHNlU2VsZWN0aW9uKSwgR19PQkpFQ1QobV93ZWJWaWV3KSk7Ci0g
ICAgICAgIGdfY2xvc3VyZV9zZXRfbWFyc2hhbChjYWxsYmFjaywgZ19jY2xvc3VyZV9tYXJzaGFs
X1ZPSURfX1ZPSUQpOwotICAgICAgICBwYXN0ZWJvYXJkSGVscGVySW5zdGFuY2UoKS0+d3JpdGVD
bGlwYm9hcmRDb250ZW50cyhjbGlwYm9hcmQsIGNhbGxiYWNrKTsKLSAgICAgICAgdmlld1NldHRp
bmdDbGlwYm9hcmQgPSAwOworICAgIGlmIChndGtfd2lkZ2V0X2hhc19zY3JlZW4oR1RLX1dJREdF
VChtX3dlYlZpZXcpKSkgeworICAgICAgICBHdGtDbGlwYm9hcmQqIGNsaXBib2FyZCA9IGd0a193
aWRnZXRfZ2V0X2NsaXBib2FyZChHVEtfV0lER0VUKG1fd2ViVmlldyksIEdES19TRUxFQ1RJT05f
UFJJTUFSWSk7CisgICAgICAgIERhdGFPYmplY3RHdGsqIGRhdGFPYmplY3QgPSBEYXRhT2JqZWN0
R3RrOjpmb3JDbGlwYm9hcmQoY2xpcGJvYXJkKTsKKworICAgICAgICBpZiAodGFyZ2V0RnJhbWUt
PnNlbGVjdGlvbigpLT5pc1JhbmdlKCkpIHsKKyAgICAgICAgICAgIGRhdGFPYmplY3QtPmNsZWFy
KCk7CisgICAgICAgICAgICBkYXRhT2JqZWN0LT5zZXRSYW5nZSh0YXJnZXRGcmFtZS0+c2VsZWN0
aW9uKCktPnRvTm9ybWFsaXplZFJhbmdlKCkpOworCisgICAgICAgICAgICB2aWV3U2V0dGluZ0Ns
aXBib2FyZCA9IG1fd2ViVmlldzsKKyAgICAgICAgICAgIEdDbG9zdXJlKiBjYWxsYmFjayA9IGdf
Y2Nsb3N1cmVfbmV3X29iamVjdChHX0NBTExCQUNLKGNvbGxhcHNlU2VsZWN0aW9uKSwgR19PQkpF
Q1QobV93ZWJWaWV3KSk7CisgICAgICAgICAgICBnX2Nsb3N1cmVfc2V0X21hcnNoYWwoY2FsbGJh
Y2ssIGdfY2Nsb3N1cmVfbWFyc2hhbF9WT0lEX19WT0lEKTsKKyAgICAgICAgICAgIHBhc3RlYm9h
cmRIZWxwZXJJbnN0YW5jZSgpLT53cml0ZUNsaXBib2FyZENvbnRlbnRzKGNsaXBib2FyZCwgY2Fs
bGJhY2spOworICAgICAgICAgICAgdmlld1NldHRpbmdDbGlwYm9hcmQgPSAwOworICAgICAgICB9
CiAgICAgfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvdGVzdHMvdGVzdGF0ay5j
IGIvV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMKaW5kZXggZTE1OWY4YS4uMTRlOTBmYyAxMDA2
NDQKLS0tIGEvV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMKKysrIGIvV2ViS2l0L2d0ay90ZXN0
cy90ZXN0YXRrLmMKQEAgLTQ2LDYgKzQ2LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnRlbnRz
SW5UYWJsZVdpdGhIZWFkZXJzID0gIjxodG1sPjxib2R5Pjx0YWJsZT48dHI+PHRoPmZvbzwKIAog
c3RhdGljIGNvbnN0IGNoYXIqIHRleHRXaXRoQXR0cmlidXRlcyA9ICI8aHRtbD48aGVhZD48c3R5
bGU+LnN0MSB7Zm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgY29sb3I6cmdiKDEyMCwxMjEsMTIyKTt9
IC5zdDIge3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7IGJhY2tncm91bmQtY29sb3I6cmdiKDgw
LDgxLDgyKTt9PC9zdHlsZT48L2hlYWQ+PGJvZHk+PHAgc3R5bGU9XCJmb250LXNpemU6MTQ7IHRl
eHQtYWxpZ246cmlnaHQ7XCI+VGhpcyBpcyB0aGUgPGk+Zmlyc3Q8L2k+PGI+IHNlbnRlbmNlIG9m
IHRoaXMgdGV4dC48L2I+PC9wPjxwIGNsYXNzPVwic3QxXCI+VGhpcyBzZW50ZW5jZSBzaG91bGQg
aGF2ZSBhbiBzdHlsZSBhcHBsaWVkIDxzcGFuIGNsYXNzPVwic3QyXCI+YW5kIHRoaXMgcGFydCBz
aG91bGQgaGF2ZSBhbm90aGVyIG9uZTwvc3Bhbj4uPC9wPjxwPng8c3ViPjE8L3N1Yj48c3VwPjI8
L3N1cD49eDxzdWI+Mjwvc3ViPjxzdXA+Mzwvc3VwPjwvcD48cCBzdHlsZT1cInRleHQtYWxpZ246
Y2VudGVyO1wiPlRoaXMgc2VudGVuY2UgaXMgdGhlIDxzdHJpa2U+bGFzdDwvc3RyaWtlPiBvbmUu
PC9wPjwvYm9keT48L2h0bWw+IjsKIAorc3RhdGljIGNvbnN0IGNoYXIqIHRleHRGb3JTZWxlY3Rp
b25zID0gIjxodG1sPjxib2R5PjxwPkEgcGFyYWdyYXBoIHdpdGggcGxhaW4gdGV4dDwvcD48cD5B
IHBhcmFncmFwaCB3aXRoIDxhIGhyZWY9J2h0dHA6Ly93ZWJraXQub3JnJz5hIGxpbms8L2E+IGlu
IHRoZSBtaWRkbGU8L3A+PC9ib2R5PjwvaHRtbD4iOworCiBzdGF0aWMgZ2Jvb2xlYW4gYmFpbF9v
dXQoR01haW5Mb29wKiBsb29wKQogewogICAgIGlmIChnX21haW5fbG9vcF9pc19ydW5uaW5nKGxv
b3ApKQpAQCAtODQzLDYgKzg0NSwxMTkgQEAgc3RhdGljIHZvaWQgdGVzdF93ZWJraXRfYXRrX2dl
dF9leHRlbnRzKHZvaWQpCiAgICAgZ19vYmplY3RfdW5yZWYod2ViVmlldyk7CiB9CiAKK3N0YXRp
YyB2b2lkIHRlc3RXZWtpdEF0a1RleHRTZWxlY3Rpb25zKHZvaWQpCit7CisgICAgV2ViS2l0V2Vi
Vmlldyogd2ViVmlldzsKKyAgICBBdGtPYmplY3QqIG9iajsKKyAgICBHTWFpbkxvb3AqIGxvb3A7
CisgICAgZ2NoYXIqIHNlbGVjdGVkVGV4dDsKKyAgICBnaW50IHN0YXJ0T2Zmc2V0OworICAgIGdp
bnQgZW5kT2Zmc2V0OworICAgIGdib29sZWFuIHJlc3VsdDsKKworICAgIHdlYlZpZXcgPSBXRUJL
SVRfV0VCX1ZJRVcod2Via2l0X3dlYl92aWV3X25ldygpKTsKKyAgICBnX29iamVjdF9yZWZfc2lu
ayh3ZWJWaWV3KTsKKyAgICBHdGtBbGxvY2F0aW9uIGFsbG9jID0geyAwLCAwLCA4MDAsIDYwMCB9
OworICAgIGd0a193aWRnZXRfc2l6ZV9hbGxvY2F0ZShHVEtfV0lER0VUKHdlYlZpZXcpLCAmYWxs
b2MpOworICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX3N0cmluZyh3ZWJWaWV3LCB0ZXh0Rm9yU2Vs
ZWN0aW9ucywgTlVMTCwgTlVMTCwgTlVMTCk7CisgICAgbG9vcCA9IGdfbWFpbl9sb29wX25ldyhO
VUxMLCBUUlVFKTsKKworICAgIGdfdGltZW91dF9hZGQoMTAwLCAoR1NvdXJjZUZ1bmMpYmFpbF9v
dXQsIGxvb3ApOworICAgIGdfbWFpbl9sb29wX3J1bihsb29wKTsKKworICAgIG9iaiA9IGd0a193
aWRnZXRfZ2V0X2FjY2Vzc2libGUoR1RLX1dJREdFVCh3ZWJWaWV3KSk7CisgICAgZ19hc3NlcnQo
b2JqKTsKKworICAgIEF0a1RleHQqIHBhcmFncmFwaDEgPSBBVEtfVEVYVChhdGtfb2JqZWN0X3Jl
Zl9hY2Nlc3NpYmxlX2NoaWxkKG9iaiwgMCkpOworICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHBh
cmFncmFwaDEpKTsKKyAgICBBdGtUZXh0KiBwYXJhZ3JhcGgyID0gQVRLX1RFWFQoYXRrX29iamVj
dF9yZWZfYWNjZXNzaWJsZV9jaGlsZChvYmosIDEpKTsKKyAgICBnX2Fzc2VydChBVEtfSVNfVEVY
VChwYXJhZ3JhcGgyKSk7CisgICAgQXRrVGV4dCogbGluayA9IEFUS19URVhUKGF0a19vYmplY3Rf
cmVmX2FjY2Vzc2libGVfY2hpbGQoQVRLX09CSkVDVChwYXJhZ3JhcGgyKSwgMCkpOworICAgIGdf
YXNzZXJ0KEFUS19JU19URVhUKGxpbmspKTsKKworICAgIC8vIEZpcnN0IHBhcmFncmFwaCAoc2lt
cGxlIHRleHQpCisKKyAgICAvLyBCYXNpYyBpbml0aWFsIGNoZWNrcworICAgIGdfYXNzZXJ0X2Nt
cGludChhdGtfdGV4dF9nZXRfbl9zZWxlY3Rpb25zKHBhcmFncmFwaDEpLCA9PSwgMCk7CisgICAg
c2VsZWN0ZWRUZXh0ID0gYXRrX3RleHRfZ2V0X3NlbGVjdGlvbihwYXJhZ3JhcGgxLCAwLCAmc3Rh
cnRPZmZzZXQsICZlbmRPZmZzZXQpOworICAgIGdfYXNzZXJ0X2NtcGludChzdGFydE9mZnNldCwg
PT0sIDApOworICAgIGdfYXNzZXJ0X2NtcGludChlbmRPZmZzZXQsID09LCAwKTsKKyAgICBnX2Fz
c2VydF9jbXBzdHIoc2VsZWN0ZWRUZXh0LCA9PSwgTlVMTCk7CisgICAgZ19mcmVlIChzZWxlY3Rl
ZFRleHQpOworICAgIC8vIFRyeSByZW1vdmluZyBhIG5vbiBleGlzdGluZyAoeWV0KSBzZWxlY3Rp
b24KKyAgICByZXN1bHQgPSBhdGtfdGV4dF9yZW1vdmVfc2VsZWN0aW9uKHBhcmFncmFwaDEsIDAp
OworICAgIGdfYXNzZXJ0KCFyZXN1bHQpOworICAgIC8vIFRyeSBzZXR0aW5nIGEgMC1jaGFyIHNl
bGVjdGlvbgorICAgIHJlc3VsdCA9IGF0a190ZXh0X3NldF9zZWxlY3Rpb24ocGFyYWdyYXBoMSwg
MCwgNSwgNSk7CisgICAgZ19hc3NlcnQoIXJlc3VsdCk7CisKKyAgICAvLyBNYWtlIGEgc2VsZWN0
aW9uIGFuZCB0ZXN0IGl0CisgICAgcmVzdWx0ID0gYXRrX3RleHRfc2V0X3NlbGVjdGlvbihwYXJh
Z3JhcGgxLCAwLCA1LCAyNSk7CisgICAgZ19hc3NlcnQocmVzdWx0KTsKKyAgICBnX2Fzc2VydF9j
bXBpbnQoYXRrX3RleHRfZ2V0X25fc2VsZWN0aW9ucyhwYXJhZ3JhcGgxKSwgPT0sIDEpOworICAg
IHNlbGVjdGVkVGV4dCA9IGF0a190ZXh0X2dldF9zZWxlY3Rpb24ocGFyYWdyYXBoMSwgMCwgJnN0
YXJ0T2Zmc2V0LCAmZW5kT2Zmc2V0KTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoc3RhcnRPZmZzZXQs
ID09LCA1KTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoZW5kT2Zmc2V0LCA9PSwgMjUpOworICAgIGdf
YXNzZXJ0X2NtcHN0cihzZWxlY3RlZFRleHQsID09LCAiYWdyYXBoIHdpdGggcGxhaW4gdGUiKTsK
KyAgICBnX2ZyZWUgKHNlbGVjdGVkVGV4dCk7CisgICAgLy8gVHJ5IHJlbW92aW5nIHRoZSBzZWxl
Y3Rpb24gZnJvbSBvdGhlciBBdGtUZXh0IG9iamVjdCAoc2hvdWxkIGZhaWwpCisgICAgcmVzdWx0
ID0gYXRrX3RleHRfcmVtb3ZlX3NlbGVjdGlvbihwYXJhZ3JhcGgyLCAwKTsKKyAgICBnX2Fzc2Vy
dCghcmVzdWx0KTsKKworICAgIC8vIFJlbW92ZSB0aGUgc2VsZWN0aW9uIGFuZCB0ZXN0IGV2ZXJ5
dGhpbmcgYWdhaW4KKyAgICByZXN1bHQgPSBhdGtfdGV4dF9yZW1vdmVfc2VsZWN0aW9uKHBhcmFn
cmFwaDEsIDApOworICAgIGdfYXNzZXJ0KHJlc3VsdCk7CisgICAgZ19hc3NlcnRfY21waW50KGF0
a190ZXh0X2dldF9uX3NlbGVjdGlvbnMocGFyYWdyYXBoMSksID09LCAwKTsKKyAgICBzZWxlY3Rl
ZFRleHQgPSBhdGtfdGV4dF9nZXRfc2VsZWN0aW9uKHBhcmFncmFwaDEsIDAsICZzdGFydE9mZnNl
dCwgJmVuZE9mZnNldCk7CisgICAgZ19hc3NlcnRfY21waW50KHN0YXJ0T2Zmc2V0LCA9PSwgMCk7
CisgICAgZ19hc3NlcnRfY21waW50KGVuZE9mZnNldCwgPT0sIDApOworICAgIGdfYXNzZXJ0X2Nt
cHN0cihzZWxlY3RlZFRleHQsID09LCBOVUxMKTsKKyAgICBnX2ZyZWUgKHNlbGVjdGVkVGV4dCk7
CisKKyAgICAvLyBTZWNvbmQgcGFyYWdyYXBoICh0ZXh0ICsgbGluayArIHRleHQpCisKKyAgICAv
LyBTZXQgYSBzZWxlY3Rpb24gcGFydGlhbGx5IGNvdmVyaW5nIHRoZSBsaW5rIGFuZCB0ZXN0IGl0
CisgICAgcmVzdWx0ID0gYXRrX3RleHRfc2V0X3NlbGVjdGlvbihwYXJhZ3JhcGgyLCAwLCA3LCAy
MSk7CisgICAgZ19hc3NlcnQocmVzdWx0KTsKKworICAgIC8vIFRlc3QgdGhlIHBhcmFncmFwaCBm
aXJzdAorICAgIGdfYXNzZXJ0X2NtcGludChhdGtfdGV4dF9nZXRfbl9zZWxlY3Rpb25zKHBhcmFn
cmFwaDIpLCA9PSwgMSk7CisgICAgc2VsZWN0ZWRUZXh0ID0gYXRrX3RleHRfZ2V0X3NlbGVjdGlv
bihwYXJhZ3JhcGgyLCAwLCAmc3RhcnRPZmZzZXQsICZlbmRPZmZzZXQpOworICAgIGdfYXNzZXJ0
X2NtcGludChzdGFydE9mZnNldCwgPT0sIDcpOworICAgIGdfYXNzZXJ0X2NtcGludChlbmRPZmZz
ZXQsID09LCAyMSk7CisgICAgZ19hc3NlcnRfY21wc3RyKHNlbGVjdGVkVGV4dCwgPT0sICJyYXBo
IHdpdGggYSBsaSIpOworICAgIGdfZnJlZSAoc2VsZWN0ZWRUZXh0KTsKKworICAgIC8vIE5vdyB0
ZXN0IGp1c3QgdGhlIGxpbmsKKyAgICBnX2Fzc2VydF9jbXBpbnQoYXRrX3RleHRfZ2V0X25fc2Vs
ZWN0aW9ucyhsaW5rKSwgPT0sIDEpOworICAgIHNlbGVjdGVkVGV4dCA9IGF0a190ZXh0X2dldF9z
ZWxlY3Rpb24obGluaywgMCwgJnN0YXJ0T2Zmc2V0LCAmZW5kT2Zmc2V0KTsKKyAgICBnX2Fzc2Vy
dF9jbXBpbnQoc3RhcnRPZmZzZXQsID09LCAwKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoZW5kT2Zm
c2V0LCA9PSwgNCk7CisgICAgZ19hc3NlcnRfY21wc3RyKHNlbGVjdGVkVGV4dCwgPT0sICJhIGxp
Iik7CisgICAgZ19mcmVlIChzZWxlY3RlZFRleHQpOworCisgICAgLy8gUmVtb3ZlIHNlbGVjdGlv
bnMgYW5kIHRleHQgZXZlcnl0aGluZyBhZ2FpbgorICAgIHJlc3VsdCA9IGF0a190ZXh0X3JlbW92
ZV9zZWxlY3Rpb24ocGFyYWdyYXBoMiwgMCk7CisgICAgZ19hc3NlcnQocmVzdWx0KTsKKyAgICBn
X2Fzc2VydF9jbXBpbnQoYXRrX3RleHRfZ2V0X25fc2VsZWN0aW9ucyhwYXJhZ3JhcGgyKSwgPT0s
IDApOworICAgIHNlbGVjdGVkVGV4dCA9IGF0a190ZXh0X2dldF9zZWxlY3Rpb24ocGFyYWdyYXBo
MiwgMCwgJnN0YXJ0T2Zmc2V0LCAmZW5kT2Zmc2V0KTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoc3Rh
cnRPZmZzZXQsID09LCAwKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoZW5kT2Zmc2V0LCA9PSwgMCk7
CisgICAgZ19hc3NlcnRfY21wc3RyKHNlbGVjdGVkVGV4dCwgPT0sIE5VTEwpOworICAgIGdfZnJl
ZSAoc2VsZWN0ZWRUZXh0KTsKKworICAgIGdfYXNzZXJ0X2NtcGludChhdGtfdGV4dF9nZXRfbl9z
ZWxlY3Rpb25zKGxpbmspLCA9PSwgMCk7CisgICAgc2VsZWN0ZWRUZXh0ID0gYXRrX3RleHRfZ2V0
X3NlbGVjdGlvbihsaW5rLCAwLCAmc3RhcnRPZmZzZXQsICZlbmRPZmZzZXQpOworICAgIGdfYXNz
ZXJ0X2NtcGludChzdGFydE9mZnNldCwgPT0sIDApOworICAgIGdfYXNzZXJ0X2NtcGludChlbmRP
ZmZzZXQsID09LCAwKTsKKyAgICBnX2Fzc2VydF9jbXBzdHIoc2VsZWN0ZWRUZXh0LCA9PSwgTlVM
TCk7CisgICAgZ19mcmVlIChzZWxlY3RlZFRleHQpOworCisgICAgZ19vYmplY3RfdW5yZWYocGFy
YWdyYXBoMSk7CisgICAgZ19vYmplY3RfdW5yZWYocGFyYWdyYXBoMik7CisgICAgZ19vYmplY3Rf
dW5yZWYod2ViVmlldyk7Cit9CisKIGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKIHsK
ICAgICBnX3RocmVhZF9pbml0KE5VTEwpOwpAQCAtODYwLDYgKzk3NSw3IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyKiogYXJndikKICAgICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQvYXRrL2dl
dEhlYWRlcnNJblRhYmxlIiwgdGVzdFdlYmtpdEF0a0dldEhlYWRlcnNJblRhYmxlKTsKICAgICBn
X3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQvYXRrL3RleHRBdHRyaWJ1dGVzIiwgdGVzdFdlYmtpdEF0
a1RleHRBdHRyaWJ1dGVzKTsKICAgICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQvYXRrL2dldF9l
eHRlbnRzIiwgdGVzdF93ZWJraXRfYXRrX2dldF9leHRlbnRzKTsKKyAgICBnX3Rlc3RfYWRkX2Z1
bmMoIi93ZWJraXQvYXRrL3RleHRTZWxlY3Rpb25zIiwgdGVzdFdla2l0QXRrVGV4dFNlbGVjdGlv
bnMpOwogICAgIHJldHVybiBnX3Rlc3RfcnVuICgpOwogfQogCi0tIAoxLjcuMC40Cgo=
</data>
<flag name="review"
          id="52759"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>