<?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>48393</bug_id>
          
          <creation_ts>2010-10-26 20:23:57 -0700</creation_ts>
          <short_desc>Spatial Navigation: Cannot focus on some ContainerNode</short_desc>
          <delta_ts>2010-11-12 18:26:29 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>46905</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter>pgbasin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>299946</commentid>
    <comment_count>0</comment_count>
    <who name="">pgbasin</who>
    <bug_when>2010-10-26 20:23:57 -0700</bug_when>
    <thetext>In the test page below, the node &quot;llinker0&quot; cannot be focused.
==============================================
&lt;html&gt;
  &lt;body&gt;
    &lt;a href=&quot;#&quot;&gt;This is an element&lt;/a&gt;&lt;br&gt;

    &lt;div&gt;
      &lt;a href=&quot;#&quot; name=&quot;llinker0&quot; id=llinker0&gt;
        &lt;img src=&quot;images/btn.gif&quot; height=&quot;42&quot; width=&quot;76&quot; alt=&quot;llinker0&quot; border=&quot;0&quot;/&gt;
      &lt;/a&gt;
    &lt;/div&gt;

    &lt;div&gt;
      &lt;a href=&quot;#&quot;&gt;This is an element&lt;/a&gt;&lt;br&gt;
    &lt;/div&gt;

    &lt;a href=&quot;#&quot;&gt;This is an element&lt;/a&gt;&lt;br&gt;

    &lt;a href=&quot;#&quot; name=&quot;llinker1&quot; id=llinker1&gt;
      &lt;img src=&quot;images/btn.gif&quot; height=&quot;42&quot; width=&quot;76&quot; alt=&quot;llinker1&quot; border=&quot;0&quot;/&gt;
    &lt;/a&gt;&lt;br&gt;

    &lt;a href=&quot;#&quot;&gt;This is an element&lt;/a&gt;&lt;br&gt;
  &lt;/body&gt;
&lt;/html&gt;
==============================================</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299947</commentid>
    <comment_count>1</comment_count>
    <who name="">pgbasin</who>
    <bug_when>2010-10-26 20:26:55 -0700</bug_when>
    <thetext>I traced the code, and found that Node::getRect() can return correct rect, however ContainerNode::getRect() cannot.

And here is a workaround:

svn diff WebCore/page/SpatialNavigation.cpp
Index: WebCore/page/SpatialNavigation.cpp
===================================================================
--- WebCore/page/SpatialNavigation.cpp  (revision 70438)
+++ WebCore/page/SpatialNavigation.cpp  (working copy)
@@ -105,7 +105,8 @@
 {
     ASSERT(render &amp;&amp; render-&gt;node());
 
-    IntRect rect = render-&gt;node()-&gt;getRect();
+    //IntRect rect = render-&gt;node()-&gt;getRect();
+    IntRect rect = render-&gt;absoluteBoundingBoxRect();
 
     // In cases when the |render|&apos;s associated node is in a scrollable inner
     // document, we only consider its scrollOffset if it is not offscreen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308545</commentid>
    <comment_count>2</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-11-12 07:51:51 -0800</bug_when>
    <thetext>This test is still failing, even with the patch at https://bugs.webkit.org/show_bug.cgi?id=49382.
I am going to look at this failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308597</commentid>
    <comment_count>3</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-11-12 09:30:57 -0800</bug_when>
    <thetext>If you remove all the white spaces after the image, getRect() does return the image size correctly.

The problem starts at ContainerNode::getLowerRightCorner(). It gets confused by the empty white space, with size 0, and thinks that there is no content at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308608</commentid>
    <comment_count>4</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-11-12 09:48:59 -0800</bug_when>
    <thetext>I can reproduce this problem with this code:
&lt;html&gt;
  &lt;body&gt;
    &lt;a href=&quot;#&quot;&gt;This is an element&lt;/a&gt;&lt;br&gt;
    &lt;div&gt;
    &lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;images/btn.gif&quot; height=&quot;42&quot; width=&quot;76&quot;/&gt; &lt;/a&gt;
    &lt;/div&gt;
      &lt;a href=&quot;#&quot;&gt;This is an element&lt;/a&gt;
  &lt;/body&gt;
&lt;/html&gt;

If I remove the space between the image and the closing anchor, the problem goes away, and getRect() on the anchor element reports the correct size.

Dave, would you have some ideas about what is going on? thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308784</commentid>
    <comment_count>5</comment_count>
      <attachid>73779</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-11-12 14:27:11 -0800</bug_when>
    <thetext>Created attachment 73779
Patch

ContainerNode::getLowerRightCorner() assumes that the lowest right corner of its last child is its own lowest right corner. If that child is an empty text node after an image, it does not have size and position information, so we should go to the previous child.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308790</commentid>
    <comment_count>6</comment_count>
      <attachid>73779</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-11-12 14:51:50 -0800</bug_when>
    <thetext>Comment on attachment 73779
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308841</commentid>
    <comment_count>7</comment_count>
      <attachid>73779</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-12 16:48:22 -0800</bug_when>
    <thetext>Comment on attachment 73779
Patch

Clearing flags on attachment: 73779

Committed r71956: &lt;http://trac.webkit.org/changeset/71956&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308842</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-12 16:48:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308883</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-12 17:53:00 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/71956 might have broken Leopard Intel Release (Tests)
The following tests are not passing:
svg/dom/SVGScriptElement/script-load-and-error-events.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308893</commentid>
    <comment_count>10</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-11-12 18:16:55 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; http://trac.webkit.org/changeset/71956 might have broken Leopard Intel Release (Tests)
&gt; The following tests are not passing:
&gt; svg/dom/SVGScriptElement/script-load-and-error-events.svg

All tests on Leopard Intel Release are passing after http://trac.webkit.org/changeset/71956, so I guess it was a false alarm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308894</commentid>
    <comment_count>11</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-11-12 18:17:34 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; http://trac.webkit.org/changeset/71956 might have broken Leopard Intel Release (Tests)
&gt; &gt; The following tests are not passing:
&gt; &gt; svg/dom/SVGScriptElement/script-load-and-error-events.svg
&gt; 
&gt; All tests on Leopard Intel Release are passing after http://trac.webkit.org/changeset/71956, so I guess it was a false alarm.

I meant http://trac.webkit.org/changeset/71958 :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308900</commentid>
    <comment_count>12</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-11-12 18:26:29 -0800</bug_when>
    <thetext>Re-opened by mistake. Sorry.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73779</attachid>
            <date>2010-11-12 14:27:11 -0800</date>
            <delta_ts>2010-11-12 16:48:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>48393.patch</filename>
            <type>text/plain</type>
            <size>10185</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTk0MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMTEtMTIgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFNwYXRpYWwgTmF2aWdhdGlvbjogQ2Fubm90IGZvY3VzIG9uIHNvbWUgQ29udGFpbmVyTm9kZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDgzOTMKKwor
ICAgICAgICBDb250YWluZXJOb2RlOjpnZXRMb3dlclJpZ2h0Q29ybmVyKCkgYXNzdW1lcyB0aGF0
IHRoZSBsb3dlc3QgcmlnaHQgY29ybmVyIG9mIGl0cyBsYXN0IGNoaWxkIAorICAgICAgICBpcyBp
dHMgb3duIGxvd2VzdCByaWdodCBjb3JuZXIuIElmIHRoYXQgY2hpbGQgaXMgYW4gZW1wdHkgdGV4
dCBub2RlIGFmdGVyIGFuIGltYWdlLCBpdCBkb2VzIAorICAgICAgICBub3QgaGF2ZSBzaXplIGFu
ZCBwb3NpdGlvbiBpbmZvcm1hdGlvbiwgc28gd2Ugc2hvdWxkIGdvIHRvIHRoZSBwcmV2aW91cyBj
aGlsZC4KKworICAgICAgICBUZXN0czogZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtY29udGFpbmVyLW9ubHktd2hpdGUtc3BhY2UuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9l
dmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY29udGFpbmVyLXdoaXRlLXNwYWNlLmh0bWwK
KworICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNv
bnRhaW5lck5vZGU6OmdldExvd2VyUmlnaHRDb3JuZXIpOgorCiAyMDEwLTExLTEyICBIZWxkZXIg
Q29ycmVpYSAgPGhlbGRlckBzZW5jaGEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJl
YXMgS2xpbmcuCkluZGV4OiBXZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAkocmV2aXNpb24gNzE5MzQpCisrKyBX
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODc2LDYgKzg3
Niw4IEBAIGJvb2wgQ29udGFpbmVyTm9kZTo6Z2V0TG93ZXJSaWdodENvcm5lcigKICAgICAgICAg
ICAgIGlmIChvLT5pc1RleHQoKSkgewogICAgICAgICAgICAgICAgIFJlbmRlclRleHQqIHRleHQg
PSB0b1JlbmRlclRleHQobyk7CiAgICAgICAgICAgICAgICAgSW50UmVjdCBsaW5lc0JveCA9IHRl
eHQtPmxpbmVzQm91bmRpbmdCb3goKTsKKyAgICAgICAgICAgICAgICBpZiAoIWxpbmVzQm94Lngo
KSAmJiAhbGluZXNCb3gud2lkdGgoKSAmJiAhbGluZXNCb3gueSgpICYmICFsaW5lc0JveC5oZWln
aHQoKSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgcG9p
bnQubW92ZShsaW5lc0JveC54KCkgKyBsaW5lc0JveC53aWR0aCgpLCBsaW5lc0JveC55KCkgKyBs
aW5lc0JveC5oZWlnaHQoKSk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
IFJlbmRlckJveCogYm94ID0gdG9SZW5kZXJCb3gobyk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MTk0
MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1
IEBACisyMDEwLTExLTEyICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGF0aWFsIE5h
dmlnYXRpb246IENhbm5vdCBmb2N1cyBvbiBzb21lIENvbnRhaW5lck5vZGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MzkzCisKKyAgICAgICAgKiBm
YXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWluZXItb25seS13aGl0ZS1z
cGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LWNvbnRhaW5lci1vbmx5LXdoaXRlLXNwYWNlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNvbnRhaW5lci13
aGl0ZS1zcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Nw
YXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNvbnRhaW5lci13aGl0ZS1zcGFjZS5odG1sOiBBZGRlZC4K
KwogMjAxMC0xMS0xMiAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkIENocm9taXVtIGV4cGVjdGF0aW9ucyB1cGRhdGUuCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWluZXIt
b25seS13aGl0ZS1zcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY29udGFpbmVyLW9ubHktd2hpdGUt
c3BhY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY29udGFpbmVyLW9ubHktd2hpdGUtc3BhY2UtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1RoaXMgaXMgYW4gZWxlbWVu
dAorVGhpcyBpcyBhbiBlbGVtZW50CitQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVu
dC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjIiCitQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgInN0YXJ0IgorVGhpcyB0ZXN0IHRlc3RzIHRo
YXQgYSBhbmNob3IgZWxlbWVudCB3aXRoIG9ubHkgd2hpdGUgc3BhY2VzIGdpdmVzIHRoZSBjb3Jy
ZWN0IHNpemUgaW4gQ29udGFpbmVyTm9kZTo6Z2V0UmVjdCgpLgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY29udGFpbmVyLW9ubHktd2hpdGUt
c3BhY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFs
LW5hdmlnYXRpb24vc25hdi1jb250YWluZXItb25seS13aGl0ZS1zcGFjZS5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
Y29udGFpbmVyLW9ubHktd2hpdGUtc3BhY2UuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3
NCBAQAorPGh0bWw+CisgIDwhLS0KKyAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY29ycmVjdG5l
c3Mgb2YgYSBiYXNpYyBhc3BlY3Qgb2Ygc3BhdGlhbCBuYXZpZ2F0aW9uIHRyYXZlcnNhbAorICAg
IHJvdXRpbmVzOiBmb2N1c2FibGUgZWxlbWVudHMgaW4gc2Nyb2xsYWJsZSBjb250YWluZXJzIChl
LmcuIDxkaXY+KSBzaG91bGQgYmUKKyAgICBhY2Nlc3NpYmxlLCBpbmNsdWRpbmcgb2Zmc2NyZWVu
IGNvbnRlbnQuCisKKyAgICAqIFByZS1jb25kaXRpb25zOgorICAgIDEpIERSVCBzdXBwb3J0IGZv
ciBzcGF0aWFsIG5hdml2YXRpb24gZW5hYmxlL2Rpc2FibGUuCisKKyAgICAqIE5hdmlnYXRpb24g
c3RlcHM6CisgICAgMSkgTG9hZHMgdGhpcyBwYWdlLCBmb2N1cyBnb2VzIHRvICJzdGFydCIgYXV0
b21hdGljYWxseS4KKyAgICAyKSBNb3ZlIGZvY3VzIGRvd24gdG8gdGhlIHZpc2libGUgZm9jdXNh
YmxlIGVsZW1lbnQgaW4KKyAgICAgICBzY3JvbGxhYmxlIGRpdi4KKyAgICAzKSBUcmF2ZXJzZSB0
aGUgcGFnZSB0aHJvdWdoIG90aGVyIGZvY3VzYWJsZSBlbGVtZW50cyBkb3duIHRoZSBwYWdlLgor
ICAgICAgIGFuZCB0aGVuIGJhY2sgdXAuCisKKyAgICAqIEV4cGVjdGVkIHJlc3VsdHM6IEFsbCBm
b2N1c2FibGUgZWxlbWVudCBpbiBzY3JvbGxhYmxlIGNvbnRlbnQsIGluY2x1ZGluZworICAgIG9m
ZnNjcmVlbiBvbmVzLCBzaG91bGQgYmUgYWNjZXNzaWJsZSB2aWEgc3BhdGlhbCBuYXZpZ2F0aW9u
LiAtLT4KKyAgPGhlYWQ+CisgICAgPHN0eWxlPgorICAgIDpmb2N1cyB7b3V0bGluZTogMXB4IHNv
bGlkIGJsYWNrO30KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvc3BhdGlhbC1uYXZpZ2F0aW9uLXV0aWxzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiPgorCisgICAgdmFyIHJlc3VsdE1hcCA9IFsKKyAg
ICAgIFsiRG93biIsICIyIl0sCisgICAgICBbIlVwIiwgInN0YXJ0Il0sCisgICAgICBbIkRPTkUi
LCAiRE9ORSJdCisgICAgXTsKKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKKyAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5r
c1ByZWZlcmVuY2VLZXkiLCAxKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICB7CisgICAgICAv
LyBzdGFydGluZyB0aGUgdGVzdCBpdHNlbGY6IGdldCB0byBhIGtub3duIHBsYWNlLgorICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikuZm9jdXMoKTsKKworICAgICAgaW5pdFRl
c3QocmVzdWx0TWFwLCB0ZXN0Q29tcGxldGVkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0
Q29tcGxldGVkKCkKKyAgICB7CisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfQorCisg
ICAgd2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7CisKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgIDwvaGVh
ZD4KKyAgPGJvZHk+CisgICAgPGEgaHJlZj0iIyIgaWQ9InN0YXJ0Ij5UaGlzIGlzIGFuIGVsZW1l
bnQ8L2E+PGJyPgorCisgICAgPGRpdj4KKyAgICAgIDxhIGhyZWY9IiMiIGlkPSIxIj4KKyAgICAg
IDwvYT4KKyAgICA8L2Rpdj4KKworICAgIDxkaXY+CisgICAgICA8YSBocmVmPSIjIiBpZD0iMiI+
VGhpcyBpcyBhbiBlbGVtZW50PC9hPjxicj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8ZGl2PlRoaXMgdGVzdCB0ZXN0cyB0aGF0IGEgYW5jaG9yIGVsZW1l
bnQgd2l0aCBvbmx5IHdoaXRlIHNwYWNlcyBnaXZlcyB0aGUgY29ycmVjdCBzaXplIGluIENvbnRh
aW5lck5vZGU6OmdldFJlY3QoKS48L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgorCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWluZXIt
d2hpdGUtc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNvbnRhaW5lci13aGl0ZS1zcGFjZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFs
LW5hdmlnYXRpb24vc25hdi1jb250YWluZXItd2hpdGUtc3BhY2UtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACitUaGlzIGlzIGFuIGVsZW1lbnQKKyAKK1RoaXMgaXMg
YW4gZWxlbWVudAorVGhpcyBpcyBhbiBlbGVtZW50CisgIAorVGhpcyBpcyBhbiBlbGVtZW50CitQ
QVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMg
IjEiCitQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlk
IikgaXMgIjIiCitQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1
dGUoImlkIikgaXMgIjMiCitQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRB
dHRyaWJ1dGUoImlkIikgaXMgIjQiCitQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVu
dC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjUiCitQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjQiCitQQVNTIGdGb2N1c2VkRG9jdW1lbnQu
YWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjMiCitQQVNTIGdGb2N1c2VkRG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjIiCitQQVNTIGdGb2N1
c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjEiCitQQVNT
IGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgInN0
YXJ0IgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgYSBhbmNob3IgZWxlbWVudCB3aXRoIGluIGltYWdl
IGluIGl0IGFuZCBhIHNwYWNlIGFmdGVyIHRoZSBpbWFnZSwgY2FuIHN0aWxsIGdpdmUgdGhlIGNv
cnJlY3Qgc2l6ZSBpbiBDb250YWluZXJOb2RlOjpnZXRSZWN0KCkuCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWluZXItd2hpdGUtc3Bh
Y2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi1jb250YWluZXItd2hpdGUtc3BhY2UuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNvbnRhaW5l
ci13aGl0ZS1zcGFjZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkxIEBACis8aHRtbD4K
KyAgPCEtLQorICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjb3JyZWN0bmVzcyBvZiBhIGJhc2lj
IGFzcGVjdCBvZiBzcGF0aWFsIG5hdmlnYXRpb24gdHJhdmVyc2FsCisgICAgcm91dGluZXM6IGZv
Y3VzYWJsZSBlbGVtZW50cyBpbiBzY3JvbGxhYmxlIGNvbnRhaW5lcnMgKGUuZy4gPGRpdj4pIHNo
b3VsZCBiZQorICAgIGFjY2Vzc2libGUsIGluY2x1ZGluZyBvZmZzY3JlZW4gY29udGVudC4KKwor
ICAgICogUHJlLWNvbmRpdGlvbnM6CisgICAgMSkgRFJUIHN1cHBvcnQgZm9yIHNwYXRpYWwgbmF2
aXZhdGlvbiBlbmFibGUvZGlzYWJsZS4KKworICAgICogTmF2aWdhdGlvbiBzdGVwczoKKyAgICAx
KSBMb2FkcyB0aGlzIHBhZ2UsIGZvY3VzIGdvZXMgdG8gInN0YXJ0IiBhdXRvbWF0aWNhbGx5Lgor
ICAgIDIpIE1vdmUgZm9jdXMgZG93biB0byB0aGUgdmlzaWJsZSBmb2N1c2FibGUgZWxlbWVudCBp
bgorICAgICAgIHNjcm9sbGFibGUgZGl2LgorICAgIDMpIFRyYXZlcnNlIHRoZSBwYWdlIHRocm91
Z2ggb3RoZXIgZm9jdXNhYmxlIGVsZW1lbnRzIGRvd24gdGhlIHBhZ2UuCisgICAgICAgYW5kIHRo
ZW4gYmFjayB1cC4KKworICAgICogRXhwZWN0ZWQgcmVzdWx0czogQWxsIGZvY3VzYWJsZSBlbGVt
ZW50IGluIHNjcm9sbGFibGUgY29udGVudCwgaW5jbHVkaW5nCisgICAgb2Zmc2NyZWVuIG9uZXMs
IHNob3VsZCBiZSBhY2Nlc3NpYmxlIHZpYSBzcGF0aWFsIG5hdmlnYXRpb24uIC0tPgorICA8aGVh
ZD4KKyAgICA8c3R5bGU+CisgICAgOmZvY3VzIHtvdXRsaW5lOiAxcHggc29saWQgYmxhY2s7fQor
ICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy9zcGF0aWFsLW5h
dmlnYXRpb24tdXRpbHMuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24vamF2YXNjcmlwdCI+CisKKyAgICB2YXIgcmVzdWx0TWFwID0gWworICAgICAgWyJEb3duIiwg
IjEiXSwKKyAgICAgIFsiRG93biIsICIyIl0sCisgICAgICBbIkRvd24iLCAiMyJdLAorICAgICAg
WyJEb3duIiwgIjQiXSwKKyAgICAgIFsiRG93biIsICI1Il0sCisgICAgICBbIlVwIiwgIjQiXSwK
KyAgICAgIFsiVXAiLCAiMyJdLAorICAgICAgWyJVcCIsICIyIl0sCisgICAgICBbIlVwIiwgIjEi
XSwKKyAgICAgIFsiVXAiLCAic3RhcnQiXSwKKyAgICAgIFsiRE9ORSIsICJET05FIl0KKyAgICBd
OworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOworICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIs
IDEpOworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgIHsKKyAgICAgIC8vIHN0YXJ0aW5nIHRoZSB0
ZXN0IGl0c2VsZjogZ2V0IHRvIGEga25vd24gcGxhY2UuCisgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RhcnQiKS5mb2N1cygpOworCisgICAgICBpbml0VGVzdChyZXN1bHRNYXAsIHRl
c3RDb21wbGV0ZWQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3RDb21wbGV0ZWQoKQorICAg
IHsKKyAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICB3aW5kb3cub25sb2Fk
ID0gcnVuVGVzdDsKKworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAg
ICA8YSBocmVmPSIjIiBpZD0ic3RhcnQiPlRoaXMgaXMgYW4gZWxlbWVudDwvYT48YnI+CisKKyAg
ICA8ZGl2PgorICAgICAgPGEgaHJlZj0iIyIgaWQ9IjEiPgorICAgICAgICA8aW1nIHNyYz0icmVz
b3VyY2VzL2dyZWVuLnBuZyIgaGVpZ2h0PSI0MiIgd2lkdGg9Ijc2IiAgYm9yZGVyPSIwIi8+Cisg
ICAgICA8L2E+CisgICAgPC9kaXY+CisKKyAgICA8ZGl2PgorICAgICAgPGEgaHJlZj0iIyIgaWQ9
IjIiPlRoaXMgaXMgYW4gZWxlbWVudDwvYT48YnI+CisgICAgPC9kaXY+CisKKyAgICA8YSBocmVm
PSIjIiBpZD0iMyI+VGhpcyBpcyBhbiBlbGVtZW50PC9hPjxicj4KKworICAgIDxhIGhyZWY9IiMi
IGlkPSI0Ij4KKyAgICAgIDxpbWcgc3JjPSJyZXNvdXJjZXMvZ3JlZW4ucG5nIiBoZWlnaHQ9IjQy
IiB3aWR0aD0iNzYiIGFsdD0ibGxpbmtlcjEiIGJvcmRlcj0iMCIvPgorICAgIDwvYT48YnI+CisK
KyAgICA8YSBocmVmPSIjIiBpZD0iNSI+VGhpcyBpcyBhbiBlbGVtZW50PC9hPjxicj4KKyAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8ZGl2PlRoaXMgdGVzdCB0ZXN0cyB0aGF0IGEg
YW5jaG9yIGVsZW1lbnQgd2l0aCBpbiBpbWFnZSBpbiBpdCBhbmQgYSBzcGFjZSBhZnRlciB0aGUg
aW1hZ2UsIGNhbiBzdGlsbCBnaXZlIHRoZSBjb3JyZWN0IHNpemUgaW4gQ29udGFpbmVyTm9kZTo6
Z2V0UmVjdCgpLjwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>