<?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>64739</bug_id>
          
          <creation_ts>2011-07-18 11:31:36 -0700</creation_ts>
          <short_desc>[Qt] Make the WebContextMenuProxyQt handle the full interactions between the views and the WebPageProxy</short_desc>
          <delta_ts>2011-07-26 09:56:44 -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>WebKit2</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>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>438608</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-07-18 11:31:36 -0700</bug_when>
    <thetext>The current design of WebContextMenuProxyQt still suffer from the old QWKPage:
-the actions of the menu are still QtWebPageProxy::WebAction which was a terrible idea (because those actions are really only valid in when a context menu is up)
-the functions of the views are called through the QtWebPageProxy wich defeat the purpose of WebContextMenuProxy

The WebContextMenuProxyQt needs to be promoted to a real proxy on its own with the full responsibility of the context menu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438613</commentid>
    <comment_count>1</comment_count>
      <attachid>101183</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-07-18 11:45:23 -0700</bug_when>
    <thetext>Created attachment 101183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442213</commentid>
    <comment_count>2</comment_count>
      <attachid>101183</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-07-26 06:33:44 -0700</bug_when>
    <thetext>Comment on attachment 101183
Patch

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

&gt; Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.cpp:105
&gt; +            connect(qtAction, SIGNAL(triggered(bool)), this, SLOT(actionTriggered(bool)), Qt::DirectConnection);

The Qt::DirectConnection here can be omitted, since the object is on the same thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442220</commentid>
    <comment_count>3</comment_count>
      <attachid>101183</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-07-26 06:41:49 -0700</bug_when>
    <thetext>Comment on attachment 101183
Patch

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

&gt; Source/WebKit2/ChangeLog:3
&gt; +        [Qt] Make the WebContextMenuProxyQt handle the full interactions between the views and the WebPageProxy

Where&apos;s the customary [WK2] huh? Unacceptable, sir!

&gt;&gt; Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.cpp:105
&gt;&gt; +            connect(qtAction, SIGNAL(triggered(bool)), this, SLOT(actionTriggered(bool)), Qt::DirectConnection);
&gt; 
&gt; The Qt::DirectConnection here can be omitted, since the object is on the same thread.

Apparently this is meant to protect against future refactorings, since the slot assumes that QObject::sender() is valid, which may not be the case given a queued connection. That&apos;s somewhat reasonable, so I&apos;m retracting this moan.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442324</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-07-26 09:56:44 -0700</bug_when>
    <thetext>Committed r91758: &lt;http://trac.webkit.org/changeset/91758&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101183</attachid>
            <date>2011-07-18 11:45:23 -0700</date>
            <delta_ts>2011-07-26 06:41:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64739-20110718205218.patch</filename>
            <type>text/plain</type>
            <size>14154</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTExNzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3NjM2M2E4M2ZkMDYzNmQy
Mzg1ZmU3N2U5YjJlMDBiZjlhMWM4NDdkLi5hZWQ2YzU3MTk4NWI3ZGY0YzhmZmY3N2JlZWQ1NTQy
NTM1MjY3ODQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDctMTggIEJlbmph
bWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgorCisgICAgICAgIFtRdF0gTWFrZSB0
aGUgV2ViQ29udGV4dE1lbnVQcm94eVF0IGhhbmRsZSB0aGUgZnVsbCBpbnRlcmFjdGlvbnMgYmV0
d2VlbiB0aGUgdmlld3MgYW5kIHRoZSBXZWJQYWdlUHJveHkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIHRoZSBXZWJDb250ZXh0TWVudVByb3h5
UXQgdG8gYmUgdGhlIGludGVybWVkaWFyeSBiZXR3ZWVuIHRoZSBXZWJQYWdlUHJveHkgYW5kIG91
ciB2aWV3cyByZWdhcmRpbmcKKyAgICAgICAgdGhlIGNvbnRleHQgbWVudS4KKworICAgICAgICBU
aGUgYWN0aW9ucyBvZiB0aGUgY29udGV4dCBtZW51IGFyZSBubyBsb25nZXIgdGhlIHJlc3BvbnNp
YmlsaXR5IG9mIFF0V2ViUGFnZVByb3h5IGJ1dCBhcmUgaW5zdGVhZAorICAgICAgICBjcmVhdGVk
IGFuZCBoYW5kbGVkIGRpcmVjdGx5IGJ5IHRoZSBXZWJDb250ZXh0TWVudVByb3h5UXQuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoUXRXZWJQ
YWdlUHJveHk6OmNyZWF0ZUNvbnRleHRNZW51UHJveHkpOgorICAgICAgICAoUXRXZWJQYWdlUHJv
eHk6OnRyaWdnZXJBY3Rpb24pOgorICAgICAgICAoUXRXZWJQYWdlUHJveHk6OmFjdGlvbik6Cisg
ICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL3F0L1dlYkNvbnRleHRNZW51UHJveHlRdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNv
bnRleHRNZW51UHJveHlRdDo6V2ViQ29udGV4dE1lbnVQcm94eVF0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViQ29udGV4dE1lbnVQcm94eVF0OjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJD
b250ZXh0TWVudVByb3h5UXQ6OmFjdGlvblRyaWdnZXJlZCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNvbnRleHRNZW51UHJveHlRdDo6c2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKFdlYktpdDo6
V2ViQ29udGV4dE1lbnVQcm94eVF0OjpoaWRlQ29udGV4dE1lbnUpOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb250ZXh0TWVudVByb3h5UXQ6OmNyZWF0ZUNvbnRleHRNZW51KToKKyAgICAgICAgKiBV
SVByb2Nlc3MvcXQvV2ViQ29udGV4dE1lbnVQcm94eVF0Lmg6CisKIDIwMTEtMDctMTcgIEFtcnV0
aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPgogCiAgICAgICAgIFtHVEtdIEZpeCBzZWxl
Y3Rpb24gb2YgZWxlbWVudHMgaW4gYSBtdWx0aSBzZWxlY3QgbGlzdCBhbmQgcmVtb3ZlIGFuIHVu
bmVjZXNzYXJ5IGluY2x1ZGUgaW4gV29ya1F1ZXVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcAppbmRleCA1NmZmMWUwMzA5YTFhNzA3MzU2NTI5Njcx
NzM3MWJlMzU4MzVlOGYzLi40NmFkOGIwNGRlMjQ5ZmM5MDUwYjNlZTVjYWY1ODMxMTc5MzlmNDhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAK
QEAgLTY2LDMyICs2Niw2IEBAIFFXS0NvbnRleHQqIGRlZmF1bHRXS0NvbnRleHQoKQogICAgIHJl
dHVybiBkZWZhdWx0Q29udGV4dDsKIH0KIAotc3RhdGljIFdlYkNvcmU6OkNvbnRleHRNZW51QWN0
aW9uIGNvbnRleHRNZW51QWN0aW9uRm9yV2ViQWN0aW9uKFF0V2ViUGFnZVByb3h5OjpXZWJBY3Rp
b24gYWN0aW9uKQotewotICAgIHN3aXRjaCAoYWN0aW9uKSB7Ci0gICAgY2FzZSBRdFdlYlBhZ2VQ
cm94eTo6T3Blbkxpbms6Ci0gICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdPcGVuTGluazsKLSAgICBjYXNlIFF0V2ViUGFnZVByb3h5OjpPcGVuTGlua0luTmV3V2luZG93
OgotICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmtJbk5l
d1dpbmRvdzsKLSAgICBjYXNlIFF0V2ViUGFnZVByb3h5OjpDb3B5TGlua1RvQ2xpcGJvYXJkOgot
ICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBi
b2FyZDsKLSAgICBjYXNlIFF0V2ViUGFnZVByb3h5OjpPcGVuSW1hZ2VJbk5ld1dpbmRvdzoKLSAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5JbWFnZUluTmV3V2lu
ZG93OwotICAgIGNhc2UgUXRXZWJQYWdlUHJveHk6OkN1dDoKLSAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ0N1dDsKLSAgICBjYXNlIFF0V2ViUGFnZVByb3h5OjpDb3B5
OgotICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weTsKLSAgICBj
YXNlIFF0V2ViUGFnZVByb3h5OjpQYXN0ZToKLSAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ1Bhc3RlOwotICAgIGNhc2UgUXRXZWJQYWdlUHJveHk6OlNlbGVjdEFsbDoK
LSAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbDsKLSAg
ICBkZWZhdWx0OgotICAgICAgICBBU1NFUlQoZmFsc2UpOwotICAgICAgICBicmVhazsKLSAgICB9
Ci0gICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ05vQWN0aW9uOwotfQotCiBz
dGF0aWMgaW5saW5lIFF0OjpEcm9wQWN0aW9ucyBkcmFnT3BlcmF0aW9uVG9Ecm9wQWN0aW9ucyh1
bnNpZ25lZCBkcmFnT3BlcmF0aW9ucykKIHsKICAgICBRdDo6RHJvcEFjdGlvbnMgcmVzdWx0ID0g
UXQ6Oklnbm9yZUFjdGlvbjsKQEAgLTQwMSw3ICszNzUsNyBAQCBQYXNzUmVmUHRyPFdlYlBvcHVw
TWVudVByb3h5PiBRdFdlYlBhZ2VQcm94eTo6Y3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVBy
b3h5KgogCiBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IFF0V2ViUGFnZVByb3h5Ojpj
cmVhdGVDb250ZXh0TWVudVByb3h5KFdlYlBhZ2VQcm94eSopCiB7Ci0gICAgcmV0dXJuIFdlYkNv
bnRleHRNZW51UHJveHlRdDo6Y3JlYXRlKHRoaXMpOworICAgIHJldHVybiBXZWJDb250ZXh0TWVu
dVByb3h5UXQ6OmNyZWF0ZShtX3dlYlBhZ2VQcm94eS5nZXQoKSwgbV92aWV3SW50ZXJmYWNlKTsK
IH0KIAogdm9pZCBRdFdlYlBhZ2VQcm94eTo6c2V0RmluZEluZGljYXRvcihQYXNzUmVmUHRyPEZp
bmRJbmRpY2F0b3I+LCBib29sIGZhZGVPdXQpCkBAIC00NDEsMTYgKzQxNSw2IEBAIHZvaWQgUXRX
ZWJQYWdlUHJveHk6OmRpZENoYW5nZVN0YXR1c1RleHQoY29uc3QgUVN0cmluZyYgdGV4dCkKICAg
ICBtX3ZpZXdJbnRlcmZhY2UtPmRpZENoYW5nZVN0YXR1c1RleHQodGV4dCk7CiB9CiAKLXZvaWQg
UXRXZWJQYWdlUHJveHk6OnNob3dDb250ZXh0TWVudShRU2hhcmVkUG9pbnRlcjxRTWVudT4gbWVu
dSkKLXsKLSAgICBtX3ZpZXdJbnRlcmZhY2UtPnNob3dDb250ZXh0TWVudShtZW51KTsKLX0KLQot
dm9pZCBRdFdlYlBhZ2VQcm94eTo6aGlkZUNvbnRleHRNZW51KCkKLXsKLSAgICBtX3ZpZXdJbnRl
cmZhY2UtPmhpZGVDb250ZXh0TWVudSgpOwotfQotCiB2b2lkIFF0V2ViUGFnZVByb3h5Ojpsb2Fk
RGlkQmVnaW4oKQogewogICAgIG1fdmlld0ludGVyZmFjZS0+bG9hZERpZEJlZ2luKCk7CkBAIC02
NDAsMTIgKzYwNCw4IEBAIHZvaWQgUXRXZWJQYWdlUHJveHk6OnRyaWdnZXJBY3Rpb24oV2ViQWN0
aW9uIHdlYkFjdGlvbiwgYm9vbCkKICAgICAgICAgbV93ZWJQYWdlUHJveHktPnJlbG9hZCgvKiBy
ZWxvYWRGcm9tT3JpZ2luICovIHRydWUpOwogICAgICAgICByZXR1cm47CiAgICAgZGVmYXVsdDoK
LSAgICAgICAgYnJlYWs7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KLQot
ICAgIFFBY3Rpb24qIHF0QWN0aW9uID0gYWN0aW9uKHdlYkFjdGlvbik7Ci0gICAgV2ViS2l0OjpX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhIG1lbnVJdGVtRGF0YShBY3Rpb25UeXBlLCBjb250ZXh0TWVu
dUFjdGlvbkZvcldlYkFjdGlvbih3ZWJBY3Rpb24pLCBxdEFjdGlvbi0+dGV4dCgpLCBxdEFjdGlv
bi0+aXNFbmFibGVkKCksIHF0QWN0aW9uLT5pc0NoZWNrZWQoKSk7Ci0gICAgbV93ZWJQYWdlUHJv
eHktPmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKG1lbnVJdGVtRGF0YSk7CiB9CiAKIFFBY3Rpb24q
IFF0V2ViUGFnZVByb3h5OjpuYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9uQWN0
aW9uIHdoaWNoKSBjb25zdApAQCAtNjc5LDE4ICs2MzksNiBAQCBRQWN0aW9uKiBRdFdlYlBhZ2VQ
cm94eTo6YWN0aW9uKFdlYkFjdGlvbiBhY3Rpb24pIGNvbnN0CiAgICAgUXRXZWJQYWdlUHJveHkq
IG11dGFibGVTZWxmID0gY29uc3RfY2FzdDxRdFdlYlBhZ2VQcm94eSo+KHRoaXMpOwogCiAgICAg
c3dpdGNoIChhY3Rpb24pIHsKLSAgICBjYXNlIE9wZW5MaW5rOgotICAgICAgICB0ZXh0ID0gY29u
dGV4dE1lbnVJdGVtVGFnT3BlbkxpbmsoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBPcGVu
TGlua0luTmV3V2luZG93OgotICAgICAgICB0ZXh0ID0gY29udGV4dE1lbnVJdGVtVGFnT3Blbkxp
bmtJbk5ld1dpbmRvdygpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENvcHlMaW5rVG9DbGlw
Ym9hcmQ6Ci0gICAgICAgIHRleHQgPSBjb250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJv
YXJkKCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgT3BlbkltYWdlSW5OZXdXaW5kb3c6Ci0g
ICAgICAgIHRleHQgPSBjb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdygpOwot
ICAgICAgICBicmVhazsKICAgICBjYXNlIEJhY2s6CiAgICAgICAgIHRleHQgPSBjb250ZXh0TWVu
dUl0ZW1UYWdHb0JhY2soKTsKICAgICAgICAgaWNvbiA9IHN0eWxlLT5zdGFuZGFyZEljb24oUVN0
eWxlOjpTUF9BcnJvd0JhY2spOwpAQCAtNzA3LDE4ICs2NTUsNiBAQCBRQWN0aW9uKiBRdFdlYlBh
Z2VQcm94eTo6YWN0aW9uKFdlYkFjdGlvbiBhY3Rpb24pIGNvbnN0CiAgICAgICAgIHRleHQgPSBj
b250ZXh0TWVudUl0ZW1UYWdSZWxvYWQoKTsKICAgICAgICAgaWNvbiA9IHN0eWxlLT5zdGFuZGFy
ZEljb24oUVN0eWxlOjpTUF9Ccm93c2VyUmVsb2FkKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBDdXQ6Ci0gICAgICAgIHRleHQgPSBjb250ZXh0TWVudUl0ZW1UYWdDdXQoKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBDb3B5OgotICAgICAgICB0ZXh0ID0gY29udGV4dE1lbnVJdGVtVGFn
Q29weSgpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFBhc3RlOgotICAgICAgICB0ZXh0ID0g
Y29udGV4dE1lbnVJdGVtVGFnUGFzdGUoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTZWxl
Y3RBbGw6Ci0gICAgICAgIHRleHQgPSBjb250ZXh0TWVudUl0ZW1UYWdTZWxlY3RBbGwoKTsKLSAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBVbmRvOiB7CiAgICAgICAgIFFBY3Rpb24qIHVuZG9BY3Rp
b24gPSBtX3VuZG9TdGFjay0+Y3JlYXRlVW5kb0FjdGlvbihtdXRhYmxlU2VsZik7CiAgICAgICAg
IG1fYWN0aW9uc1thY3Rpb25dID0gdW5kb0FjdGlvbjsKQEAgLTczMCw3ICs2NjYsNyBAQCBRQWN0
aW9uKiBRdFdlYlBhZ2VQcm94eTo6YWN0aW9uKFdlYkFjdGlvbiBhY3Rpb24pIGNvbnN0CiAgICAg
ICAgIHJldHVybiByZWRvQWN0aW9uOwogICAgIH0KICAgICBkZWZhdWx0OgotICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGJyZWFrOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaAppbmRl
eCBlMjc0MmY4YzhkMTE0NzA4MjEzMWRmMmQ5OGEyNjMxNmZiYjY5OGFjLi43ZGQ5OTIwN2I1NTA1
NThjNDdiNjAwNWExNGU1ODQxMTRjN2Y3YWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXRXZWJQYWdlUHJveHkuaApAQCAtNjIsMjEgKzYyLDExIEBAIHB1YmxpYzoKICAgICBl
bnVtIFdlYkFjdGlvbiB7CiAgICAgICAgIE5vV2ViQWN0aW9uID0gLSAxLAogCi0gICAgICAgIE9w
ZW5MaW5rLAotICAgICAgICBPcGVuTGlua0luTmV3V2luZG93LAotICAgICAgICBDb3B5TGlua1Rv
Q2xpcGJvYXJkLAotICAgICAgICBPcGVuSW1hZ2VJbk5ld1dpbmRvdywKLQogICAgICAgICBCYWNr
LAogICAgICAgICBGb3J3YXJkLAogICAgICAgICBTdG9wLAogICAgICAgICBSZWxvYWQsCiAKLSAg
ICAgICAgQ3V0LAotICAgICAgICBDb3B5LAotICAgICAgICBQYXN0ZSwKLSAgICAgICAgU2VsZWN0
QWxsLAotCiAgICAgICAgIFVuZG8sCiAgICAgICAgIFJlZG8sCiAKQEAgLTE0Myw4ICsxMzMsNiBA
QCBwdWJsaWM6CiAgICAgdm9pZCBkaWRDaGFuZ2VVcmwoY29uc3QgUVVybCYpOwogICAgIHZvaWQg
ZGlkQ2hhbmdlVGl0bGUoY29uc3QgUVN0cmluZyYpOwogICAgIHZvaWQgZGlkQ2hhbmdlU3RhdHVz
VGV4dChjb25zdCBRU3RyaW5nJik7Ci0gICAgdm9pZCBzaG93Q29udGV4dE1lbnUoUVNoYXJlZFBv
aW50ZXI8UU1lbnU+KTsKLSAgICB2b2lkIGhpZGVDb250ZXh0TWVudSgpOwogCiAgICAgdm9pZCBs
b2FkRGlkQmVnaW4oKTsKICAgICB2b2lkIGxvYWREaWRTdWNjZWVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dE1lbnVQcm94eVF0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJDb250ZXh0TWVudVByb3h5UXQuY3BwCmluZGV4
IDU4NTI5MGNmMmNlYjAyMzViYjU5YTVlNmMzNmI2MzYzNmYzNTEyZDIuLjQyYTdlNzE3ZDY2Njc4
YWJiODM1YTE2MGRlYTdiZTc3NTJjMzY3NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9XZWJDb250ZXh0TWVudVByb3h5UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9XZWJDb250ZXh0TWVudVByb3h5UXQuY3BwCkBAIC0zNSw0OSArMzUsMzYg
QEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKK1FfREVDTEFSRV9NRVRBVFlQRShXZWJL
aXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGEpOworCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3Rh
dGljIFF0V2ViUGFnZVByb3h5OjpXZWJBY3Rpb24gd2ViQWN0aW9uRm9yQ29udGV4dE1lbnVBY3Rp
b24oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24gYWN0aW9uKQorV2ViQ29udGV4dE1lbnVQcm94
eVF0OjpXZWJDb250ZXh0TWVudVByb3h5UXQoV2ViUGFnZVByb3h5KiBwYWdlUHJveHksIFZpZXdJ
bnRlcmZhY2UqIHZpZXdJbnRlcmZhY2UpCisgICAgOiBtX3dlYlBhZ2VQcm94eShwYWdlUHJveHkp
CisgICAgLCBtX3ZpZXdJbnRlcmZhY2Uodmlld0ludGVyZmFjZSkKIHsKLSAgICBzd2l0Y2ggKGFj
dGlvbikgewotICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnT3Blbkxpbms6Ci0g
ICAgICAgIHJldHVybiBRdFdlYlBhZ2VQcm94eTo6T3Blbkxpbms7Ci0gICAgY2FzZSBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93OgotICAgICAgICByZXR1cm4g
UXRXZWJQYWdlUHJveHk6Ok9wZW5MaW5rSW5OZXdXaW5kb3c7Ci0gICAgY2FzZSBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJvYXJkOgotICAgICAgICByZXR1cm4gUXRX
ZWJQYWdlUHJveHk6OkNvcHlMaW5rVG9DbGlwYm9hcmQ7Ci0gICAgY2FzZSBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdzoKLSAgICAgICAgcmV0dXJuIFF0V2Vi
UGFnZVByb3h5OjpPcGVuSW1hZ2VJbk5ld1dpbmRvdzsKLSAgICBjYXNlIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ0dvQmFjazoKLSAgICAgICAgcmV0dXJuIFF0V2ViUGFnZVByb3h5OjpCYWNr
OwotICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnR29Gb3J3YXJkOgotICAgICAg
ICByZXR1cm4gUXRXZWJQYWdlUHJveHk6OkZvcndhcmQ7Ci0gICAgY2FzZSBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdTdG9wOgotICAgICAgICByZXR1cm4gUXRXZWJQYWdlUHJveHk6OlN0b3A7
Ci0gICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdSZWxvYWQ6Ci0gICAgICAgIHJl
dHVybiBRdFdlYlBhZ2VQcm94eTo6UmVsb2FkOwotICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnQ3V0OgotICAgICAgICByZXR1cm4gUXRXZWJQYWdlUHJveHk6OkN1dDsKLSAgICBj
YXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHk6Ci0gICAgICAgIHJldHVybiBRdFdl
YlBhZ2VQcm94eTo6Q29weTsKLSAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Bh
c3RlOgotICAgICAgICByZXR1cm4gUXRXZWJQYWdlUHJveHk6OlBhc3RlOwotICAgIGNhc2UgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsOgotICAgICAgICByZXR1cm4gUXRXZWJQ
YWdlUHJveHk6OlNlbGVjdEFsbDsKLSAgICBkZWZhdWx0OgotICAgICAgICBicmVhazsKLSAgICB9
Ci0gICAgcmV0dXJuIFF0V2ViUGFnZVByb3h5OjpOb1dlYkFjdGlvbjsKIH0KIAotV2ViQ29udGV4
dE1lbnVQcm94eVF0OjpXZWJDb250ZXh0TWVudVByb3h5UXQoUXRXZWJQYWdlUHJveHkqIHBhZ2Up
Ci0gICAgOiBtX3BhZ2UocGFnZSkKK1Bhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eVF0PiBX
ZWJDb250ZXh0TWVudVByb3h5UXQ6OmNyZWF0ZShXZWJQYWdlUHJveHkqIHBhZ2VQcm94eSwgVmll
d0ludGVyZmFjZSogdmlld0ludGVyZmFjZSkKIHsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdl
YkNvbnRleHRNZW51UHJveHlRdChwYWdlUHJveHksIHZpZXdJbnRlcmZhY2UpKTsKIH0KIAotUGFz
c1JlZlB0cjxXZWJDb250ZXh0TWVudVByb3h5UXQ+IFdlYkNvbnRleHRNZW51UHJveHlRdDo6Y3Jl
YXRlKFF0V2ViUGFnZVByb3h5KiBwYWdlKQordm9pZCBXZWJDb250ZXh0TWVudVByb3h5UXQ6OmFj
dGlvblRyaWdnZXJlZChib29sKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ29udGV4
dE1lbnVQcm94eVF0KHBhZ2UpKTsKKyAgICBRQWN0aW9uKiBxdEFjdGlvbiA9IHFvYmplY3RfY2Fz
dDxRQWN0aW9uKj4oc2VuZGVyKCkpOworICAgIGlmICghcXRBY3Rpb24pIHsKKyAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBRVmFyaWFu
dCBkYXRhID0gcXRBY3Rpb24tPmRhdGEoKTsKKyAgICBpZiAoIWRhdGEuY2FuQ29udmVydDxXZWJD
b250ZXh0TWVudUl0ZW1EYXRhPigpKSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV93ZWJQYWdlUHJveHktPmNvbnRleHRNZW51
SXRlbVNlbGVjdGVkKHF0QWN0aW9uLT5kYXRhKCkudmFsdWU8V2ViQ29udGV4dE1lbnVJdGVtRGF0
YT4oKSk7CiB9CiAKIHZvaWQgV2ViQ29udGV4dE1lbnVQcm94eVF0OjpzaG93Q29udGV4dE1lbnUo
Y29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVt
RGF0YT4mIGl0ZW1zKQpAQCAtOTMsMTIgKzgwLDEyIEBAIHZvaWQgV2ViQ29udGV4dE1lbnVQcm94
eVF0OjpzaG93Q29udGV4dE1lbnUoY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBWZWN0
CiAgICAgICAgIG1lbnUgPSBhZG9wdFB0cihuZXcgUU1lbnUpOwogCiAgICAgbWVudS0+bW92ZShw
b3NpdGlvbik7Ci0gICAgbV9wYWdlLT5zaG93Q29udGV4dE1lbnUoUVNoYXJlZFBvaW50ZXI8UU1l
bnU+KG1lbnUubGVha1B0cigpKSk7CisgICAgbV92aWV3SW50ZXJmYWNlLT5zaG93Q29udGV4dE1l
bnUoUVNoYXJlZFBvaW50ZXI8UU1lbnU+KG1lbnUubGVha1B0cigpKSk7CiB9CiAKIHZvaWQgV2Vi
Q29udGV4dE1lbnVQcm94eVF0OjpoaWRlQ29udGV4dE1lbnUoKQogewotICAgIG1fcGFnZS0+aGlk
ZUNvbnRleHRNZW51KCk7CisgICAgbV92aWV3SW50ZXJmYWNlLT5oaWRlQ29udGV4dE1lbnUoKTsK
IH0KIAogUGFzc093blB0cjxRTWVudT4gV2ViQ29udGV4dE1lbnVQcm94eVF0OjpjcmVhdGVDb250
ZXh0TWVudShjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKSBjb25z
dApAQCAtMTA5LDE1ICs5NiwxNSBAQCBQYXNzT3duUHRyPFFNZW51PiBXZWJDb250ZXh0TWVudVBy
b3h5UXQ6OmNyZWF0ZUNvbnRleHRNZW51KGNvbnN0IFZlY3RvcjxXZWJDb250ZQogICAgICAgICBz
d2l0Y2ggKGl0ZW0udHlwZSgpKSB7CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6Q2hlY2thYmxlQWN0
aW9uVHlwZTogLyogZmFsbCB0aHJvdWdoICovCiAgICAgICAgIGNhc2UgV2ViQ29yZTo6QWN0aW9u
VHlwZTogewotICAgICAgICAgICAgUXRXZWJQYWdlUHJveHk6OldlYkFjdGlvbiBhY3Rpb24gPSB3
ZWJBY3Rpb25Gb3JDb250ZXh0TWVudUFjdGlvbihpdGVtLmFjdGlvbigpKTsKLSAgICAgICAgICAg
IFFBY3Rpb24qIHF0QWN0aW9uID0gbV9wYWdlLT5hY3Rpb24oYWN0aW9uKTsKLSAgICAgICAgICAg
IGlmIChxdEFjdGlvbikgewotICAgICAgICAgICAgICAgIHF0QWN0aW9uLT5zZXRFbmFibGVkKGl0
ZW0uZW5hYmxlZCgpKTsKLSAgICAgICAgICAgICAgICBxdEFjdGlvbi0+c2V0Q2hlY2tlZChpdGVt
LmNoZWNrZWQoKSk7Ci0gICAgICAgICAgICAgICAgcXRBY3Rpb24tPnNldENoZWNrYWJsZShpdGVt
LnR5cGUoKSA9PSBXZWJDb3JlOjpDaGVja2FibGVBY3Rpb25UeXBlKTsKLQotICAgICAgICAgICAg
ICAgIG1lbnUtPmFkZEFjdGlvbihxdEFjdGlvbik7Ci0gICAgICAgICAgICB9CisgICAgICAgICAg
ICBRQWN0aW9uKiBxdEFjdGlvbiA9IG5ldyBRQWN0aW9uKG1lbnUuZ2V0KCkpOworICAgICAgICAg
ICAgcXRBY3Rpb24tPnNldERhdGEoUVZhcmlhbnQ6OmZyb21WYWx1ZShpdGVtKSk7CisgICAgICAg
ICAgICBxdEFjdGlvbi0+c2V0VGV4dChpdGVtLnRpdGxlKCkpOworICAgICAgICAgICAgcXRBY3Rp
b24tPnNldEVuYWJsZWQoaXRlbS5lbmFibGVkKCkpOworICAgICAgICAgICAgcXRBY3Rpb24tPnNl
dENoZWNrZWQoaXRlbS5jaGVja2VkKCkpOworICAgICAgICAgICAgcXRBY3Rpb24tPnNldENoZWNr
YWJsZShpdGVtLnR5cGUoKSA9PSBXZWJDb3JlOjpDaGVja2FibGVBY3Rpb25UeXBlKTsKKyAgICAg
ICAgICAgIGNvbm5lY3QocXRBY3Rpb24sIFNJR05BTCh0cmlnZ2VyZWQoYm9vbCkpLCB0aGlzLCBT
TE9UKGFjdGlvblRyaWdnZXJlZChib29sKSksIFF0OjpEaXJlY3RDb25uZWN0aW9uKTsKKworICAg
ICAgICAgICAgbWVudS0+YWRkQWN0aW9uKHF0QWN0aW9uKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6U2VwYXJhdG9yVHlwZToKQEAgLTEyNSwx
MiArMTEyLDExIEBAIFBhc3NPd25QdHI8UU1lbnU+IFdlYkNvbnRleHRNZW51UHJveHlRdDo6Y3Jl
YXRlQ29udGV4dE1lbnUoY29uc3QgVmVjdG9yPFdlYkNvbnRlCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSBXZWJDb3JlOjpTdWJtZW51VHlwZToKICAgICAgICAgICAgIGlmIChPd25Q
dHI8UU1lbnU+IHN1Yk1lbnUgPSBjcmVhdGVDb250ZXh0TWVudShpdGVtLnN1Ym1lbnUoKSkpIHsK
LSAgICAgICAgICAgICAgICBzdWJNZW51LT5zZXRQYXJlbnQobWVudS5nZXQoKSk7Ci0gICAgICAg
ICAgICAgICAgUU1lbnUqIGNvbnN0IHN1Yk1lbnVQdHIgPSBzdWJNZW51LmxlYWtQdHIoKTsKKyAg
ICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxRT2JqZWN0Kj4oc3ViTWVudS5nZXQoKSktPnNldFBh
cmVudChtZW51LmdldCgpKTsKICAgICAgICAgICAgICAgICBzdWJNZW51LT5zZXRUaXRsZShpdGVt
LnRpdGxlKCkpOworICAgICAgICAgICAgICAgIFFNZW51KiBjb25zdCBzdWJNZW51UHRyID0gc3Vi
TWVudS5sZWFrUHRyKCk7CiAgICAgICAgICAgICAgICAgbWVudS0+YWRkTWVudShzdWJNZW51UHRy
KTsKICAgICAgICAgICAgIH0KLQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9
CkBAIC0xNTEsNCArMTM3LDYgQEAgUGFzc093blB0cjxRTWVudT4gV2ViQ29udGV4dE1lbnVQcm94
eVF0OjpjcmVhdGVDb250ZXh0TWVudShjb25zdCBWZWN0b3I8V2ViQ29udGUKICAgICByZXR1cm4g
bWVudS5yZWxlYXNlKCk7CiB9CiAKKyNpbmNsdWRlICJtb2NfV2ViQ29udGV4dE1lbnVQcm94eVF0
LmNwcCIKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dE1lbnVQcm94eVF0LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvV2ViQ29udGV4dE1lbnVQcm94eVF0LmgKaW5kZXggNjJhZDdkZTU5N2MxNmEy
MWUwNGYyMGViOTkxZDYzYTU0OWEwOGQ2ZS4uYWFkYjY1OGY0ZTVjYjBhNDMzMzY1YzE3MDBiNTcx
ZTFkMzY1OWFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkNv
bnRleHRNZW51UHJveHlRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJD
b250ZXh0TWVudVByb3h5UXQuaApAQCAtMjksMjYgKzI5LDM3IEBACiAKICNpbmNsdWRlICJXZWJD
b250ZXh0TWVudVByb3h5LmgiCiAjaW5jbHVkZSA8UGFzc093blB0ci5oPgorI2luY2x1ZGUgPFF0
Q29yZS9RT2JqZWN0PgogCiBjbGFzcyBRTWVudTsKIGNsYXNzIFF0V2ViUGFnZVByb3h5OworCitu
YW1lc3BhY2UgV2ViS2l0IHsKK2NsYXNzIFZpZXdJbnRlcmZhY2U7CiBjbGFzcyBXZWJDb250ZXh0
TWVudUl0ZW1EYXRhOworY2xhc3MgV2ViUGFnZVByb3h5OworfQogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAotY2xhc3MgV2ViQ29udGV4dE1lbnVQcm94eVF0IDogcHVibGljIFdlYkNvbnRleHRNZW51
UHJveHkgeworY2xhc3MgV2ViQ29udGV4dE1lbnVQcm94eVF0IDogcHVibGljIFFPYmplY3QsIHB1
YmxpYyBXZWJDb250ZXh0TWVudVByb3h5IHsKKyAgICBRX09CSkVDVAogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHlRdD4gY3JlYXRlKFF0V2ViUGFnZVBy
b3h5Kik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eVF0PiBjcmVh
dGUoV2ViUGFnZVByb3h5KiwgVmlld0ludGVyZmFjZSopOworCitwcml2YXRlIFFfU0xPVFM6Cisg
ICAgdm9pZCBhY3Rpb25UcmlnZ2VyZWQoYm9vbCk7CiAKIHByaXZhdGU6Ci0gICAgV2ViQ29udGV4
dE1lbnVQcm94eVF0KFF0V2ViUGFnZVByb3h5Kik7CisgICAgV2ViQ29udGV4dE1lbnVQcm94eVF0
KFdlYlBhZ2VQcm94eSosIFZpZXdJbnRlcmZhY2UqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzaG93
Q29udGV4dE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBWZWN0b3I8V2ViQ29u
dGV4dE1lbnVJdGVtRGF0YT4mKTsKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUNvbnRleHRNZW51KCk7
CiAKICAgICBQYXNzT3duUHRyPFFNZW51PiBjcmVhdGVDb250ZXh0TWVudShjb25zdCBWZWN0b3I8
V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKSBjb25zdDsKIAotICAgIFF0V2ViUGFnZVBy
b3h5KiBjb25zdCBtX3BhZ2U7CisgICAgV2ViUGFnZVByb3h5KiBjb25zdCBtX3dlYlBhZ2VQcm94
eTsKKyAgICBWaWV3SW50ZXJmYWNlKiBjb25zdCBtX3ZpZXdJbnRlcmZhY2U7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQK
</data>
<flag name="review"
          id="96014"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="96015"
          type_id="3"
          status="-"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>