<?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>208232</bug_id>
          
          <creation_ts>2020-02-26 03:05:50 -0800</creation_ts>
          <short_desc>WebDriver on non-iOS ports cannot perform ActionChain which has scrolling down to the element and click it</short_desc>
          <delta_ts>2020-07-13 22:58:31 -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>WebDriver</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=195696</see_also>
          <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="Tomoki Imai">tomoki.imai</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>darin</cc>
    
    <cc>hi</cc>
    
    <cc>symonovakateryna</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1622947</commentid>
    <comment_count>0</comment_count>
      <attachid>391731</attachid>
    <who name="Tomoki Imai">tomoki.imai</who>
    <bug_when>2020-02-26 03:05:50 -0800</bug_when>
    <thetext>Created attachment 391731
HTML and selenium script to reproduce the issue

Summary:

WebDriver on non-iOS ports cannot perform ActionChains which scrolls down to the element and click it.
Our investigation suggests that the issue comes from convertRectFromFrameClientToRootView, which was added in bug 195696.
convertRectFromFrameClientToRootView and the other calculation looks correct when frame delegates scrolling, but not when it doesn&apos;t delegate scrolling.

How to reproduce:
- Build WebKitGTK
- Unzip the attached package. It contains HTML file long-many-links.html and selenium script actionchains.py.
- Replace &quot;/path_to_your_webkit_repo&quot; in actionchains.py with your preference.
- Host long-many-links.html in your localhost:8080. You can edit actionchains.py if you want to use the other setting.
- Run actionchains.py with python3 selenium installed.

Expected behavior:
The script scrolls down the webpage, and then clicks &quot;link 10&quot;.
No exceptions occurs.

Actual behavior:
The script scrolls down the webpage, and MoveTargetOutOfBoundsException occurs.
&lt;class &apos;selenium.common.exceptions.MoveTargetOutOfBoundsException&apos;&gt;
(&apos;&apos;, None, None)

Environment:
- Ubuntu 18.04
- WebKitGTK trunk r257372
- python 3.6.9
- selenium 3.141.0 (installed by pip)

Our investigation:
We first noticed that &quot;resultElementBounds&quot; and &quot;resultInViewCenterPoint&quot; has negative y or some smaller value than expected.
It looks like we adjust the y-value by scroll position twice.
https://trac.webkit.org/browser/webkit/trunk/Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp#L646

Next thing we see is that &quot;convertRectFromFrameClientToRootView&quot; function. As the name suggested, we expect that it returns RootView coordinate.
When the frame delegates scrolling, it seems to calculate an absolute coordinate from layout coordinate.
The returned value, for example &quot;elementBoundsInRootCoordinates&quot;,  is passed to &quot;absoluteTo...&quot; functions.
https://trac.webkit.org/browser/webkit/trunk/Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp#L585
On the other hand, when frame doesn&apos;t delegate scrolling, we suspect that &quot;convertRectFromFrameClientToRootView&quot; returns RootView coordinate.
RootView coordinate is not documented, but we guess it&apos;s coordinate which (0, 0) is the left-top corner of the root widget, which is different from absolute coordinate.
https://trac.webkit.org/browser/webkit/trunk/Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp#L585

So our suspicion is that this issue is caused by the difference of which coordinates &quot;convertRectFromFrameClientToRootView&quot;, depending on delegating scrolling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623624</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-27 13:19:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/59859491&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623625</commentid>
    <comment_count>2</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-02-27 13:20:52 -0800</bug_when>
    <thetext>Thanks for the detailed investigation! I will try this test case on Mac to see if it&apos;s affected. If so, this may be related or the same as some other Perform Actions bugs that are currently open. Otherwise, it may be specific to delegated scrolling and I may not be able to directly validate a fix.


(It would be great to have WPT WebDriver test results for WebKit EWS...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661174</commentid>
    <comment_count>3</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-06-10 09:01:27 -0700</bug_when>
    <thetext>I am testing out a patch for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661293</commentid>
    <comment_count>4</comment_count>
      <attachid>401569</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-06-10 12:39:00 -0700</bug_when>
    <thetext>Created attachment 401569
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661307</commentid>
    <comment_count>5</comment_count>
      <attachid>401569</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-06-10 13:02:50 -0700</bug_when>
    <thetext>Comment on attachment 401569
Patch

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

r=me

&gt; Source/WebKit/UIProcess/Automation/mac/WebAutomationSessionMac.mm:140
&gt; +    IntPoint locationInView = WebCore::IntPoint(locationInViewport.x(), locationInViewport.y() + page.topContentInset());

Do we want to do this in a caller function?

Aside: this code makes me wish there was a `IntPoint IntPoint::move(int dx, int dy);` that does this :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661328</commentid>
    <comment_count>6</comment_count>
      <attachid>401569</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-10 13:33:33 -0700</bug_when>
    <thetext>Comment on attachment 401569
Patch

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

&gt;&gt; Source/WebKit/UIProcess/Automation/mac/WebAutomationSessionMac.mm:140
&gt;&gt; +    IntPoint locationInView = WebCore::IntPoint(locationInViewport.x(), locationInViewport.y() + page.topContentInset());
&gt; 
&gt; Do we want to do this in a caller function?
&gt; 
&gt; Aside: this code makes me wish there was a `IntPoint IntPoint::move(int dx, int dy);` that does this :(

Seems strange to have both IntPoint and WebCore::IntPoint on the same line. Either we need to specify the namespace or we don’t.

Here’s another way to write this:

    auto locationInView = locationInViewport) + IntPoint { 0, page.topContentInset() };

Or could use IntSize instead of IntPoint for the right hand size of the +. Sadly can’t write it without specifying a type at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661329</commentid>
    <comment_count>7</comment_count>
      <attachid>401569</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-10 13:34:02 -0700</bug_when>
    <thetext>Comment on attachment 401569
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/Automation/mac/WebAutomationSessionMac.mm:140
&gt;&gt;&gt; +    IntPoint locationInView = WebCore::IntPoint(locationInViewport.x(), locationInViewport.y() + page.topContentInset());
&gt;&gt; 
&gt;&gt; Do we want to do this in a caller function?
&gt;&gt; 
&gt;&gt; Aside: this code makes me wish there was a `IntPoint IntPoint::move(int dx, int dy);` that does this :(
&gt; 
&gt; Seems strange to have both IntPoint and WebCore::IntPoint on the same line. Either we need to specify the namespace or we don’t.
&gt; 
&gt; Here’s another way to write this:
&gt; 
&gt;     auto locationInView = locationInViewport) + IntPoint { 0, page.topContentInset() };
&gt; 
&gt; Or could use IntSize instead of IntPoint for the right hand size of the +. Sadly can’t write it without specifying a type at all.

auto locationInView = locationInViewport + IntPoint { 0, page.topContentInset() };</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661364</commentid>
    <comment_count>8</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-06-10 14:44:08 -0700</bug_when>
    <thetext>Committed r262861: &lt;https://trac.webkit.org/changeset/262861&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671288</commentid>
    <comment_count>9</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-07-13 22:58:31 -0700</bug_when>
    <thetext>*** Bug 212521 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>391731</attachid>
            <date>2020-02-26 03:05:50 -0800</date>
            <delta_ts>2020-02-26 03:05:50 -0800</delta_ts>
            <desc>HTML and selenium script to reproduce the issue</desc>
            <filename>move-target-out-of-bounds-reproduce-package.zip</filename>
            <type>application/x-zip-compressed</type>
            <size>1345</size>
            <attacher name="Tomoki Imai">tomoki.imai</attacher>
            
              <data encoding="base64">UEsDBBQAAAAIANmTWlA1+cjJsQIAAAgGAAAPAAAAYWN0aW9uY2hhaW5zLnB5pVRba9swFH7XrxDt
g+2R2OnGIGTkoVnHVrqxEsraUYqQ7eNEVJY8SU7jf78jX3Ip68qYXyx9Ouc7t086peM3Y5rpXKjV
jNauGE89QkhhdEktSFCiLqkoK20cfYI0N2ID5vg43uGD4S2kV8J9vrn6XjmhlX3JPs50WWoV88yb
sWzNhbIDyXkLfmwx0mNOlDCstSUv8tq68jZxLQ5SumjPbrlwr/rBtoLMQc4yrXLR1jAQoVMJyjGn
WQoskyJ75KmEEd0IK1IhhWuYLthgJnXGkei1DqTNwL9oCDmlFXdrNHcOB2OJzJkUqeGmYe3BnAaJ
X/gkGl0bhnyPwjEDlU665i9qIfPkAipQOahMgMVxJEutXYJUAdll8I+MSyyBW0hSoXp819mAlEJh
mvrJ/hftN2RZdCwBIdrGoDbCaHUffL1gXy8Xy/PlT3Z9fvMleMAAz3pDdCc5PHmuwjAaDmMM4x3a
4SCAxs9T35nyPGfcrGo/zfBkPOa102XrdRIR0ut+vr8b8S5sCFvIaufV0VLOj3s+on2Ief9HOmea
GaH41Ub65q2dq2ZJ4vOUa23dbDqZTnCrVuOSq2YshXq08dqVMmjdvOrurofOezxJdd4k/P5s8hBQ
ekpv1sIOGqa45Hip1kBT7bAsqgtU3grF3CDB2fT9W9LS9pWtwIWYWNRiRxcq7CxG9GwSxbVyQoZ/
vQ5huGjiOz/D0T7nKIrIrgqM30cthMp3/mnDtr554d7rKMWu5cBsZkSF8xomZ+8nDzGCWspL5fQP
AU9h9OGki94V5N+W2EqAKnzXk3bvktfS4WPUFxsdmsSl3oBXeZ9ouOcdLNqn4g94BabQpkR1Ethm
UDn6qf15XXKcVSeIyghkdU0FIUTRAQQx1miPEGTCpnEpezGJom9Ptz1o168aZ4fmvwFQSwMEFAAA
AAgAB5NaUGe5DGCnAAAAhwQAABQAAABsb25nLW1hbnktbGlua3MuaHRtbL3UOw7CMAwG4B2JO0TZ
QyjPIpyMnAAOEIohFW1aWoPo7SEFdgSSZSl2ht/fZvBUFhY8uoMdDqBEcsIT1Qov1/xmZFYFwkCK
uhqleP+MJLyTjtG1yLxrWiSz225UKi3oz659dehify5s8GikLqpwUqULnSrycG5HMS9tnEUC2vWZ
5vf3G2fC5EyZnBmTM2dyFkzOkslJmZwVk5OM/4deBbq/D9BfEfsAUEsDBBQAAAAIADKUWlDtO5DT
lQAAANEAAAAKAAAAUkVBRE1FLnR4dE2NwQ6CMBAF737FC/dWEi98gl75AVLKxjaU3aYskv69ohy8
TmYyBj3l5DyhuWanYVAZqmxl2Gmcow6FsjTYowYcGD+MKRbyKqXai8FdVkWThJ9mcVxNijyvNuiS
/ssk3qVwqFmKomu71uKh8I4xEiZhwliRqwbhG8yCoJrtSuVF5at/Vv3GaJzXKOyDi7zaXM/JGb4B
UEsBAhQAFAAAAAgA2ZNaUDX5yMmxAgAACAYAAA8AAAAAAAAAAQAgAAAAAAAAAGFjdGlvbmNoYWlu
cy5weVBLAQIUABQAAAAIAAeTWlBnuQxgpwAAAIcEAAAUAAAAAAAAAAEAIAAAAN4CAABsb25nLW1h
bnktbGlua3MuaHRtbFBLAQIUABQAAAAIADKUWlDtO5DTlQAAANEAAAAKAAAAAAAAAAEAIAAAALcD
AABSRUFETUUudHh0UEsFBgAAAAADAAMAtwAAAHQEAAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401569</attachid>
            <date>2020-06-10 12:39:00 -0700</date>
            <delta_ts>2020-06-10 13:02:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208232-20200610123859.patch</filename>
            <type>text/plain</type>
            <size>6536</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTRhMDRlMjRlZmM0Njll
YmU0MDc3YzFhYzhjZTNmOTRkNWZhOWY5MS4uMWE2ZTYxNmZkMzA1YmU0ZmJiMTk1NzFjZmIyYTQ5
N2UyNDY4ZjFhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA2LTEwICBCcmlh
biBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYkRyaXZlciBvbiBub24taU9T
IHBvcnRzIGNhbm5vdCBwZXJmb3JtIEFjdGlvbkNoYWluIHdoaWNoIGhhcyBzY3JvbGxpbmcgZG93
biB0byB0aGUgZWxlbWVudCBhbmQgY2xpY2sgaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODIzMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTk4
NTk0OTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpyb290Vmlld1RvQ29udGVudHMgY29u
c3QpOgorICAgICAgICBDcmVhdGUgYSB2ZXJzaW9uIG9mIHRoaXMgZnVuY3Rpb24gdGhhdCB3b3Jr
cyB3aXRoIEZsb2F0UG9pbnQuCisKIDIwMjAtMDYtMDkgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBsYW5nPXpoIG5lZWRzIHRvIGRlZmVyIHRvIHN5
c3RlbSBwcmVmZXJlbmNlcyB0byBrbm93IHdoZXRoZXIgaXQgc2hvdWxkIGJlIHNpbXBsaWZpZWQg
b3IgdHJhZGl0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTZkYzcwZTRmMGFhNWNmMDY4ZTk0MmFmMWM2MTc4
ZmRkNzMwZTkxZC4uOGY1YTNmNTU4YTY4NDcwNzQzZjNlZTE4N2Q5Y2RkYmNjODUxMWNiZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0wNi0xMCAgQnJpYW4gQnVyZyAgPGJidXJnQGFw
cGxlLmNvbT4KKworICAgICAgICBXZWJEcml2ZXIgb24gbm9uLWlPUyBwb3J0cyBjYW5ub3QgcGVy
Zm9ybSBBY3Rpb25DaGFpbiB3aGljaCBoYXMgc2Nyb2xsaW5nIGRvd24gdG8gdGhlIGVsZW1lbnQg
YW5kIGNsaWNrIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDgyMzIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5ODU5NDkxPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0F1dG9t
YXRpb24vbWFjL1dlYkF1dG9tYXRpb25TZXNzaW9uTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0ZU1vdXNlSW50ZXJhY3Rpb24pOgor
ICAgICAgICBUaGUgcHJvdmlkZWQgY29vcmRpbmF0ZXMgYXJlIGluIExheW91dFZpZXdwb3J0IGNv
b3JkaW5hdGUgc3lzdGVtLCB3aGljaCBkb2VzCisgICAgICAgIG5vdCB0YWtlIHRvcENvbnRlbnRJ
bnNldCBpbnRvIGFjY291bnQuIEFkZCBiYWNrIGluIHRoZSB0b3BDb250ZW50SW5zZXQKKyAgICAg
ICAgd2hlbiB0cmFuc2xhdGluZyB0byBmbGlwcGVkIHdpbmRvdyBjb29yZGluYXRlcy4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6Y29tcHV0ZUVs
ZW1lbnRMYXlvdXQpOgorICAgICAgICBUaGUgY2FsY3VsYXRpb25zIG9mIGVsZW1lbnQgYm91bmRz
IGFuZCBJVkNQIGhhdmUgYW4gaW5jb3JyZWN0IGhhbmRsaW5nIG9mCisgICAgICAgIHJvb3QgY29v
cmRpbmF0ZXMgYXMgY29udGVudHMvYWJzb2x1dGUgY29vcmRpbmF0ZXMuIEFkZCBtaXNzaW5nIHRo
ZSBjb252ZXJzaW9uLgorCiAyMDIwLTA2LTA5ICBUYWthc2hpIEtvbW9yaSAgPFRha2FzaGkuS29t
b3JpQHNvbnkuY29tPgogCiAgICAgICAgIFtDdXJsXSBJbXBsZW1lbnQgZnVuY3Rpb25zIHRvIHVz
ZSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3
LmNwcAppbmRleCBlODIyZDBmOGMyMTU5NmI3NDY1Y2MxODdjZGQyNGU4MmZhOTA1MGJkLi42NDk0
YzlmZTUyNGZjYWU3NzllYzBiOGQ2YmI0NzA1NTkwYTM1NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtOTQ0LDYgKzk0NCwxMSBAQCBJbnRSZWN0IFNjcm9sbFZp
ZXc6OmNvbnRlbnRzVG9Db250YWluaW5nVmlld0NvbnRlbnRzKEludFJlY3QgcmVjdCkgY29uc3QK
ICAgICByZXR1cm4gY29udGVudHNUb1ZpZXcocmVjdCk7CiB9CiAKK0Zsb2F0UG9pbnQgU2Nyb2xs
Vmlldzo6cm9vdFZpZXdUb0NvbnRlbnRzKGNvbnN0IEZsb2F0UG9pbnQmIHJvb3RWaWV3UG9pbnQp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHZpZXdUb0NvbnRlbnRzKGNvbnZlcnRGcm9tUm9vdFZpZXco
cm9vdFZpZXdQb2ludCkpOworfQorCiBJbnRQb2ludCBTY3JvbGxWaWV3Ojpyb290Vmlld1RvQ29u
dGVudHMoY29uc3QgSW50UG9pbnQmIHJvb3RWaWV3UG9pbnQpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IHZpZXdUb0NvbnRlbnRzKGNvbnZlcnRGcm9tUm9vdFZpZXcocm9vdFZpZXdQb2ludCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4IGUyZWU2MTNlNjE2NDA4YjQ2ZWNiMGYy
MWNhMTY1NzZiNGI5MzU4N2IuLjcxMDQxNTNmNTYxZjBhY2U0MjgyNGEyOTQyNjQyMzQ0NDA5YzZh
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKQEAgLTI3OSw2ICsyNzksNyBA
QCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxiYXJzU3VwcHJlc3Nl
ZChib29sIHN1cHByZXNzZWQsIGJvb2wgcmVwYWludE9uVW5zdXBwcmVzcyA9IGZhbHNlKTsKICAg
ICBib29sIHNjcm9sbGJhcnNTdXBwcmVzc2VkKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxiYXJz
U3VwcHJlc3NlZDsgfQogCisgICAgV0VCQ09SRV9FWFBPUlQgRmxvYXRQb2ludCByb290Vmlld1Rv
Q29udGVudHMoY29uc3QgRmxvYXRQb2ludCYpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIElu
dFBvaW50IHJvb3RWaWV3VG9Db250ZW50cyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogICAgIFdF
QkNPUkVfRVhQT1JUIEludFBvaW50IGNvbnRlbnRzVG9Sb290Vmlldyhjb25zdCBJbnRQb2ludCYp
IGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0UG9pbnQgY29udGVudHNUb1Jvb3RWaWV3
KGNvbnN0IEZsb2F0UG9pbnQmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0F1dG9tYXRpb24vbWFjL1dlYkF1dG9tYXRpb25TZXNzaW9uTWFjLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9tYWMvV2ViQXV0b21hdGlvblNlc3Npb25NYWMu
bW0KaW5kZXggMzA2MjYyOWUzOGQwNzJlZDQyM2FhOGExYjMzY2VmYzRmZDRhZjgwZi4uMmRiOWZi
ZmE1ZDEzZmEwYmY2MjU5ZWFlMTQwZWE3MWRkYWU5YTllYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9tYWMvV2ViQXV0b21hdGlvblNlc3Npb25NYWMubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9tYWMvV2ViQXV0b21hdGlv
blNlc3Npb25NYWMubW0KQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNz
aW9uOjpwbGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmIHBhZ2Us
CiB7CiAgICAgSW50UmVjdCB3aW5kb3dSZWN0OwogCi0gICAgSW50UG9pbnQgbG9jYXRpb25JblZp
ZXcgPSBXZWJDb3JlOjpJbnRQb2ludChsb2NhdGlvbkluVmlld3BvcnQueCgpLCBsb2NhdGlvbklu
Vmlld3BvcnQueSgpKTsKKyAgICBJbnRQb2ludCBsb2NhdGlvbkluVmlldyA9IFdlYkNvcmU6Oklu
dFBvaW50KGxvY2F0aW9uSW5WaWV3cG9ydC54KCksIGxvY2F0aW9uSW5WaWV3cG9ydC55KCkgKyBw
YWdlLnRvcENvbnRlbnRJbnNldCgpKTsKICAgICBwYWdlLnJvb3RWaWV3VG9XaW5kb3coSW50UmVj
dChsb2NhdGlvbkluVmlldywgSW50U2l6ZSgpKSwgd2luZG93UmVjdCk7CiAgICAgSW50UG9pbnQg
bG9jYXRpb25JbldpbmRvdyA9IHdpbmRvd1JlY3QubG9jYXRpb24oKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Q
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0
aW9uU2Vzc2lvblByb3h5LmNwcAppbmRleCAwODgxYTg2MzJkNjRiOTQwNTg2OWE5NjY2ZmU3NGY2
N2Q1NDE0ZDAxLi5iYWU4ZTc4ZjU1NDJhMGFkMTk2ZjIyMzY3ZGEyZDRmYzk2N2EyOGM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9u
U2Vzc2lvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlv
bi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmNwcApAQCAtNjg4LDcgKzY4OCw3IEBAIHZvaWQg
V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6Y29tcHV0ZUVsZW1lbnRMYXlvdXQoV2ViQ29yZTo6
UGFnZUlkZW50aWZpZXIgcGFnCiAgICAgICAgIHJlc3VsdEVsZW1lbnRCb3VuZHMgPSBlbmNsb3Np
bmdJbnRSZWN0KG1haW5WaWV3LT5hYnNvbHV0ZVRvRG9jdW1lbnRSZWN0KG1haW5WaWV3LT5yb290
Vmlld1RvQ29udGVudHMoZWxlbWVudEJvdW5kc0luUm9vdENvb3JkaW5hdGVzKSkpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIENvb3JkaW5hdGVTeXN0ZW06OkxheW91dFZpZXdwb3J0OgotICAg
ICAgICByZXN1bHRFbGVtZW50Qm91bmRzID0gZW5jbG9zaW5nSW50UmVjdChtYWluVmlldy0+YWJz
b2x1dGVUb0xheW91dFZpZXdwb3J0UmVjdChlbGVtZW50Qm91bmRzSW5Sb290Q29vcmRpbmF0ZXMp
KTsKKyAgICAgICAgcmVzdWx0RWxlbWVudEJvdW5kcyA9IGVuY2xvc2luZ0ludFJlY3QobWFpblZp
ZXctPmFic29sdXRlVG9MYXlvdXRWaWV3cG9ydFJlY3QobWFpblZpZXctPnJvb3RWaWV3VG9Db250
ZW50cyhlbGVtZW50Qm91bmRzSW5Sb290Q29vcmRpbmF0ZXMpKSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KIApAQCAtNzQyLDEwICs3NDIsMTAgQEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvblBy
b3h5Ojpjb21wdXRlRWxlbWVudExheW91dChXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWcKICAg
ICBhdXRvIGluVmlld0NlbnRlclBvaW50SW5Sb290Q29vcmRpbmF0ZXMgPSBjb252ZXJ0UG9pbnRG
cm9tRnJhbWVDbGllbnRUb1Jvb3RWaWV3KGZyYW1lVmlldywgZWxlbWVudEluVmlld0NlbnRlclBv
aW50KTsKICAgICBzd2l0Y2ggKGNvb3JkaW5hdGVTeXN0ZW0pIHsKICAgICBjYXNlIENvb3JkaW5h
dGVTeXN0ZW06OlBhZ2U6Ci0gICAgICAgIHJlc3VsdEluVmlld0NlbnRlclBvaW50ID0gcm91bmRl
ZEludFBvaW50KG1haW5WaWV3LT5hYnNvbHV0ZVRvRG9jdW1lbnRQb2ludChpblZpZXdDZW50ZXJQ
b2ludEluUm9vdENvb3JkaW5hdGVzKSk7CisgICAgICAgIHJlc3VsdEluVmlld0NlbnRlclBvaW50
ID0gcm91bmRlZEludFBvaW50KG1haW5WaWV3LT5hYnNvbHV0ZVRvRG9jdW1lbnRQb2ludChtYWlu
Vmlldy0+cm9vdFZpZXdUb0NvbnRlbnRzKGluVmlld0NlbnRlclBvaW50SW5Sb290Q29vcmRpbmF0
ZXMpKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29vcmRpbmF0ZVN5c3RlbTo6TGF5b3V0
Vmlld3BvcnQ6Ci0gICAgICAgIHJlc3VsdEluVmlld0NlbnRlclBvaW50ID0gcm91bmRlZEludFBv
aW50KG1haW5WaWV3LT5hYnNvbHV0ZVRvTGF5b3V0Vmlld3BvcnRQb2ludChpblZpZXdDZW50ZXJQ
b2ludEluUm9vdENvb3JkaW5hdGVzKSk7CisgICAgICAgIHJlc3VsdEluVmlld0NlbnRlclBvaW50
ID0gcm91bmRlZEludFBvaW50KG1haW5WaWV3LT5hYnNvbHV0ZVRvTGF5b3V0Vmlld3BvcnRQb2lu
dChtYWluVmlldy0+cm9vdFZpZXdUb0NvbnRlbnRzKGluVmlld0NlbnRlclBvaW50SW5Sb290Q29v
cmRpbmF0ZXMpKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAo=
</data>
<flag name="review"
          id="416973"
          type_id="1"
          status="+"
          setter="hi"
    />
          </attachment>
      

    </bug>

</bugzilla>