<?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>25823</bug_id>
          
          <creation_ts>2009-05-15 07:55:44 -0700</creation_ts>
          <short_desc>[Qt] Add API to generate a QUrl from a user string url</short_desc>
          <delta_ts>2009-05-26 23:37:16 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Benjamin Meyer">ben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>kenneth</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>121519</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Meyer">ben</who>
    <bug_when>2009-05-15 07:55:44 -0700</bug_when>
    <thetext>Add an API to generate a QUrl out of a string correcting for errors and missing information. See the API documentation for more details about the function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121520</commentid>
    <comment_count>1</comment_count>
      <attachid>30387</attachid>
    <who name="Benjamin Meyer">ben</who>
    <bug_when>2009-05-15 07:56:16 -0700</bug_when>
    <thetext>Created attachment 30387
the patch with the api</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121584</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-05-15 14:49:47 -0700</bug_when>
    <thetext>The patch is OK with me, and the autotest is definately a plus.

The reviewer might point out that this is probably not the best place for having such a function and that it should be in QUrl, but as it makes many web assumptions, that has been rejected. Thus QWebView seems like the best place to put such functionality, that taken in consideration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122519</commentid>
    <comment_count>3</comment_count>
      <attachid>30387</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-21 20:10:17 -0700</bug_when>
    <thetext>Comment on attachment 30387
the patch with the api

Personally I don&apos;t think this is a very good idea for Qt to expose.

&quot;Guessing the URL&quot; only helps on the first request.  After that there are redirects and URL re-writes and JavaScrpt which are going to cause the final URL to change quite a bit, making exposing this API less useful.

But I don&apos;t work on the Qt port.  So I&apos;ll let a Qt reviewer review this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122791</commentid>
    <comment_count>4</comment_count>
      <attachid>30387</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-22 21:49:44 -0700</bug_when>
    <thetext>Comment on attachment 30387
the patch with the api


&gt; +    If that is not the case, an attempt is made to turn the string into a
&gt; +    http:// or ftp:// URL. The latter in the case the string starts with
&gt; +    &apos;ftp&apos;. The result is then passed through QUrl&apos;s tolerant parser, and
&gt; +    in the case or success, a valid QUrl is returned, orelse a QUrl().

orelse??? space missing?



&gt; +        QUrl url = view-&gt;guessUrlFromString(string);

my taste would say to use the static type QWebView::guessUrlFromString... ignore that at your will..


are you sure that QWebView is the best place for that? If I have a QWebPage in a graphics view item I still want to use the guessing and using QWebView might not feel right. Do you think QWebView is the best place to put it? what about QWebPage?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123242</commentid>
    <comment_count>5</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-26 23:37:16 -0700</bug_when>
    <thetext>Okay landed as is in r44180. Didn&apos;t know if you have commit access or not... I will await the usual API review that will happen before 4.6.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30387</attachid>
            <date>2009-05-15 07:56:16 -0700</date>
            <delta_ts>2009-05-22 21:49:44 -0700</delta_ts>
            <desc>the patch with the api</desc>
            <filename>0001-Add-an-API-to-generate-a-QUrl-out-of-a-string-correc.patch</filename>
            <type>text/plain</type>
            <size>14032</size>
            <attacher name="Benjamin Meyer">ben</attacher>
            
              <data encoding="base64">RnJvbSA0ZTAxYTcxNDg1MjM2YTZmNzQ1ZmUwMWZmMTEwY2FkY2E0MWQyYjI3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCZW5qYW1pbiBDIE1leWVyIDxiZW5qYW1pbi5tZXllckB0b3Jj
aG1vYmlsZS5jb20+CkRhdGU6IEZyaSwgOCBNYXkgMjAwOSAxMzowMDoyMCAtMDQwMApTdWJqZWN0
OiBbUEFUQ0hdIEFkZCBhbiBBUEkgdG8gZ2VuZXJhdGUgYSBRVXJsIG91dCBvZiBhIHN0cmluZyBj
b3JyZWN0aW5nIGZvciBlcnJvcnMgYW5kIG1pc3NpbmcgaW5mb3JtYXRpb24uCiBTZWUgdGhlIEFQ
SSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGZ1bmN0aW9uLgoKQXV0
b3Rlc3RzOiBpbmNsdWRlZAotLS0KIFdlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwICAgICAgICAg
ICAgICAgIHwgICA3MSArKysrKysrKysrKysrKysrLQogV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5o
ICAgICAgICAgICAgICAgICAgfCAgICAyICsKIFdlYktpdC9xdC9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAyNiArKysrKysKIFdlYktpdC9xdC9RdExhdW5jaGVyL21haW4uY3Bw
ICAgICAgICAgICAgIHwgICA0MyArKy0tLS0tLS0tCiBXZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcv
LmdpdGlnbm9yZSAgICAgICB8ICAgIDEgKwogV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3F3ZWJ2
aWV3LnBybyAgICAgfCAgICA2ICsrCiBXZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcvdHN0X3F3ZWJ2
aWV3LmNwcCB8ICAxMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIFdlYktpdC9xdC90
ZXN0cy90ZXN0cy5wcm8gICAgICAgICAgICAgICAgIHwgICAgMiArLQogOCBmaWxlcyBjaGFuZ2Vk
LCAyNDAgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg
V2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3Ly5naXRpZ25vcmUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBX
ZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcvcXdlYnZpZXcucHJvCiBjcmVhdGUgbW9kZSAxMDA2NDQg
V2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3RzdF9xd2Vidmlldy5jcHAKCmRpZmYgLS1naXQgYS9X
ZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCmlu
ZGV4IGZjMmY2OTYuLmIzZmVhOGQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcu
Y3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCkBAIC0yNyw2ICsyNyw4IEBACiAj
aW5jbHVkZSAicWV2ZW50LmgiCiAjaW5jbHVkZSAicXBhaW50ZXIuaCIKICNpbmNsdWRlICJxcHJp
bnRlci5oIgorI2luY2x1ZGUgInFkaXIuaCIKKyNpbmNsdWRlICJxZmlsZS5oIgogCiBjbGFzcyBR
V2ViVmlld1ByaXZhdGUKIHsKQEAgLTI0NSwxMSArMjQ3LDc4IEBAIHZvaWQgUVdlYlZpZXc6OnNl
dFBhZ2UoUVdlYlBhZ2UgKnBhZ2UpCiB9CiAKIC8qIQorICAgIFJldHVybnMgYSB2YWxpZCBVUkwg
ZnJvbSBhIHVzZXIgc3VwcGxpZWQgc3RyaW5nIGlmIG9uZSBjYW4gYmUgZGVkdWN0ZWQuCisgICAg
SW4gdGhlIGNhc2UgdGhhdCBpcyBub3QgcG9zc2libGUsIGFuIGludmFsaWQgUVVybCgpIGlzIHJl
dHVybmVkLgorCisgICAgXHNpbmNlIDQuNgorCisgICAgTW9zdCBhcHBsaWNhdGlvbnMgdGhhdCBj
YW4gYnJvd3NlIHRoZSB3ZWIsIGFsbG93IHRoZSB1c2VyIHRvIGlucHV0IGEgVVJMCisgICAgaW4g
dGhlIGZvcm0gb2YgYSBwbGFpbiBzdHJpbmcuIFRoaXMgc3RyaW5nIGNhbiBiZSBtYW51YWxseSB0
eXBlZCBpbnRvCisgICAgYSBsb2NhdGlvbiBiYXIsIG9idGFpbmVkIGZyb20gdGhlIGNsaXBib2Fy
ZCwgb3IgcGFzc2VkIGluIHZpYSBjb21tYW5kCisgICAgbGluZSBhcmd1bWVudHMuCisKKyAgICBX
aGVuIHRoZSBzdHJpbmcgaXMgbm90IGFscmVhZHkgYSB2YWxpZCBVUkwsIGEgYmVzdCBndWVzcyBp
cyBwZXJmb3JtZWQsCisgICAgbWFraW5nIHZhcmlvdXMgd2ViIHJlbGF0ZWQgYXNzdW1wdGlvbnMu
CisKKyAgICBJbiB0aGUgY2FzZSB0aGUgc3RyaW5nIGNvcnJlc3BvbmRzIHRvIGEgdmFsaWQgZmls
ZSBwYXRoIG9uIHRoZSBzeXN0ZW0sCisgICAgYSBmaWxlOi8vIFVSTCBpcyBjb25zdHJ1Y3RlZCwg
dXNpbmcgUVVybDo6ZnJvbUxvY2FsRmlsZSgpLgorCisgICAgSWYgdGhhdCBpcyBub3QgdGhlIGNh
c2UsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIHRoZSBzdHJpbmcgaW50byBhCisgICAgaHR0
cDovLyBvciBmdHA6Ly8gVVJMLiBUaGUgbGF0dGVyIGluIHRoZSBjYXNlIHRoZSBzdHJpbmcgc3Rh
cnRzIHdpdGgKKyAgICAnZnRwJy4gVGhlIHJlc3VsdCBpcyB0aGVuIHBhc3NlZCB0aHJvdWdoIFFV
cmwncyB0b2xlcmFudCBwYXJzZXIsIGFuZAorICAgIGluIHRoZSBjYXNlIG9yIHN1Y2Nlc3MsIGEg
dmFsaWQgUVVybCBpcyByZXR1cm5lZCwgb3JlbHNlIGEgUVVybCgpLgorCisgICAgRXhhbXBsZXMK
KyAgICAtIHdlYmtpdC5vcmcgYmVjb21lcyBodHRwOi8vd2Via2l0Lm9yZworICAgIC0gZnRwLndl
YmtpdC5vcmcgYmVjb21lcyBmdHA6Ly9mdHAud2Via2l0Lm9yZworICAgIC0gbG9jYWxob3N0IGJl
Y29tZXMgaHR0cDovL2xvY2FsaG9zdAorICAgIC0gL2hvbWUvdXNlci90ZXN0Lmh0bWwgYmVjb21l
cyBmaWxlOi8vL2hvbWUvdXNlci90ZXN0Lmh0bWwgKGlmIGV4aXN0cykKKworICAgIFRpcHMgd2hl
biBkZWFsaW5nIHdpdGggVVJMcyBhbmQgc3RyaW5ncworICAgIC0gV2hlbiBjcmVhdGluZyBhIFFT
dHJpbmcgZnJvbSBhIFFCeXRlQXJyYXkgb3IgYSBjaGFyKiwgYWx3YXlzIHVzZQorICAgICAgUVN0
cmluZzo6ZnJvbVV0ZjgoKS4KKyAgICAtIERvIG5vdCB1c2UgUVVybChzdHJpbmcpLCBub3IgUVVy
bDo6dG9TdHJpbmcoKSBhbnl3aGVyZSB3aGVyZSB0aGUgVVJMIG1pZ2h0CisgICAgICBiZSB1c2Vk
LCBzdWNoIGFzIGluIHRoZSBsb2NhdGlvbiBiYXIsIGFzIHRob3NlIGZ1bmN0aW9ucyBsb29zZSBk
YXRhLgorICAgICAgSW5zdGVhZCB1c2UgUVVybDo6ZnJvbUVuY29kZWQoKSBhbmQgUVVybDo6dG9F
bmNvZGVkKCksIHJlc3BlY3RpdmVseS4KKworICovCitRVXJsIFFXZWJWaWV3OjpndWVzc1VybEZy
b21TdHJpbmcoY29uc3QgUVN0cmluZyAmc3RyaW5nKQoreworICAgIC8vIENoZWNrIHRoZSBtb3N0
IGNvbW1vbiBjYXNlIG9mIGEgdmFsaWQgdXJsIHdpdGggc2NoZW1lIGFuZCBob3N0IGZpcnN0Cisg
ICAgUVVybCB1cmwgPSBRVXJsOjpmcm9tRW5jb2RlZChzdHJpbmcudG9VdGY4KCksIFFVcmw6OlRv
bGVyYW50TW9kZSk7CisgICAgaWYgKHVybC5pc1ZhbGlkKCkgJiYgIXVybC5zY2hlbWUoKS5pc0Vt
cHR5KCkgJiYgIXVybC5ob3N0KCkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdXJsOworCisg
ICAgLy8gQWJzb2x1dGUgZmlsZXMgdGhhdCBleGlzdHMKKyAgICBpZiAoUURpcjo6aXNBYnNvbHV0
ZVBhdGgoc3RyaW5nKSAmJiBRRmlsZTo6ZXhpc3RzKHN0cmluZykpCisgICAgICAgIHJldHVybiBR
VXJsOjpmcm9tTG9jYWxGaWxlKHN0cmluZyk7CisKKyAgICAvLyBJZiB0aGUgc3RyaW5nIGlzIG1p
c3NpbmcgdGhlIHNjaGVtZSBvciB0aGUgc2NoZW1lIGlzIG5vdCB2YWxpZCBwcmVwZW5kIGEgc2No
ZW1lCisgICAgUVN0cmluZyBzY2hlbWUgPSB1cmwuc2NoZW1lKCk7CisgICAgaWYgKHNjaGVtZS5p
c0VtcHR5KCkgfHwgc2NoZW1lLmNvbnRhaW5zKCcuJykgfHwgc2NoZW1lID09IFFMYXRpbjFTdHJp
bmcoImxvY2FsaG9zdCIpKSB7CisgICAgICAgIFFTdHJpbmcgdXJsU3RyaW5nID0gc3RyaW5nLnRy
aW1tZWQoKTsKKyAgICAgICAgLy8gRG8gbm90IGRvIGFueXRoaW5nIGZvciBzdHJpbmdzIHN1Y2gg
YXMgImZvbyIsIG9ubHkgImZvby5jb20iCisgICAgICAgIGludCBkb3RJbmRleCA9IHVybFN0cmlu
Zy5pbmRleE9mKFFMYXRpbjFDaGFyKCcuJykpOworICAgICAgICBpZiAoZG90SW5kZXggIT0gLTEg
fHwgdXJsU3RyaW5nLnN0YXJ0c1dpdGgoUUxhdGluMVN0cmluZygibG9jYWxob3N0IikpKSB7Cisg
ICAgICAgICAgICBjb25zdCBRU3RyaW5nIGhvc3RzY2hlbWUgPSB1cmxTdHJpbmcubGVmdChkb3RJ
bmRleCkudG9Mb3dlcigpOworICAgICAgICAgICAgUUJ5dGVBcnJheSBzY2hlbWUgPSAoaG9zdHNj
aGVtZSA9PSBRTGF0aW4xU3RyaW5nKCJmdHAiKSkgPyAiZnRwIiA6ICJodHRwIjsKKyAgICAgICAg
ICAgIHVybFN0cmluZyA9IFFMYXRpbjFTdHJpbmcoc2NoZW1lKSArIFFMYXRpbjFTdHJpbmcoIjov
LyIpICsgdXJsU3RyaW5nOworICAgICAgICB9CisgICAgICAgIHVybCA9IFFVcmw6OmZyb21FbmNv
ZGVkKHVybFN0cmluZy50b1V0ZjgoKSwgUVVybDo6VG9sZXJhbnRNb2RlKTsKKyAgICB9CisKKyAg
ICBpZiAodXJsLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIHVybDsKKworICAgIHJldHVybiBR
VXJsKCk7Cit9CisKKy8qIQogICAgIExvYWRzIHRoZSBzcGVjaWZpZWQgXGEgdXJsIGFuZCBkaXNw
bGF5cyBpdC4KIAogICAgIFxub3RlIFRoZSB2aWV3IHJlbWFpbnMgdGhlIHNhbWUgdW50aWwgZW5v
dWdoIGRhdGEgaGFzIGFycml2ZWQgdG8gZGlzcGxheSB0aGUgbmV3IFxhIHVybC4KIAotICAgIFxz
YSBzZXRVcmwoKSwgdXJsKCksIHVybENoYW5nZWQoKQorICAgIFxzYSBzZXRVcmwoKSwgdXJsKCks
IHVybENoYW5nZWQoKSwgZ3Vlc3NVcmxGcm9tU3RyaW5nKCkKICovCiB2b2lkIFFXZWJWaWV3Ojps
b2FkKGNvbnN0IFFVcmwgJnVybCkKIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnZp
ZXcuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuaAppbmRleCAxMTcyZjM5Li4xM2VkNzhkIDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmgKKysrIGIvV2ViS2l0L3F0L0FwaS9x
d2Vidmlldy5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoKICAgICBRV2ViUGFnZSAqcGFnZSgp
IGNvbnN0OwogICAgIHZvaWQgc2V0UGFnZShRV2ViUGFnZSAqcGFnZSk7CiAKKyAgICBzdGF0aWMg
UVVybCBndWVzc1VybEZyb21TdHJpbmcoY29uc3QgUVN0cmluZyAmc3RyaW5nKTsKKwogICAgIHZv
aWQgbG9hZChjb25zdCBRVXJsICZ1cmwpOwogI2lmIFFUX1ZFUlNJT04gPCAweDA0MDQwMCAmJiAh
ZGVmaW5lZChxZG9jKQogICAgIHZvaWQgbG9hZChjb25zdCBRV2ViTmV0d29ya1JlcXVlc3QgJnJl
cXVlc3QpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFu
Z2VMb2cKaW5kZXggMTE5MjNlZi4uYzNmOGE0NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5n
ZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMDktMDUt
MTUgIEJlbmphbWluIEMgTWV5ZXIgIDxiZW5qYW1pbi5tZXllckB0b3JjaG1vYmlsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFuIEFQ
SSB0byBnZW5lcmF0ZSBhIFFVcmwgb3V0IG9mIGEgc3RyaW5nIGNvcnJlY3RpbmcgZm9yIGVycm9y
cyBhbmQgbWlzc2luZyBpbmZvcm1hdGlvbi4KKyAgICAgICAgU2VlIHRoZSBBUEkgZG9jdW1lbnRh
dGlvbiBmb3IgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBmdW5jdGlvbi4KKyAgICAgICAgCisgICAg
ICAgIEF1dG90ZXN0czogaW5jbHVkZWQKKworICAgICAgICAqIEFwaS9xd2Vidmlldy5jcHA6Cisg
ICAgICAgIChRV2ViVmlldzo6Z3Vlc3NVcmxGcm9tU3RyaW5nKToKKyAgICAgICAgKiBBcGkvcXdl
YnZpZXcuaDoKKyAgICAgICAgKiBRdExhdW5jaGVyL21haW4uY3BwOgorICAgICAgICAoTWFpbldp
bmRvdzo6TWFpbldpbmRvdyk6CisgICAgICAgIChNYWluV2luZG93OjpjaGFuZ2VMb2NhdGlvbik6
CisgICAgICAgICogdGVzdHMvcXdlYnZpZXcvLmdpdGlnbm9yZTogQWRkZWQuCisgICAgICAgICog
dGVzdHMvcXdlYnZpZXcvcXdlYnZpZXcucHJvOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9xd2Vi
dmlldy90c3RfcXdlYnZpZXcuY3BwOiBBZGRlZC4KKyAgICAgICAgKHRzdF9RV2ViVmlldzo6aW5p
dFRlc3RDYXNlKToKKyAgICAgICAgKHRzdF9RV2ViVmlldzo6Y2xlYW51cFRlc3RDYXNlKToKKyAg
ICAgICAgKHRzdF9RV2ViVmlldzo6aW5pdCk6CisgICAgICAgICh0c3RfUVdlYlZpZXc6OmNsZWFu
dXApOgorICAgICAgICAodHN0X1FXZWJWaWV3OjpndWVzc1VybEZyb21TdHJpbmdfZGF0YSk6Cisg
ICAgICAgICh0c3RfUVdlYlZpZXc6Omd1ZXNzVXJsRnJvbVN0cmluZyk6CisgICAgICAgICogdGVz
dHMvdGVzdHMucHJvOgorCiAyMDA5LTA1LTE0ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAg
PGtlbm5ldGguY2hyaXN0aWFuc2VuQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQXJpeWEgSGlkYXlhdC4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9RdExhdW5jaGVyL21haW4u
Y3BwIGIvV2ViS2l0L3F0L1F0TGF1bmNoZXIvbWFpbi5jcHAKaW5kZXggYTlhYmFjMi4uMWNkZDFh
MiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1F0TGF1bmNoZXIvbWFpbi5jcHAKKysrIGIvV2ViS2l0
L3F0L1F0TGF1bmNoZXIvbWFpbi5jcHAKQEAgLTc3LDkgKzc3LDkgQEAgcHVibGljOgogCiAgICAg
ICAgIHNldHVwVUkoKTsKIAotICAgICAgICBRVXJsIHF1cmwgPSBndWVzc1VybEZyb21TdHJpbmco
dXJsKTsKKyAgICAgICAgUVVybCBxdXJsID0gdmlldy0+Z3Vlc3NVcmxGcm9tU3RyaW5nKHVybCk7
CiAgICAgICAgIGlmIChxdXJsLmlzVmFsaWQoKSkgewotICAgICAgICAgICAgdXJsRWRpdC0+c2V0
VGV4dChxdXJsLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgdXJsRWRpdC0+c2V0VGV4dChxdXJs
LnRvRW5jb2RlZCgpKTsKICAgICAgICAgICAgIHZpZXctPmxvYWQocXVybCk7CiAKICAgICAgICAg
ICAgIC8vIHRoZSB6b29tIHZhbHVlcyBhcmUgY2hvc2VuIHRvIGJlIGxpa2UgaW4gTW96aWxsYSBG
aXJlZm94IDMKQEAgLTEwMCw4ICsxMDAsMTEgQEAgcHVibGljOgogcHJvdGVjdGVkIHNsb3RzOgog
CiAgICAgdm9pZCBjaGFuZ2VMb2NhdGlvbigpIHsKLSAgICAgICAgUVVybCB1cmwgPSBndWVzc1Vy
bEZyb21TdHJpbmcodXJsRWRpdC0+dGV4dCgpKTsKLSAgICAgICAgdXJsRWRpdC0+c2V0VGV4dCh1
cmwudG9TdHJpbmcoKSk7CisgICAgICAgIFFTdHJpbmcgc3RyaW5nID0gdXJsRWRpdC0+dGV4dCgp
OworICAgICAgICBRVXJsIHVybCA9IHZpZXctPmd1ZXNzVXJsRnJvbVN0cmluZyhzdHJpbmcpOwor
ICAgICAgICBpZiAoIXVybC5pc1ZhbGlkKCkpCisgICAgICAgICAgICB1cmwgPSBRVXJsKCJodHRw
Oi8vIiArIHN0cmluZyArICIvIik7CisgICAgICAgIHVybEVkaXQtPnNldFRleHQodXJsLnRvRW5j
b2RlZCgpKTsKICAgICAgICAgdmlldy0+bG9hZCh1cmwpOwogICAgICAgICB2aWV3LT5zZXRGb2N1
cyhRdDo6T3RoZXJGb2N1c1JlYXNvbik7CiAgICAgfQpAQCAtMjkyLDM4ICsyOTUsNiBAQCBwcml2
YXRlOgogCiAgICAgfQogCi0gICAgUVVybCBndWVzc1VybEZyb21TdHJpbmcoY29uc3QgUVN0cmlu
ZyAmc3RyaW5nKSB7Ci0gICAgICAgIFFTdHJpbmcgdXJsU3RyID0gc3RyaW5nLnRyaW1tZWQoKTsK
LSAgICAgICAgUVJlZ0V4cCB0ZXN0KFFMYXRpbjFTdHJpbmcoIl5bYS16QS1aXStcXDouKiIpKTsK
LQotICAgICAgICAvLyBDaGVjayBpZiBpdCBsb29rcyBsaWtlIGEgcXVhbGlmaWVkIFVSTC4gVHJ5
IHBhcnNpbmcgaXQgYW5kIHNlZS4KLSAgICAgICAgYm9vbCBoYXNTY2hlbWEgPSB0ZXN0LmV4YWN0
TWF0Y2godXJsU3RyKTsKLSAgICAgICAgaWYgKGhhc1NjaGVtYSkgewotICAgICAgICAgICAgUVVy
bCB1cmwodXJsU3RyLCBRVXJsOjpUb2xlcmFudE1vZGUpOwotICAgICAgICAgICAgaWYgKHVybC5p
c1ZhbGlkKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHVybDsKLSAgICAgICAgfQotCi0gICAg
ICAgIC8vIE1pZ2h0IGJlIGEgZmlsZS4KLSAgICAgICAgaWYgKFFGaWxlOjpleGlzdHModXJsU3Ry
KSkKLSAgICAgICAgICAgIHJldHVybiBRVXJsOjpmcm9tTG9jYWxGaWxlKHVybFN0cik7Ci0KLSAg
ICAgICAgLy8gTWlnaHQgYmUgYSBzaG9ydHVybCAtIHRyeSB0byBkZXRlY3QgdGhlIHNjaGVtYS4K
LSAgICAgICAgaWYgKCFoYXNTY2hlbWEpIHsKLSAgICAgICAgICAgIGludCBkb3RJbmRleCA9IHVy
bFN0ci5pbmRleE9mKFFMYXRpbjFDaGFyKCcuJykpOwotICAgICAgICAgICAgaWYgKGRvdEluZGV4
ICE9IC0xKSB7Ci0gICAgICAgICAgICAgICAgUVN0cmluZyBwcmVmaXggPSB1cmxTdHIubGVmdChk
b3RJbmRleCkudG9Mb3dlcigpOwotICAgICAgICAgICAgICAgIFFTdHJpbmcgc2NoZW1hID0gKHBy
ZWZpeCA9PSBRTGF0aW4xU3RyaW5nKCJmdHAiKSkgPyBwcmVmaXggOiBRTGF0aW4xU3RyaW5nKCJo
dHRwIik7Ci0gICAgICAgICAgICAgICAgUVVybCB1cmwoc2NoZW1hICsgUUxhdGluMVN0cmluZygi
Oi8vIikgKyB1cmxTdHIsIFFVcmw6OlRvbGVyYW50TW9kZSk7Ci0gICAgICAgICAgICAgICAgaWYg
KHVybC5pc1ZhbGlkKCkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmw7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBGYWxsIGJhY2sgdG8gUVVybCdzIG93biB0
b2xlcmFudCBwYXJzZXIuCi0gICAgICAgIHJldHVybiBRVXJsKHN0cmluZywgUVVybDo6VG9sZXJh
bnRNb2RlKTsKLSAgICB9Ci0KICAgICBRV2ViVmlldyAqdmlldzsKICAgICBRTGluZUVkaXQgKnVy
bEVkaXQ7CiAgICAgUVByb2dyZXNzQmFyICpwcm9ncmVzczsKZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC90ZXN0cy9xd2Vidmlldy8uZ2l0aWdub3JlIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3Ly5n
aXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ0YWZlNgotLS0g
L2Rldi9udWxsCisrKyBiL1dlYktpdC9xdC90ZXN0cy9xd2Vidmlldy8uZ2l0aWdub3JlCkBAIC0w
LDAgKzEgQEAKK3F3ZWJ2aWV3CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcv
cXdlYnZpZXcucHJvIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3F3ZWJ2aWV3LnBybwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTljY2ZiCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3F3ZWJ2aWV3LnBybwpAQCAtMCwwICsxLDYgQEAK
K1RFTVBMQVRFID0gYXBwCitUQVJHRVQgPSB0c3RfcXdlYnZpZXcKK2luY2x1ZGUoLi4vLi4vLi4v
Li4vV2ViS2l0LnByaSkKK1NPVVJDRVMgICs9IHRzdF9xd2Vidmlldy5jcHAKK1FUICs9IHRlc3Rs
aWIgbmV0d29yaworUU1BS0VfUlBBVEhESVIgPSAkJE9VVFBVVF9ESVIvbGliICQkUU1BS0VfUlBB
VEhESVIKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC90ZXN0cy9xd2Vidmlldy90c3RfcXdlYnZpZXcu
Y3BwIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3RzdF9xd2Vidmlldy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTNhMjA5ZQotLS0gL2Rldi9udWxsCisrKyBiL1dl
YktpdC9xdC90ZXN0cy9xd2Vidmlldy90c3RfcXdlYnZpZXcuY3BwCkBAIC0wLDAgKzEsMTI3IEBA
CisvKgorICAgIENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLgorCisgICAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisKKyNpbmNs
dWRlIDxxdGVzdC5oPgorCisjaW5jbHVkZSA8cXdlYnZpZXcuaD4KKyNpbmNsdWRlIDxxd2VicGFn
ZS5oPgorI2luY2x1ZGUgPHFuZXR3b3JrcmVxdWVzdC5oPgorI2luY2x1ZGUgPHFkaXJpdGVyYXRv
ci5oPgorCitjbGFzcyB0c3RfUVdlYlZpZXcgOiBwdWJsaWMgUU9iamVjdAoreworICAgIFFfT0JK
RUNUCisKK3B1YmxpYyBzbG90czoKKyAgICB2b2lkIGluaXRUZXN0Q2FzZSgpOworICAgIHZvaWQg
Y2xlYW51cFRlc3RDYXNlKCk7CisgICAgdm9pZCBpbml0KCk7CisgICAgdm9pZCBjbGVhbnVwKCk7
CisKK3ByaXZhdGUgc2xvdHM6CisgICAgdm9pZCBndWVzc1VybEZyb21TdHJpbmdfZGF0YSgpOwor
ICAgIHZvaWQgZ3Vlc3NVcmxGcm9tU3RyaW5nKCk7Cit9OworCisvLyBUaGlzIHdpbGwgYmUgY2Fs
bGVkIGJlZm9yZSB0aGUgZmlyc3QgdGVzdCBmdW5jdGlvbiBpcyBleGVjdXRlZC4KKy8vIEl0IGlz
IG9ubHkgY2FsbGVkIG9uY2UuCit2b2lkIHRzdF9RV2ViVmlldzo6aW5pdFRlc3RDYXNlKCkKK3sK
K30KKworLy8gVGhpcyB3aWxsIGJlIGNhbGxlZCBhZnRlciB0aGUgbGFzdCB0ZXN0IGZ1bmN0aW9u
IGlzIGV4ZWN1dGVkLgorLy8gSXQgaXMgb25seSBjYWxsZWQgb25jZS4KK3ZvaWQgdHN0X1FXZWJW
aWV3OjpjbGVhbnVwVGVzdENhc2UoKQoreworfQorCisvLyBUaGlzIHdpbGwgYmUgY2FsbGVkIGJl
Zm9yZSBlYWNoIHRlc3QgZnVuY3Rpb24gaXMgZXhlY3V0ZWQuCit2b2lkIHRzdF9RV2ViVmlldzo6
aW5pdCgpCit7Cit9CisKKy8vIFRoaXMgd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgZXZlcnkgdGVzdCBm
dW5jdGlvbi4KK3ZvaWQgdHN0X1FXZWJWaWV3OjpjbGVhbnVwKCkKK3sKK30KKwordm9pZCB0c3Rf
UVdlYlZpZXc6Omd1ZXNzVXJsRnJvbVN0cmluZ19kYXRhKCkKK3sKKyAgICBRVGVzdDo6YWRkQ29s
dW1uPFFTdHJpbmc+KCJzdHJpbmciKTsKKyAgICBRVGVzdDo6YWRkQ29sdW1uPFFVcmw+KCJndWVz
c1VybEZyb21TdHJpbmciKTsKKworICAgIC8vIE51bGwKKyAgICBRVGVzdDo6bmV3Um93KCJudWxs
IikgPDwgUVN0cmluZygpIDw8IFFVcmwoKTsKKworICAgIC8vIEZpbGUKKyAgICBRRGlySXRlcmF0
b3IgaXQoUURpcjo6aG9tZVBhdGgoKSk7CisgICAgUVN0cmluZyBmaWxlU3RyaW5nOworICAgIGlu
dCBjID0gMDsKKyAgICB3aGlsZSAoaXQuaGFzTmV4dCgpKSB7CisgICAgICAgIGl0Lm5leHQoKTsK
KyAgICAgICAgUVRlc3Q6Om5ld1JvdyhRU3RyaW5nKCJmaWxlLSUxIikuYXJnKGMrKykudG9MYXRp
bjEoKSkgPDwgaXQuZmlsZVBhdGgoKSA8PCBRVXJsOjpmcm9tTG9jYWxGaWxlKGl0LmZpbGVQYXRo
KCkpOworICAgIH0KKworICAgIC8vIGJhc2ljIGxhdGluMQorICAgIFFUZXN0OjpuZXdSb3coInVu
aWNvZGUtMCIpIDw8IFFTdHJpbmc6OmZyb21VdGY4KCLDpS5jb20vIikgPDwgUVVybDo6ZnJvbUVu
Y29kZWQoUVN0cmluZzo6ZnJvbVV0ZjgoImh0dHA6Ly/DpS5jb20vIikudG9VdGY4KCksIFFVcmw6
OlRvbGVyYW50TW9kZSk7CisgICAgLy8gdW5pY29kZQorICAgIFFUZXN0OjpuZXdSb3coInVuaWNv
ZGUtMSIpIDw8IFFTdHJpbmc6OmZyb21VdGY4KCLOuy5jb20vIikgPDwgUVVybDo6ZnJvbUVuY29k
ZWQoUVN0cmluZzo6ZnJvbVV0ZjgoImh0dHA6Ly/Ouy5jb20vIikudG9VdGY4KCksIFFVcmw6OlRv
bGVyYW50TW9kZSk7CisKKyAgICAvLyBubyBzY2hlbWUKKyAgICBRVGVzdDo6bmV3Um93KCJhZGQg
c2NoZW1lLTAiKSA8PCAid2Via2l0Lm9yZyIgPDwgUVVybCgiaHR0cDovL3dlYmtpdC5vcmciKTsK
KyAgICBRVGVzdDo6bmV3Um93KCJhZGQgc2NoZW1lLTEiKSA8PCAid3d3LndlYmtpdC5vcmciIDw8
IFFVcmwoImh0dHA6Ly93d3cud2Via2l0Lm9yZyIpOworICAgIFFUZXN0OjpuZXdSb3coImFkZCBz
Y2hlbWUtMiIpIDw8ICJmdHAud2Via2l0Lm9yZyIgPDwgUVVybCgiZnRwOi8vZnRwLndlYmtpdC5v
cmciKTsKKyAgICBRVGVzdDo6bmV3Um93KCJhZGQgc2NoZW1lLTMiKSA8PCAid2Via2l0IiA8PCBR
VXJsKCJ3ZWJraXQiKTsKKworICAgIC8vIFFVcmwncyB0b2xlcmFudCBwYXJzZXIgc2hvdWxkIGFs
cmVhZHkgaGFuZGxlIHRoaXMKKyAgICBRVGVzdDo6bmV3Um93KCJub3QtZW5jb2RlZC0wIikgPDwg
Imh0dHA6Ly93ZWJraXQub3JnL3Rlc3QgcGFnZS5odG1sIiA8PCBRVXJsKCJodHRwOi8vd2Via2l0
Lm9yZy90ZXN0JTIwcGFnZS5odG1sIik7CisKKyAgICAvLyBNYWtlIHN1cmUgdGhlIDo4MCwgaS5l
LiBwb3J0IGRvZXNuJ3Qgc2NyZXcgYW55dGhpbmcgdXAKKyAgICBRVXJsIHBvcnRVcmwoImh0dHA6
Ly93ZWJraXQub3JnIik7CisgICAgcG9ydFVybC5zZXRQb3J0KDgwKTsKKyAgICBRVGVzdDo6bmV3
Um93KCJwb3J0LTAiKSA8PCAid2Via2l0Lm9yZzo4MCIgPDwgcG9ydFVybDsKKyAgICBRVGVzdDo6
bmV3Um93KCJwb3J0LTEiKSA8PCAiaHR0cDovL3dlYmtpdC5vcmc6ODAiIDw8IHBvcnRVcmw7CisK
KyAgICAvLyBtYWlsdG8gZG9lc24ndCBoYXZlIGEgOi8vLCBidXQgaXMgdmFsaWQKKyAgICBRVXJs
IG1haWx0bygiYmVuQG1leWVyaG9tZS5uZXQiKTsKKyAgICBtYWlsdG8uc2V0U2NoZW1lKCJtYWls
dG8iKTsKKyAgICBRVGVzdDo6bmV3Um93KCJtYWlsdG8iKSA8PCAibWFpbHRvOmJlbkBtZXllcmhv
bWUubmV0IiA8PCBtYWlsdG87CisKKyAgICAvLyBtaXNjCisgICAgUVRlc3Q6Om5ld1JvdygibWlz
Yy0wIikgPDwgImxvY2FsaG9zdCIgPDwgUVVybCgiaHR0cDovL2xvY2FsaG9zdCIpOworICAgIFFU
ZXN0OjpuZXdSb3coIm1pc2MtMCIpIDw8ICJsb2NhbGhvc3Q6ODAiIDw8IFFVcmwoImh0dHA6Ly9s
b2NhbGhvc3Q6ODAiKTsKKworICAgIC8vIEZZSTogVGhlIHNjaGVtZSBpbiB0aGUgcmVzdWx0aW5n
IHVybCB1c2VyCisgICAgUVVybCBhdXRoVXJsKCJ1c2VyOnBhc3NAZG9tYWluLmNvbSIpOworICAg
IFFUZXN0OjpuZXdSb3coIm1pc2MtMSIpIDw8ICJ1c2VyOnBhc3NAZG9tYWluLmNvbSIgPDwgYXV0
aFVybDsKK30KKworLy8gcHVibGljIHN0YXRpYyBRVXJsIGd1ZXNzVXJsRnJvbVN0cmluZyhRU3Ry
aW5nIGNvbnN0JiBzdHJpbmcpCit2b2lkIHRzdF9RV2ViVmlldzo6Z3Vlc3NVcmxGcm9tU3RyaW5n
KCkKK3sKKyAgICBRRkVUQ0goUVN0cmluZywgc3RyaW5nKTsKKyAgICBRRkVUQ0goUVVybCwgZ3Vl
c3NVcmxGcm9tU3RyaW5nKTsKKworICAgIFFVcmwgdXJsID0gUVdlYlZpZXc6Omd1ZXNzVXJsRnJv
bVN0cmluZyhzdHJpbmcpOworICAgIFFDT01QQVJFKHVybCwgZ3Vlc3NVcmxGcm9tU3RyaW5nKTsK
K30KKworUVRFU1RfTUFJTih0c3RfUVdlYlZpZXcpCisjaW5jbHVkZSAidHN0X3F3ZWJ2aWV3Lm1v
YyIKKwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3Rlc3RzLnBybyBiL1dlYktpdC9xdC90
ZXN0cy90ZXN0cy5wcm8KaW5kZXggY2UzMWVmYy4uOTFmZDRkYiAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L3Rlc3RzL3Rlc3RzLnBybworKysgYi9XZWJLaXQvcXQvdGVzdHMvdGVzdHMucHJvCkBAIC0x
LDMgKzEsMyBAQAogCiBURU1QTEFURSA9IHN1YmRpcnMKLVNVQkRJUlMgPSBxd2ViZnJhbWUgcXdl
YnBhZ2UgcXdlYmVsZW1lbnQgcXdlYmhpc3RvcnlpbnRlcmZhY2UKK1NVQkRJUlMgPSBxd2ViZnJh
bWUgcXdlYnBhZ2UgcXdlYnZpZXcgcXdlYmVsZW1lbnQgcXdlYmhpc3RvcnlpbnRlcmZhY2UKLS0g
CjEuNi4wLjQKCg==
</data>
<flag name="review"
          id="15316"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>