<?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>106355</bug_id>
          
          <creation_ts>2013-01-08 11:32:39 -0800</creation_ts>
          <short_desc>[Qt][EFL][WK2] Remove redundant device pixel ratio adjustment from PageViewportController</short_desc>
          <delta_ts>2013-01-10 10:53:19 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>106499</blocked>
    
    <blocked>106500</blocked>
    
    <blocked>106504</blocked>
    
    <blocked>106512</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andras Becsi">abecsi</reporter>
          <assigned_to name="Andras Becsi">abecsi</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>dongseong.hwang</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>menard</cc>
    
    <cc>ossy</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>802436</commentid>
    <comment_count>0</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-01-08 11:32:39 -0800</bug_when>
    <thetext>[WK2] Remove redundant device pixel ratio adjustment from PageViewportController</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802444</commentid>
    <comment_count>1</comment_count>
      <attachid>181717</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-01-08 11:37:14 -0800</bug_when>
    <thetext>Created attachment 181717
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802447</commentid>
    <comment_count>2</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-01-08 11:41:35 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=181717) [details]
&gt; Patch

A follow-up could remove the device pixel ratio adjustment logic from the ViewportAttributes also, but I&apos;m not sure how dependent other ports are on that code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802516</commentid>
    <comment_count>3</comment_count>
      <attachid>181717</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-01-08 12:37:47 -0800</bug_when>
    <thetext>Comment on attachment 181717
Patch

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

&gt; Source/WebKit2/ChangeLog:13
&gt; +        As a result we can follow the same aproach as QtQuick and all the

spelling

&gt; Source/WebKit2/ChangeLog:15
&gt; +        coordinates in PageViewportController need to be in device independent
&gt; +        pixels (dips) thus we do no longer need to adjust with the device pixel

AKA UI pixels

&gt; Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.cpp:66
&gt; +    // The viewport controller expects sizes in device independent coordinates.

Maybe it is more understandable saying that

// The viewport controller expects sizes in UI units, and not raw device units.

&gt; Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.cpp:67
&gt; +    size.scale(1 / m_controller-&gt;devicePixelRatio());

devicePixelRatio is called deviceScaleFactor most places now, maybe we should rename</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803267</commentid>
    <comment_count>4</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-01-09 06:01:29 -0800</bug_when>
    <thetext>Committed r139189: &lt;http://trac.webkit.org/changeset/139189&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803278</commentid>
    <comment_count>5</comment_count>
      <attachid>181717</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-01-09 06:10:38 -0800</bug_when>
    <thetext>Comment on attachment 181717
Patch

Clearing flags from attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803363</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-01-09 08:56:09 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Committed r139189: &lt;http://trac.webkit.org/changeset/139189&gt;

It broke many Qt-WK2 API tests:

FAIL!  : qmltests::DoubleTapToZoom::test_basic_zoomInAndBack() Compared values are not the same
   Actual   (): 2.5
   Expected (): 1.3333333333333333
   Loc: [/home/webkitbuildbot/slaves/release64bitWebKit2_EC2/buildslave/qt-linux-64-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml(95)]
FAIL!  : qmltests::DoubleTapToZoom::test_double_zoomInAndBack() Compared values are not the same
   Actual   (): 128x96
   Expected (): 320x240
   Loc: [/home/webkitbuildbot/slaves/release64bitWebKit2_EC2/buildslave/qt-linux-64-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml(106)]
FAIL!  : qmltests::DoubleTapToZoom::test_double_zoomInAndBack2() Compared values are not the same
   Actual   (): 2.5
   Expected (): 1.3333333333333333
   Loc: [/home/webkitbuildbot/slaves/release64bitWebKit2_EC2/buildslave/qt-linux-64-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml(146)]
FAIL!  : qmltests::DoubleTapToZoom::test_double_zoomInOutAndBack() Compared values are not the same
   Actual   (): 128x96
   Expected (): 320x240
   Loc: [/home/webkitbuildbot/slaves/release64bitWebKit2_EC2/buildslave/qt-linux-64-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml(166)]
FAIL!  : qmltests::DoubleTapToZoom::test_double_zoomInOutAndBack2() Compared values are not the same
   Actual   (): 2.5
   Expected (): 2
   Loc: [/home/webkitbuildbot/slaves/release64bitWebKit2_EC2/buildslave/qt-linux-64-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml(207)]
FAIL!  : qmltests::Resize::test_resizeAfterNeutralZoom() Compared values are not the same
   Actual   (): 2.5
   Expected (): 1.2307692307692308
   Loc: [/home/webkitbuildbot/slaves/release64bitWebKit2_EC2/buildslave/qt-linux-64-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml(120)]
FAIL!  : qmltests::Resize::test_resizeZoomedIn() Compared values are not the same
   Actual   (): 2.5
   Expected (): 1
   Loc: [/home/webkitbuildbot/slaves/release64bitWebKit2_EC2/buildslave/qt-linux-64-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml(143)]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803404</commentid>
    <comment_count>7</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-01-09 09:38:34 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; Committed r139189: &lt;http://trac.webkit.org/changeset/139189&gt;
&gt; 
&gt; It broke many Qt-WK2 API tests:

Looking into it, sorry for the breakage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803550</commentid>
    <comment_count>8</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-01-09 11:53:42 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; Committed r139189: &lt;http://trac.webkit.org/changeset/139189&gt;
&gt; &gt; 
&gt; &gt; It broke many Qt-WK2 API tests:
&gt; 
&gt; Looking into it, sorry for the breakage.

Fixed in http://trac.webkit.org/changeset/139215.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803837</commentid>
    <comment_count>9</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-09 16:55:30 -0800</bug_when>
    <thetext>Great. Code became more succinct.

I fixed some nits in Bug 106499 and Bug 106500.
And I fixed blurring regression in Bug 106504.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803901</commentid>
    <comment_count>10</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-09 18:00:30 -0800</bug_when>
    <thetext>I fixed regression that MiniBrowser renders abnormally with -r option in Bug 106512.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804538</commentid>
    <comment_count>11</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-01-10 10:53:19 -0800</bug_when>
    <thetext>Thanks for fixing these issues.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181717</attachid>
            <date>2013-01-08 11:37:14 -0800</date>
            <delta_ts>2013-01-09 06:10:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106355-20130108203417.patch</filename>
            <type>text/plain</type>
            <size>18791</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDU4MjQ3NjYxNjk2NmQ4
YWIzNDc3ZTNlMGY2YzkwYjkwZjk3YTRiZC4uOWZhMmU0NmQxOTJhMWU4NTk3Nzk4ODE2OGIwMjhj
ZDQ5ZjJhNGNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEzLTAxLTA4ICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF1bRUZMXVtX
SzJdIFJlbW92ZSByZWR1bmRhbnQgZGV2aWNlIHBpeGVsIHJhdGlvIGFkanVzdG1lbnQgZnJvbSBQ
YWdlVmlld3BvcnRDb250cm9sbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDYzNTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBTaW5jZSByMTM3NTk3IFF0IHVzZXMgdGhlIGRldmljZSBwaXhlbCByYXRp
byBvZiB0aGUgdW5kZXJseWluZworICAgICAgICBwbGF0Zm9ybSB3aW5kb3cgYXMgdGhlIGRldmlj
ZSBwaXhlbCByYXRpbyBpbiBXZWJDb3JlLgorICAgICAgICBUaGUgdGlsZXMgYXJlIHJlbmRlcmVk
IHdpdGggdGhlIGVmZmVjdGl2ZSBzY2FsZSAoc2NhbGUgYWRqdXN0ZWQgd2l0aAorICAgICAgICB0
aGUgZGV2aWNlIHNjYWxlIGZhY3RvcikgYW5kIHRoZSBwcm9qZWN0aW9uIG1hdHJpeCBpcyBhbHNv
IGFkanVzdGVkCisgICAgICAgIHdpdGggdGhlIGRldmljZSBwaXhlbCByYXRpbyB3aGVuIHBhaW50
aW5nLgorICAgICAgICBBcyBhIHJlc3VsdCB3ZSBjYW4gZm9sbG93IHRoZSBzYW1lIGFwcm9hY2gg
YXMgUXRRdWljayBhbmQgYWxsIHRoZQorICAgICAgICBjb29yZGluYXRlcyBpbiBQYWdlVmlld3Bv
cnRDb250cm9sbGVyIG5lZWQgdG8gYmUgaW4gZGV2aWNlIGluZGVwZW5kZW50CisgICAgICAgIHBp
eGVscyAoZGlwcykgdGh1cyB3ZSBkbyBubyBsb25nZXIgbmVlZCB0byBhZGp1c3Qgd2l0aCB0aGUg
ZGV2aWNlIHBpeGVsCisgICAgICAgIHJhdGlvIHdoZW4gY2FsY3VsYXRpbmcgdGhlIHZpZXdwb3J0
IGF0dHJpYnV0ZXMuCisgICAgICAgIFRoaXMgc2ltcGxpZmllcyB0aGUgbG9naWMgc2lnbmlmaWNh
bnRseSBhbmQgaW5jcmVhc2VzIHJvYnVzdG5lc3MsCisgICAgICAgIGJ1dCBkb2VzIG5vdCBhbGxv
dyB0byBzZXQgYSBjdXN0b20gZGV2aWNlIHBpeGVsIHJhdGlvIGRpZmZlcmVudCBmcm9tCisgICAg
ICAgIHRoZSBmYWN0b3Igb2YgdGhlIHVuZGVybHlpbmcgcGxhdGZvcm0gKGVnLiBmb3IgdGVzdGlu
ZyBwdXJwb3NlcykuCisgICAgICAgIFRoaXMgcGF0Y2ggaXMgY29uY2VwdHVhbGx5IGEgZm9sbG93
LXVwIG9mIHIxMzc1OTcgYW5kIGZpeGVzIGxheW91dAorICAgICAgICBhbmQgY2FudmFzIHNpemUg
b24gcmV0aW5hIGRpc3BsYXkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OlBh
Z2VWaWV3cG9ydENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250
cm9sbGVyOjppbm5lckJvdW5kZWRWaWV3cG9ydFNjYWxlKToKKyAgICAgICAgKFdlYktpdDo6UGFn
ZVZpZXdwb3J0Q29udHJvbGxlcjo6b3V0ZXJCb3VuZGVkVmlld3BvcnRTY2FsZSk6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OnBpeGVsQWxpZ25lZEZsb2F0UG9pbnQp
OgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpib3VuZENvbnRlbnRz
UG9zaXRpb24pOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRS
ZW5kZXJGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OnBh
Z2VUcmFuc2l0aW9uVmlld3BvcnRSZWFkeSk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VWaWV3cG9y
dENvbnRyb2xsZXI6OmRpZENoYW5nZUNvbnRlbnRzVmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJL
aXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OnN5bmNWaXNpYmxlQ29udGVudHMpOgorICAgICAg
ICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjp2aXNpYmxlQ29udGVudHNTaXplKToK
KyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6YXBwbHlTY2FsZUFmdGVy
UmVuZGVyaW5nQ29udGVudHMpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9s
bGVyOjp1cGRhdGVNaW5pbXVtU2NhbGVUb0ZpdCk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VW
aWV3cG9ydENvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJv
bGxlcjo6Y3VycmVudENvbnRlbnRzU2NhbGUpOgorICAgICAgICAoUGFnZVZpZXdwb3J0Q29udHJv
bGxlcik6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xp
ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVu
dEVmbDo6dXBkYXRlVmlld3BvcnRTaXplKToKKyAgICAgICAgQWRqdXN0IHRoZSB2aWV3cG9ydCBz
aXplIHdpdGggdGhlIGRldmljZSBwaXhlbCByYXRpbyB0byBrZWVwIHByZXZpb3VzCisgICAgICAg
IGJlaGF2aW91ci4KKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxl
ckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlckNs
aWVudFF0Ojpmb2N1c0VkaXRhYmxlQXJlYSk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VWaWV3cG9y
dENvbnRyb2xsZXJDbGllbnRRdDo6em9vbVRvQXJlYUdlc3R1cmVFbmRlZCk6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvbnRl
bnRzU0dOb2RlOjpjbGlwUmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZW5kVmlld3BvcnRBdHRyaWJ1dGVz
Q2hhbmdlZCk6CisKIDIwMTMtMDEtMDggIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3Vu
Zy5jb20+CiAKICAgICAgICAgQWRkIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgdG8gc3VwcG9y
dCBEZXZpY2UgUHJveGltaXR5IEV2ZW50cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcAppbmRleCA5NWU2OGUyNzE5OWZlMDBlYWJi
MGU2ODBkNDY3NWY3Y2U0ZjY5N2Q0Li4xMjcxYjk4YWFmNjgzM2RmMzkwOGQyMmVjY2RmYzAyOWJj
MWJlMjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9y
dENvbnRyb2xsZXIuY3BwCkBAIC00Nyw3ICs0Nyw3IEBAIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6
OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXIoV2ViS2l0OjpXZWJQYWdlUHJveHkqIHByb3h5LCBQYWdl
CiAgICAgLCBtX2luaXRpYWxseUZpdFRvVmlld3BvcnQodHJ1ZSkKICAgICAsIG1faGFzU3VzcGVu
ZGVkQ29udGVudChmYWxzZSkKICAgICAsIG1faGFkVXNlckludGVyYWN0aW9uKGZhbHNlKQotICAg
ICwgbV9lZmZlY3RpdmVTY2FsZSgxKQorICAgICwgbV9jb250ZW50c1NjYWxlKDEpCiAgICAgLCBt
X3BlbmRpbmdQb3NpdGlvbkNoYW5nZShmYWxzZSkKICAgICAsIG1fcGVuZGluZ1NjYWxlQ2hhbmdl
KGZhbHNlKQogewpAQCAtNjgsMTUgKzY4LDE1IEBAIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OlBh
Z2VWaWV3cG9ydENvbnRyb2xsZXIoV2ViS2l0OjpXZWJQYWdlUHJveHkqIHByb3h5LCBQYWdlCiAK
IGZsb2F0IFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmlubmVyQm91bmRlZFZpZXdwb3J0U2NhbGUo
ZmxvYXQgdmlld3BvcnRTY2FsZSkgY29uc3QKIHsKLSAgICByZXR1cm4gY2xhbXBUbyh2aWV3cG9y
dFNjYWxlLCB0b1ZpZXdwb3J0U2NhbGUobV9taW5pbXVtU2NhbGVUb0ZpdCksIHRvVmlld3BvcnRT
Y2FsZShtX3Jhd0F0dHJpYnV0ZXMubWF4aW11bVNjYWxlKSk7CisgICAgcmV0dXJuIGNsYW1wVG8o
dmlld3BvcnRTY2FsZSwgbV9taW5pbXVtU2NhbGVUb0ZpdCwgbV9yYXdBdHRyaWJ1dGVzLm1heGlt
dW1TY2FsZSk7CiB9CiAKIGZsb2F0IFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6Om91dGVyQm91bmRl
ZFZpZXdwb3J0U2NhbGUoZmxvYXQgdmlld3BvcnRTY2FsZSkgY29uc3QKIHsKICAgICBpZiAobV9h
bGxvd3NVc2VyU2NhbGluZykgewogICAgICAgICAvLyBCb3VuZGVkIGJ5IFswLjEsIDEwLjBdIGxp
a2UgdGhlIHZpZXdwb3J0IG1ldGEgY29kZSBpbiBXZWJDb3JlLgotICAgICAgICBmbG9hdCBoYXJk
TWluID0gdG9WaWV3cG9ydFNjYWxlKHN0ZDo6bWF4PGZsb2F0PigwLjEsIDAuNSAqIG1fbWluaW11
bVNjYWxlVG9GaXQpKTsKLSAgICAgICAgZmxvYXQgaGFyZE1heCA9IHRvVmlld3BvcnRTY2FsZShz
dGQ6Om1pbjxmbG9hdD4oMTAsIDIgKiBtX3Jhd0F0dHJpYnV0ZXMubWF4aW11bVNjYWxlKSk7Cisg
ICAgICAgIGZsb2F0IGhhcmRNaW4gPSBzdGQ6Om1heDxmbG9hdD4oMC4xLCAwLjUgKiBtX21pbmlt
dW1TY2FsZVRvRml0KTsKKyAgICAgICAgZmxvYXQgaGFyZE1heCA9IHN0ZDo6bWluPGZsb2F0Pigx
MCwgMiAqIG1fcmF3QXR0cmlidXRlcy5tYXhpbXVtU2NhbGUpOwogICAgICAgICByZXR1cm4gY2xh
bXBUbyh2aWV3cG9ydFNjYWxlLCBoYXJkTWluLCBoYXJkTWF4KTsKICAgICB9CiAgICAgcmV0dXJu
IGlubmVyQm91bmRlZFZpZXdwb3J0U2NhbGUodmlld3BvcnRTY2FsZSk7CkBAIC05NSwxOCArOTUs
MTggQEAgc3RhdGljIGlubGluZSBib29sIGlzSW50ZWdyYWwoZmxvYXQgdmFsdWUpCiBGbG9hdFBv
aW50IFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OnBpeGVsQWxpZ25lZEZsb2F0UG9pbnQoY29uc3Qg
RmxvYXRQb2ludCYgZnJhbWVQb3NpdGlvbikKIHsKICNpZiBQTEFURk9STShFRkwpCi0gICAgaWYg
KCFpc0ludGVncmFsKG1fZWZmZWN0aXZlU2NhbGUpKSB7CisgICAgaWYgKCFpc0ludGVncmFsKG1f
Y29udGVudHNTY2FsZSkpIHsKICAgICAgICAgLy8gVG8gYXZvaWQgYmx1cnJ5bmVzcywgbW9kaWZ5
IHRoZSBwb3NpdGlvbiBzbyB0aGF0IGl0IG1hcHMgaW50byBhIGRpc2NyZXRlIGRldmljZSBwb3Np
dGlvbi4KICAgICAgICAgRmxvYXRQb2ludCBzY2FsZWRQb3MoZnJhbWVQb3NpdGlvbik7CiAKICAg
ICAgICAgLy8gU2NhbGUgYnkgdGhlIGVmZmVjdGl2ZSBzY2FsZSBmYWN0b3IgdG8gY29tcHV0ZSB0
aGUgc2NyZWVuLXJlbGF0aXZlIHBvc2l0aW9uLgotICAgICAgICBzY2FsZWRQb3Muc2NhbGUobV9l
ZmZlY3RpdmVTY2FsZSwgbV9lZmZlY3RpdmVTY2FsZSk7CisgICAgICAgIHNjYWxlZFBvcy5zY2Fs
ZShtX2NvbnRlbnRzU2NhbGUsIG1fY29udGVudHNTY2FsZSk7CiAKICAgICAgICAgLy8gUm91bmQg
dG8gaW50ZWdlciBib3VuZGFyaWVzLgogICAgICAgICBGbG9hdFBvaW50IGFsaWduZWRQb3MgPSBy
b3VuZGVkSW50UG9pbnQoc2NhbGVkUG9zKTsKIAogICAgICAgICAvLyBDb252ZXJ0IGJhY2sgdG8g
Q1NTIGNvb3JkaW5hdGVzLgotICAgICAgICBhbGlnbmVkUG9zLnNjYWxlKDEgLyBtX2VmZmVjdGl2
ZVNjYWxlLCAxIC8gbV9lZmZlY3RpdmVTY2FsZSk7CisgICAgICAgIGFsaWduZWRQb3Muc2NhbGUo
MSAvIG1fY29udGVudHNTY2FsZSwgMSAvIG1fY29udGVudHNTY2FsZSk7CiAKICAgICAgICAgcmV0
dXJuIGFsaWduZWRQb3M7CiAgICAgfQpAQCAtMTMzLDcgKzEzMyw3IEBAIEZsb2F0UG9pbnQgUGFn
ZVZpZXdwb3J0Q29udHJvbGxlcjo6Ym91bmRDb250ZW50c1Bvc2l0aW9uQXRTY2FsZShjb25zdCBX
ZWJDb3JlOjpGCiAKIEZsb2F0UG9pbnQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6Ym91bmRDb250
ZW50c1Bvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGZyYW1lUG9zaXRpb24pCiB7
Ci0gICAgcmV0dXJuIGJvdW5kQ29udGVudHNQb3NpdGlvbkF0U2NhbGUoZnJhbWVQb3NpdGlvbiwg
bV9lZmZlY3RpdmVTY2FsZSk7CisgICAgcmV0dXJuIGJvdW5kQ29udGVudHNQb3NpdGlvbkF0U2Nh
bGUoZnJhbWVQb3NpdGlvbiwgbV9jb250ZW50c1NjYWxlKTsKIH0KIAogdm9pZCBQYWdlVmlld3Bv
cnRDb250cm9sbGVyOjpkaWRDb21taXRMb2FkKCkKQEAgLTE4OSw3ICsxODksNyBAQCB2b2lkIFBh
Z2VWaWV3cG9ydENvbnRyb2xsZXI6OmRpZFJlbmRlckZyYW1lKGNvbnN0IEludFNpemUmIGNvbnRl
bnRzU2l6ZSwgY29uc3QgSQogCiAgICAgaWYgKG1fcGVuZGluZ1NjYWxlQ2hhbmdlKSB7CiAgICAg
ICAgIG1fcGVuZGluZ1NjYWxlQ2hhbmdlID0gZmFsc2U7Ci0gICAgICAgIG1fY2xpZW50LT5zZXRD
b250ZW50c1NjYWxlKG1fZWZmZWN0aXZlU2NhbGUpOworICAgICAgICBtX2NsaWVudC0+c2V0Q29u
dGVudHNTY2FsZShtX2NvbnRlbnRzU2NhbGUpOwogCiAgICAgICAgIC8vIFRoZSBzY2FsZSBjaGFu
Z2VkLCB3ZSBoYXZlIHRvIHJlLXBpeGVsIGFsaWduLgogICAgICAgICBtX3BlbmRpbmdQb3NpdGlv
bkNoYW5nZSA9IHRydWU7CkBAIC0yMTEsNyArMjExLDcgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250
cm9sbGVyOjpwYWdlVHJhbnNpdGlvblZpZXdwb3J0UmVhZHkoKQogICAgIGlmICghbV9yYXdBdHRy
aWJ1dGVzLmxheW91dFNpemUuaXNFbXB0eSgpKSB7CiAgICAgICAgIG1faGFkVXNlckludGVyYWN0
aW9uID0gZmFsc2U7CiAgICAgICAgIGZsb2F0IGluaXRpYWxTY2FsZSA9IG1faW5pdGlhbGx5Rml0
VG9WaWV3cG9ydCA/IG1fbWluaW11bVNjYWxlVG9GaXQgOiBtX3Jhd0F0dHJpYnV0ZXMuaW5pdGlh
bFNjYWxlOwotICAgICAgICBhcHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhpbm5lckJv
dW5kZWRWaWV3cG9ydFNjYWxlKHRvVmlld3BvcnRTY2FsZShpbml0aWFsU2NhbGUpKSk7CisgICAg
ICAgIGFwcGx5U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKGlubmVyQm91bmRlZFZpZXdwb3J0
U2NhbGUoaW5pdGlhbFNjYWxlKSk7CiAgICAgfQogCiAgICAgLy8gQXQgdGhpcyBwb2ludCB3ZSBz
aG91bGQgYWxyZWFkeSBoYXZlIHJlY2VpdmVkIHRoZSBmaXJzdCB2aWV3cG9ydCBhcmd1bWVudHMg
YW5kIHRoZSByZXF1ZXN0ZWQgc2Nyb2xsCkBAIC0yNTYsNyArMjU2LDcgQEAgdm9pZCBQYWdlVmll
d3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxpdHkoY29uc3QgRmxvYXRQ
b2ludCYgcG9zaXQKICAgICBpZiAoIW1fcGVuZGluZ1Bvc2l0aW9uQ2hhbmdlKQogICAgICAgICBt
X2NvbnRlbnRzUG9zaXRpb24gPSBwb3NpdGlvbjsKICAgICBpZiAoIW1fcGVuZGluZ1NjYWxlQ2hh
bmdlKQotICAgICAgICBtX2VmZmVjdGl2ZVNjYWxlID0gc2NhbGU7CisgICAgICAgIG1fY29udGVu
dHNTY2FsZSA9IHNjYWxlOwogCiAgICAgc3luY1Zpc2libGVDb250ZW50cyh0cmFqZWN0b3J5VmVj
dG9yKTsKIH0KQEAgLTI2OSw3ICsyNjksNyBAQCB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6
OnN5bmNWaXNpYmxlQ29udGVudHMoY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeVZlYwogCiAg
ICAgRmxvYXRSZWN0IHZpc2libGVDb250ZW50c1JlY3QoYm91bmRDb250ZW50c1Bvc2l0aW9uKG1f
Y29udGVudHNQb3NpdGlvbiksIHZpc2libGVDb250ZW50c1NpemUoKSk7CiAgICAgdmlzaWJsZUNv
bnRlbnRzUmVjdC5pbnRlcnNlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwgbV9jb250
ZW50c1NpemUpKTsKLSAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNp
YmxlQ29udGVudHNSZWN0LCBtX2VmZmVjdGl2ZVNjYWxlLCB0cmFqZWN0b3J5VmVjdG9yKTsKKyAg
ICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNpYmxlQ29udGVudHNSZWN0
LCBtX2NvbnRlbnRzU2NhbGUsIHRyYWplY3RvcnlWZWN0b3IpOwogCiAgICAgbV9jbGllbnQtPmRp
ZENoYW5nZVZpc2libGVDb250ZW50cygpOwogfQpAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgUGFn
ZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVzKGNvbnN0IFdl
YkNvcmU6OlZpZXdwb3J0CiAKIEZsb2F0U2l6ZSBQYWdlVmlld3BvcnRDb250cm9sbGVyOjp2aXNp
YmxlQ29udGVudHNTaXplKCkgY29uc3QKIHsKLSAgICByZXR1cm4gRmxvYXRTaXplKG1fdmlld3Bv
cnRTaXplLndpZHRoKCkgLyBtX2VmZmVjdGl2ZVNjYWxlLCBtX3ZpZXdwb3J0U2l6ZS5oZWlnaHQo
KSAvIG1fZWZmZWN0aXZlU2NhbGUpOworICAgIHJldHVybiBGbG9hdFNpemUobV92aWV3cG9ydFNp
emUud2lkdGgoKSAvIG1fY29udGVudHNTY2FsZSwgbV92aWV3cG9ydFNpemUuaGVpZ2h0KCkgLyBt
X2NvbnRlbnRzU2NhbGUpOwogfQogCiB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OnN1c3Bl
bmRDb250ZW50KCkKQEAgLTMyNCw3ICszMjQsNyBAQCB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xs
ZXI6OnJlc3VtZUNvbnRlbnQoKQogCiB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmFwcGx5
U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKGZsb2F0IHNjYWxlKQogewotICAgIG1fZWZmZWN0
aXZlU2NhbGUgPSBzY2FsZTsKKyAgICBtX2NvbnRlbnRzU2NhbGUgPSBzY2FsZTsKICAgICBtX3Bl
bmRpbmdTY2FsZUNoYW5nZSA9IHRydWU7CiAgICAgc3luY1Zpc2libGVDb250ZW50cygpOwogfQpA
QCAtMzQxLDkgKzM0MSw5IEBAIGJvb2wgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6dXBkYXRlTWlu
aW11bVNjYWxlVG9GaXQoYm9vbCB1c2VySW5pdGlhdGVkVXBkYXRlKQogICAgIGlmIChtX3ZpZXdw
b3J0U2l6ZS5pc0VtcHR5KCkgfHwgbV9jb250ZW50c1NpemUuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBib29sIGN1cnJlbnRseVNjYWxlZFRvRml0ID0gZnV6enlDb21w
YXJlKG1fZWZmZWN0aXZlU2NhbGUsIHRvVmlld3BvcnRTY2FsZShtX21pbmltdW1TY2FsZVRvRml0
KSwgMC4wMDAxKTsKKyAgICBib29sIGN1cnJlbnRseVNjYWxlZFRvRml0ID0gZnV6enlDb21wYXJl
KG1fY29udGVudHNTY2FsZSwgbV9taW5pbXVtU2NhbGVUb0ZpdCwgMC4wMDAxKTsKIAotICAgIGZs
b2F0IG1pbmltdW1TY2FsZSA9IFdlYkNvcmU6OmNvbXB1dGVNaW5pbXVtU2NhbGVGYWN0b3JGb3JD
b250ZW50Q29udGFpbmVkKG1fcmF3QXR0cmlidXRlcywgV2ViQ29yZTo6cm91bmRlZEludFNpemUo
bV92aWV3cG9ydFNpemUpLCBXZWJDb3JlOjpyb3VuZGVkSW50U2l6ZShtX2NvbnRlbnRzU2l6ZSks
IGRldmljZVBpeGVsUmF0aW8oKSk7CisgICAgZmxvYXQgbWluaW11bVNjYWxlID0gV2ViQ29yZTo6
Y29tcHV0ZU1pbmltdW1TY2FsZUZhY3RvckZvckNvbnRlbnRDb250YWluZWQobV9yYXdBdHRyaWJ1
dGVzLCBXZWJDb3JlOjpyb3VuZGVkSW50U2l6ZShtX3ZpZXdwb3J0U2l6ZSksIFdlYkNvcmU6OnJv
dW5kZWRJbnRTaXplKG1fY29udGVudHNTaXplKSwgMSk7CiAKICAgICBpZiAobWluaW11bVNjYWxl
IDw9IDApCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTM1MywxMSArMzUzLDExIEBAIGJvb2wg
UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6dXBkYXRlTWluaW11bVNjYWxlVG9GaXQoYm9vbCB1c2Vy
SW5pdGlhdGVkVXBkYXRlKQogCiAgICAgICAgIGlmICghaGFzU3VzcGVuZGVkQ29udGVudCgpKSB7
CiAgICAgICAgICAgICBpZiAoIW1faGFkVXNlckludGVyYWN0aW9uIHx8ICh1c2VySW5pdGlhdGVk
VXBkYXRlICYmIGN1cnJlbnRseVNjYWxlZFRvRml0KSkKLSAgICAgICAgICAgICAgICBhcHBseVNj
YWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyh0b1ZpZXdwb3J0U2NhbGUobV9taW5pbXVtU2NhbGVU
b0ZpdCkpOworICAgICAgICAgICAgICAgIGFwcGx5U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRz
KG1fbWluaW11bVNjYWxlVG9GaXQpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAg
ICAgLy8gRW5zdXJlIHRoZSBlZmZlY3RpdmUgc2NhbGUgc3RheXMgd2l0aGluIGJvdW5kcy4KLSAg
ICAgICAgICAgICAgICBmbG9hdCBib3VuZGVkU2NhbGUgPSBpbm5lckJvdW5kZWRWaWV3cG9ydFNj
YWxlKG1fZWZmZWN0aXZlU2NhbGUpOwotICAgICAgICAgICAgICAgIGlmICghZnV6enlDb21wYXJl
KGJvdW5kZWRTY2FsZSwgbV9lZmZlY3RpdmVTY2FsZSwgMC4wMDAxKSkKKyAgICAgICAgICAgICAg
ICBmbG9hdCBib3VuZGVkU2NhbGUgPSBpbm5lckJvdW5kZWRWaWV3cG9ydFNjYWxlKG1fY29udGVu
dHNTY2FsZSk7CisgICAgICAgICAgICAgICAgaWYgKCFmdXp6eUNvbXBhcmUoYm91bmRlZFNjYWxl
LCBtX2NvbnRlbnRzU2NhbGUsIDAuMDAwMSkpCiAgICAgICAgICAgICAgICAgICAgIGFwcGx5U2Nh
bGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKGJvdW5kZWRTY2FsZSk7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3Bv
cnRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29u
dHJvbGxlci5oCmluZGV4IDBmNDYxMjVhNDMxYzhlZDFmNTZiNjMzMTZhNWI2ZDY1OGU5MzEzZTgu
LmYzODMxMTFkZmNlMzQ0NDAzY2MyNTExMDY0OTkxMjZmNDcxZWNkYTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaApAQCAtNjgsNyAr
NjgsNyBAQCBwdWJsaWM6CiAgICAgZmxvYXQgZGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0OwogICAg
IGZsb2F0IG1pbmltdW1Db250ZW50c1NjYWxlKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtU2Nh
bGVUb0ZpdDsgfQogICAgIGZsb2F0IG1heGltdW1Db250ZW50c1NjYWxlKCkgY29uc3QgeyByZXR1
cm4gbV9yYXdBdHRyaWJ1dGVzLm1heGltdW1TY2FsZTsgfQotICAgIGZsb2F0IGN1cnJlbnRDb250
ZW50c1NjYWxlKCkgY29uc3QgeyByZXR1cm4gZnJvbVZpZXdwb3J0U2NhbGUobV9lZmZlY3RpdmVT
Y2FsZSk7IH0KKyAgICBmbG9hdCBjdXJyZW50Q29udGVudHNTY2FsZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY29udGVudHNTY2FsZTsgfQogCiAgICAgdm9pZCBzZXRIYWRVc2VySW50ZXJhY3Rpb24oYm9v
bCBkaWRVc2VySW50ZXJhY3QpIHsgbV9oYWRVc2VySW50ZXJhY3Rpb24gPSBkaWRVc2VySW50ZXJh
Y3Q7IH0KIApAQCAtODUsOCArODUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYWdlRGlkUmVxdWVz
dFNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY3NzUG9zaXRpb24pOwogCiBwcml2YXRl
OgotICAgIGZsb2F0IGZyb21WaWV3cG9ydFNjYWxlKGZsb2F0IHNjYWxlKSBjb25zdCB7IHJldHVy
biBzY2FsZSAvIGRldmljZVBpeGVsUmF0aW8oKTsgfQotICAgIGZsb2F0IHRvVmlld3BvcnRTY2Fs
ZShmbG9hdCBzY2FsZSkgY29uc3QgeyByZXR1cm4gc2NhbGUgKiBkZXZpY2VQaXhlbFJhdGlvKCk7
IH0KICAgICB2b2lkIHN5bmNWaXNpYmxlQ29udGVudHMoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2lu
dCAmdHJhamVjdG9yeVZlY3RvciA9IFdlYkNvcmU6OkZsb2F0UG9pbnQ6Onplcm8oKSk7CiAgICAg
dm9pZCBhcHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhmbG9hdCBzY2FsZSk7CiAgICAg
dm9pZCBhcHBseVBvc2l0aW9uQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhjb25zdCBXZWJDb3JlOjpG
bG9hdFBvaW50JiBwb3MpOwpAQCAtMTA4LDcgKzEwNiw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29y
ZTo6RmxvYXRTaXplIG1fY29udGVudHNTaXplOwogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX3Zp
ZXdwb3J0U2l6ZTsKICAgICBXZWJDb3JlOjpJbnRTaXplIG1fY2xpZW50Q29udGVudHNTaXplOwot
ICAgIGZsb2F0IG1fZWZmZWN0aXZlU2NhbGU7IC8vIFNob3VsZCBhbHdheXMgYmUgY3NzU2NhbGUg
KiBkZXZpY2VQaXhlbFJhdGlvLgorICAgIGZsb2F0IG1fY29udGVudHNTY2FsZTsKIAogICAgIGJv
b2wgbV9wZW5kaW5nUG9zaXRpb25DaGFuZ2U7CiAgICAgYm9vbCBtX3BlbmRpbmdTY2FsZUNoYW5n
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0
Q29udHJvbGxlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuY3BwCmluZGV4IDg4Njc3ZDA0YzdiMjBhM2Ri
Y2M0NmUxNDUzNDFjNjVkOGMzODBhMTIuLjM5MzAzMTIzNGU2ZGIyODc5ZWYxYTU0NWVmYWMwNzE1
ZTEwNzNjNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVZp
ZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsLmNwcApAQCAtNjIsNyArNjIs
MTAgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsOjpzZXRSZW5kZXJlckFj
dGl2ZShib29sIGFjdGl2ZSkKIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbDo6
dXBkYXRlVmlld3BvcnRTaXplKCkKIHsKICAgICBBU1NFUlQobV9jb250cm9sbGVyKTsKLSAgICBt
X2NvbnRyb2xsZXItPmRpZENoYW5nZVZpZXdwb3J0U2l6ZShtX3ZpZXdJbXBsLT5zaXplKCkpOwor
ICAgIEZsb2F0U2l6ZSBzaXplID0gbV92aWV3SW1wbC0+c2l6ZSgpOworICAgIC8vIFRoZSB2aWV3
cG9ydCBjb250cm9sbGVyIGV4cGVjdHMgc2l6ZXMgaW4gZGV2aWNlIGluZGVwZW5kZW50IGNvb3Jk
aW5hdGVzLgorICAgIHNpemUuc2NhbGUoMSAvIG1fY29udHJvbGxlci0+ZGV2aWNlUGl4ZWxSYXRp
bygpKTsKKyAgICBtX2NvbnRyb2xsZXItPmRpZENoYW5nZVZpZXdwb3J0U2l6ZShzaXplKTsKIH0K
IAogdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsOjpkaWRDaGFuZ2VDb250ZW50
c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgY29udGVudHNTaXplKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRR
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxl
ckNsaWVudFF0LmNwcAppbmRleCBjOWUyMWFlYTYzNWQxOTk0MDc3NTBhNDExNTVhY2ZiMjdiMTNj
N2UwLi4wYTEwZmZiY2ZmZThmMjM4YWQwNzg3NjIzNmExMjc4NmZkMWQ3NmUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVu
dFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29u
dHJvbGxlckNsaWVudFF0LmNwcApAQCAtMTgyLDEyICsxODIsMTIgQEAgdm9pZCBQYWdlVmlld3Bv
cnRDb250cm9sbGVyQ2xpZW50UXQ6OmZvY3VzRWRpdGFibGVBcmVhKGNvbnN0IFFSZWN0RiYgY2Fy
ZXRBcmVhLAogICAgIC8vIFRoaXMgY2FuIG9ubHkgaGFwcGVuIGFzIGEgcmVzdWx0IG9mIGEgdXNl
ciBpbnRlcmFjdGlvbi4KICAgICBBU1NFUlQobV9jb250cm9sbGVyLT5oYWRVc2VySW50ZXJhY3Rp
b24oKSk7CiAKLSAgICBjb25zdCBmbG9hdCBlZGl0aW5nRml4ZWRTY2FsZSA9IDIgKiBtX2NvbnRy
b2xsZXItPmRldmljZVBpeGVsUmF0aW8oKTsKKyAgICBjb25zdCBmbG9hdCBlZGl0aW5nRml4ZWRT
Y2FsZSA9IDI7CiAgICAgZmxvYXQgdGFyZ2V0U2NhbGUgPSBtX2NvbnRyb2xsZXItPmlubmVyQm91
bmRlZFZpZXdwb3J0U2NhbGUoZWRpdGluZ0ZpeGVkU2NhbGUpOwogICAgIGNvbnN0IFFSZWN0RiB2
aWV3cG9ydFJlY3QgPSBtX3ZpZXdwb3J0SXRlbS0+Ym91bmRpbmdSZWN0KCk7CiAKICAgICBxcmVh
bCB4OwotICAgIGNvbnN0IHFyZWFsIGJvcmRlck9mZnNldCA9IDEwICogbV9jb250cm9sbGVyLT5k
ZXZpY2VQaXhlbFJhdGlvKCk7CisgICAgY29uc3QgcXJlYWwgYm9yZGVyT2Zmc2V0ID0gMTA7CiAg
ICAgaWYgKCh0YXJnZXRBcmVhLndpZHRoKCkgKyBib3JkZXJPZmZzZXQpICogdGFyZ2V0U2NhbGUg
PD0gdmlld3BvcnRSZWN0LndpZHRoKCkpIHsKICAgICAgICAgLy8gQ2VudGVyIHRoZSBpbnB1dCBm
aWVsZCBpbiB0aGUgbWlkZGxlIG9mIHRoZSB2aWV3LCBpZiBpdCBpcyBzbWFsbGVyIHRoYW4KICAg
ICAgICAgLy8gdGhlIHZpZXcgYXQgdGhlIHNjYWxlIHRhcmdldC4KQEAgLTIyMSwxNCArMjIxLDE0
IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0Ojp6b29tVG9BcmVhR2VzdHVy
ZUVuZGVkKGNvbnN0IFFQb2ludEYmIHRvdWNoCiAgICAgaWYgKG1fY29udHJvbGxlci0+aGFzU3Vz
cGVuZGVkQ29udGVudCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zdCBmbG9hdCBtYXJn
aW4gPSAxMCAqIG1fY29udHJvbGxlci0+ZGV2aWNlUGl4ZWxSYXRpbygpOyAvLyBXZSB3YW50IGF0
IGxlYXN0IGEgbGl0dGxlIGJpdCBvZiBtYXJnaW4uCisgICAgY29uc3QgZmxvYXQgbWFyZ2luID0g
MTA7IC8vIFdlIHdhbnQgYXQgbGVhc3QgYSBsaXR0bGUgYml0IG9mIG1hcmdpbi4KICAgICBRUmVj
dEYgZW5kQXJlYSA9IHRhcmdldEFyZWEuYWRqdXN0ZWQoLW1hcmdpbiwgLW1hcmdpbiwgbWFyZ2lu
LCBtYXJnaW4pOwogCiAgICAgY29uc3QgUVJlY3RGIHZpZXdwb3J0UmVjdCA9IG1fdmlld3BvcnRJ
dGVtLT5ib3VuZGluZ1JlY3QoKTsKIAotICAgIHFyZWFsIG1pblZpZXdwb3J0U2NhbGUgPSBxcmVh
bCgyLjUpICogbV9jb250cm9sbGVyLT5kZXZpY2VQaXhlbFJhdGlvKCk7CisgICAgY29uc3QgcXJl
YWwgbWluVmlld3BvcnRTY2FsZSA9IHFyZWFsKDIuNSk7CiAgICAgcXJlYWwgdGFyZ2V0U2NhbGUg
PSB2aWV3cG9ydFJlY3Quc2l6ZSgpLndpZHRoKCkgLyBlbmRBcmVhLnNpemUoKS53aWR0aCgpOwot
ICAgIHRhcmdldFNjYWxlID0gbV9jb250cm9sbGVyLT5pbm5lckJvdW5kZWRWaWV3cG9ydFNjYWxl
KHFNaW4obWluVmlld3BvcnRTY2FsZSwgdGFyZ2V0U2NhbGUpKTsKKyAgICB0YXJnZXRTY2FsZSA9
IG1fY29udHJvbGxlci0+aW5uZXJCb3VuZGVkVmlld3BvcnRTY2FsZShxTWF4KG1pblZpZXdwb3J0
U2NhbGUsIHRhcmdldFNjYWxlKSk7CiAgICAgcXJlYWwgY3VycmVudFNjYWxlID0gbV9wYWdlSXRl
bS0+Y29udGVudHNTY2FsZSgpOwogCiAgICAgLy8gV2Ugd2FudCB0byBlbmQgdXAgd2l0aCB0aGUg
dGFyZ2V0IGFyZWEgZmlsbGluZyB0aGUgd2hvbGUgd2lkdGggb2YgdGhlIHZpZXdwb3J0IChpZiBw
b3NzaWJsZSksCkBAIC0yNjgsNyArMjY4LDcgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVy
Q2xpZW50UXQ6Onpvb21Ub0FyZWFHZXN0dXJlRW5kZWQoY29uc3QgUVBvaW50RiYgdG91Y2gKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBab29tQmFjazogewogICAgICAgICBpZiAobV9zY2FsZVN0
YWNrLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgdGFyZ2V0U2NhbGUgPSBtX2NvbnRyb2xsZXIt
Pm1pbmltdW1Db250ZW50c1NjYWxlKCkgKiBtX2NvbnRyb2xsZXItPmRldmljZVBpeGVsUmF0aW8o
KTsKKyAgICAgICAgICAgIHRhcmdldFNjYWxlID0gbV9jb250cm9sbGVyLT5taW5pbXVtQ29udGVu
dHNTY2FsZSgpOwogICAgICAgICAgICAgZW5kUG9zaXRpb24uc2V0WShob3RzcG90LnkoKSAtIHZp
ZXdwb3J0SG90c3BvdC55KCkgLyB0YXJnZXRTY2FsZSk7CiAgICAgICAgICAgICBlbmRQb3NpdGlv
bi5zZXRYKDApOwogICAgICAgICAgICAgbV96b29tT3V0U2NhbGUgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2RlLmNwcAppbmRleCA3YjZjMWVlODc2
YjU5MmNkNGFhNmZmZDM1OTkyNzc1NGUxOGJkNGQ2Li5mNTM2YzQyMTc2NWYyYjY2NjZjNjMwZDMx
YmEzMzQyOGE5NTY5NzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
UXRXZWJQYWdlU0dOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlU0dOb2RlLmNwcApAQCAtODcsOSArODcsMTIgQEAgcHJpdmF0ZToKIAogICAgICAgICBm
b3IgKGNvbnN0IFFTR0NsaXBOb2RlKiBjbGlwID0gY2xpcExpc3QoKTsgY2xpcDsgY2xpcCA9IGNs
aXAtPmNsaXBMaXN0KCkpIHsKICAgICAgICAgICAgIFFNYXRyaXg0eDQgY2xpcE1hdHJpeDsKLSAg
ICAgICAgICAgIGlmIChjbGlwLT5tYXRyaXgoKSkKKyAgICAgICAgICAgIGlmIChwYWdlTm9kZSgp
LT5kZXZpY2VQaXhlbFJhdGlvKCkgIT0gMS4wKSB7CisgICAgICAgICAgICAgICAgY2xpcE1hdHJp
eC5zY2FsZShwYWdlTm9kZSgpLT5kZXZpY2VQaXhlbFJhdGlvKCkpOworICAgICAgICAgICAgICAg
IGlmIChjbGlwLT5tYXRyaXgoKSkKKyAgICAgICAgICAgICAgICAgICAgY2xpcE1hdHJpeCAqPSAo
KmNsaXAtPm1hdHJpeCgpKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoY2xpcC0+bWF0cml4KCkp
CiAgICAgICAgICAgICAgICAgY2xpcE1hdHJpeCA9ICpjbGlwLT5tYXRyaXgoKTsKLSAgICAgICAg
ICAgIGNsaXBNYXRyaXguc2NhbGUocGFnZU5vZGUoKS0+ZGV2aWNlUGl4ZWxSYXRpbygpKTsKIAog
ICAgICAgICAgICAgUVJlY3RGIGN1cnJlbnRDbGlwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZmUyZDJmMDUxYzQzZGRiNzU3YTU4ZGRl
YmIyMzNiNjZmMWQ5ZTMxNi4uNDk4OWE3MDY1ODY5ZjZmYzM0ZmVhMzM1NmU5MzA2ZGIwYTY3NWQ5
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApA
QCAtMTAzMSwxMyArMTAzMSwxMyBAQCB2b2lkIFdlYlBhZ2U6OnNlbmRWaWV3cG9ydEF0dHJpYnV0
ZXNDaGFuZ2VkKCkKICAgICAvLyBSZWNhbGN1bGF0ZSB0aGUgcmVjb21tZW5kZWQgbGF5b3V0IHNp
emUsIHdoZW4gdGhlIGF2YWlsYWJsZSBzaXplIChkZXZpY2UgcGl4ZWwpIGNoYW5nZXMuCiAgICAg
U2V0dGluZ3MqIHNldHRpbmdzID0gbV9wYWdlLT5zZXR0aW5ncygpOwogCi0gICAgaW50IG1pbmlt
dW1MYXlvdXRGYWxsYmFja1dpZHRoID0gc3RkOjptYXgoc2V0dGluZ3MtPmxheW91dEZhbGxiYWNr
V2lkdGgoKSwgaW50KG1fdmlld3BvcnRTaXplLndpZHRoKCkgLyBtX3BhZ2UtPmRldmljZVNjYWxl
RmFjdG9yKCkpKTsKKyAgICBpbnQgbWluaW11bUxheW91dEZhbGxiYWNrV2lkdGggPSBzdGQ6Om1h
eChzZXR0aW5ncy0+bGF5b3V0RmFsbGJhY2tXaWR0aCgpLCBtX3ZpZXdwb3J0U2l6ZS53aWR0aCgp
KTsKIAogICAgIC8vIElmIHVuc2V0ICB3ZSB1c2UgdGhlIHZpZXdwb3J0IGRpbWVuc2lvbnMuIFRo
aXMgZml0cyB3aXRoIHRoZSBiZWhhdmlvciBvZiBkZXNrdG9wIGJyb3dzZXJzLgogICAgIGludCBk
ZXZpY2VXaWR0aCA9IChzZXR0aW5ncy0+ZGV2aWNlV2lkdGgoKSA+IDApID8gc2V0dGluZ3MtPmRl
dmljZVdpZHRoKCkgOiBtX3ZpZXdwb3J0U2l6ZS53aWR0aCgpOwogICAgIGludCBkZXZpY2VIZWln
aHQgPSAoc2V0dGluZ3MtPmRldmljZUhlaWdodCgpID4gMCkgPyBzZXR0aW5ncy0+ZGV2aWNlSGVp
Z2h0KCkgOiBtX3ZpZXdwb3J0U2l6ZS5oZWlnaHQoKTsKIAotICAgIFZpZXdwb3J0QXR0cmlidXRl
cyBhdHRyID0gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhtX3BhZ2UtPnZpZXdwb3J0QXJndW1l
bnRzKCksIG1pbmltdW1MYXlvdXRGYWxsYmFja1dpZHRoLCBkZXZpY2VXaWR0aCwgZGV2aWNlSGVp
Z2h0LCBtX3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCksIG1fdmlld3BvcnRTaXplKTsKKyAgICBW
aWV3cG9ydEF0dHJpYnV0ZXMgYXR0ciA9IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMobV9wYWdl
LT52aWV3cG9ydEFyZ3VtZW50cygpLCBtaW5pbXVtTGF5b3V0RmFsbGJhY2tXaWR0aCwgZGV2aWNl
V2lkdGgsIGRldmljZUhlaWdodCwgMSwgbV92aWV3cG9ydFNpemUpOwogCiAgICAgRnJhbWVWaWV3
KiB2aWV3ID0gbV9wYWdlLT5tYWluRnJhbWUoKS0+dmlldygpOwogCkBAIC0xMDQ4LDggKzEwNDgs
NiBAQCB2b2lkIFdlYlBhZ2U6OnNlbmRWaWV3cG9ydEF0dHJpYnV0ZXNDaGFuZ2VkKCkKICAgICAv
LyBVc2UgRmxvYXRTaXplIHRvIGF2b2lkIHRydW5jYXRlZCB2YWx1ZXMgZHVyaW5nIHNjYWxlLgog
ICAgIEZsb2F0U2l6ZSBjb250ZW50Rml4ZWRTaXplID0gbV92aWV3cG9ydFNpemU7CiAKLSAgICBj
b250ZW50Rml4ZWRTaXplLnNjYWxlKDEgLyBtX3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCkpOwot
CiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKICAgICAvLyBDU1Mgdmlld3BvcnQg
ZGVzY3JpcHRvcnMgbWlnaHQgYmUgYXBwbGllZCB0byBhbHJlYWR5IGFmZmVjdGVkIHZpZXdwb3J0
IHNpemUKICAgICAvLyBpZiB0aGUgcGFnZSBlbmFibGVzL2Rpc2FibGVzIHN0eWxlc2hlZXRzLCBz
byBuZWVkIHRvIGtlZXAgaW5pdGlhbCB2aWV3cG9ydCBzaXplLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>