<?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>99021</bug_id>
          
          <creation_ts>2012-10-11 04:17:08 -0700</creation_ts>
          <short_desc>[EFL][WK2] Add support for JavaScript popup boxes to MiniBrowser</short_desc>
          <delta_ts>2012-10-11 21:48:59 -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 EFL</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>
          <dependson>98748</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>bw80.lee</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>739801</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-11 04:17:08 -0700</bug_when>
    <thetext>MiniBrowser does not currently support JavaScript alert / confirm / prompt popups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739818</commentid>
    <comment_count>1</comment_count>
      <attachid>168194</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-11 04:51:57 -0700</bug_when>
    <thetext>Created attachment 168194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739829</commentid>
    <comment_count>2</comment_count>
      <attachid>168194</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-11 05:10:06 -0700</bug_when>
    <thetext>Comment on attachment 168194
Patch

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

There is a same bug (bug 96616)

&gt; Tools/MiniBrowser/efl/main.c:430
&gt; +    ecore_main_loop_begin();

Is it ok to use the nested run loop?
As I know, EFL recommends not to use the nested run loop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739830</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-11 05:13:45 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 168194 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168194&amp;action=review
&gt; 
&gt; There is a same bug (bug 96616)

Sorry, I did not notice.

&gt; &gt; Tools/MiniBrowser/efl/main.c:430
&gt; &gt; +    ecore_main_loop_begin();
&gt; 
&gt; Is it ok to use the nested run loop?
&gt; As I know, EFL recommends not to use the nested run loop.

Well, it works. I&apos;ve tested everything with:
http://www.w3schools.com/js/js_popup.asp

FYI, we already use this for the Web Inspector:
Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp-    // Because it can&apos;t complete loading inspector.html before loading testURL.
Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp-    Evas_Object* inspectorView = ewk_view_web_inspector_view_get(mainView());
Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp-    if (inspectorView)
Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:        ecore_main_loop_begin();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739839</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-11 05:27:16 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 168194 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168194&amp;action=review
&gt; 
&gt; There is a same bug (bug 96616)
&gt; 
&gt; &gt; Tools/MiniBrowser/efl/main.c:430
&gt; &gt; +    ecore_main_loop_begin();
&gt; 
&gt; Is it ok to use the nested run loop?
&gt; As I know, EFL recommends not to use the nested run loop.

I believe that this case is special. Those JS dialogs are meant to suspend the JS execution until the dialog is closed and this is exactly what my call to ecore_main_loop_begin() does.

I personally don&apos;t know of any other way to achieve this. Waiting for a condition to become true and calling ecore_main_loop_iterate() is not an acceptable solution here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739847</commentid>
    <comment_count>5</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-11 05:43:21 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 168194 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168194&amp;action=review
&gt; &gt; 
&gt; &gt; There is a same bug (bug 96616)
&gt; &gt; 
&gt; &gt; &gt; Tools/MiniBrowser/efl/main.c:430
&gt; &gt; &gt; +    ecore_main_loop_begin();
&gt; &gt; 
&gt; &gt; Is it ok to use the nested run loop?
&gt; &gt; As I know, EFL recommends not to use the nested run loop.
&gt; 
&gt; I believe that this case is special. Those JS dialogs are meant to suspend the JS execution until the dialog is closed and this is exactly what my call to ecore_main_loop_begin() does.
&gt; 
&gt; I personally don&apos;t know of any other way to achieve this. Waiting for a condition to become true and calling ecore_main_loop_iterate() is not an acceptable solution here.

Yes, ecore_main_loop_iterate() will make busy loop, so it is not acceptable.
So as you told, ecore_main_loop_begin() might be a solution.

But I&apos;m worrying about some side effect with the nested main loop. (especially related with some timing issue related with timer or pipe)

Can you guarantee that there will be no issues?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739871</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-11 06:01:48 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; (From update of attachment 168194 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168194&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; There is a same bug (bug 96616)
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Tools/MiniBrowser/efl/main.c:430
&gt; &gt; &gt; &gt; +    ecore_main_loop_begin();
&gt; &gt; &gt; 
&gt; &gt; &gt; Is it ok to use the nested run loop?
&gt; &gt; &gt; As I know, EFL recommends not to use the nested run loop.
&gt; &gt; 
&gt; &gt; I believe that this case is special. Those JS dialogs are meant to suspend the JS execution until the dialog is closed and this is exactly what my call to ecore_main_loop_begin() does.
&gt; &gt; 
&gt; &gt; I personally don&apos;t know of any other way to achieve this. Waiting for a condition to become true and calling ecore_main_loop_iterate() is not an acceptable solution here.
&gt; 
&gt; Yes, ecore_main_loop_iterate() will make busy loop, so it is not acceptable.
&gt; So as you told, ecore_main_loop_begin() might be a solution.
&gt; 
&gt; But I&apos;m worrying about some side effect with the nested main loop. (especially related with some timing issue related with timer or pipe)
&gt; 
&gt; Can you guarantee that there will be no issues?

If this is the only way to do it, I don&apos;t think we have a choice.
All I can test is that my testing did not show any issue.

And as I said before, this is already used by Web Inspector code in DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739951</commentid>
    <comment_count>7</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-11 07:24:50 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; &gt; (From update of attachment 168194 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168194&amp;action=review
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; There is a same bug (bug 96616)
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Tools/MiniBrowser/efl/main.c:430
&gt; &gt; &gt; &gt; &gt; +    ecore_main_loop_begin();
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Is it ok to use the nested run loop?
&gt; &gt; &gt; &gt; As I know, EFL recommends not to use the nested run loop.
&gt; &gt; &gt; 
&gt; &gt; &gt; I believe that this case is special. Those JS dialogs are meant to suspend the JS execution until the dialog is closed and this is exactly what my call to ecore_main_loop_begin() does.
&gt; &gt; &gt; 
&gt; &gt; &gt; I personally don&apos;t know of any other way to achieve this. Waiting for a condition to become true and calling ecore_main_loop_iterate() is not an acceptable solution here.
&gt; &gt; 
&gt; &gt; Yes, ecore_main_loop_iterate() will make busy loop, so it is not acceptable.
&gt; &gt; So as you told, ecore_main_loop_begin() might be a solution.
&gt; &gt; 
&gt; &gt; But I&apos;m worrying about some side effect with the nested main loop. (especially related with some timing issue related with timer or pipe)
&gt; &gt; 
&gt; &gt; Can you guarantee that there will be no issues?
&gt; 
&gt; If this is the only way to do it, I don&apos;t think we have a choice.
&gt; All I can test is that my testing did not show any issue.
&gt; 
&gt; And as I said before, this is already used by Web Inspector code in DRT.

I made a bug for one issue about the nested loop and elm_popup. (bug 99067)

Actually, I have been preparing some patches or discussions about javascript popup on efl.

How about waiting to apply the javascript popup to mini browser until it is prepared?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739986</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-11 08:10:36 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; &gt; &gt; (From update of attachment 168194 [details] [details] [details] [details] [details])
&gt; &gt; &gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168194&amp;action=review
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; There is a same bug (bug 96616)
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Tools/MiniBrowser/efl/main.c:430
&gt; &gt; &gt; &gt; &gt; &gt; +    ecore_main_loop_begin();
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Is it ok to use the nested run loop?
&gt; &gt; &gt; &gt; &gt; As I know, EFL recommends not to use the nested run loop.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I believe that this case is special. Those JS dialogs are meant to suspend the JS execution until the dialog is closed and this is exactly what my call to ecore_main_loop_begin() does.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I personally don&apos;t know of any other way to achieve this. Waiting for a condition to become true and calling ecore_main_loop_iterate() is not an acceptable solution here.
&gt; &gt; &gt; 
&gt; &gt; &gt; Yes, ecore_main_loop_iterate() will make busy loop, so it is not acceptable.
&gt; &gt; &gt; So as you told, ecore_main_loop_begin() might be a solution.
&gt; &gt; &gt; 
&gt; &gt; &gt; But I&apos;m worrying about some side effect with the nested main loop. (especially related with some timing issue related with timer or pipe)
&gt; &gt; &gt; 
&gt; &gt; &gt; Can you guarantee that there will be no issues?
&gt; &gt; 
&gt; &gt; If this is the only way to do it, I don&apos;t think we have a choice.
&gt; &gt; All I can test is that my testing did not show any issue.
&gt; &gt; 
&gt; &gt; And as I said before, this is already used by Web Inspector code in DRT.
&gt; 
&gt; I made a bug for one issue about the nested loop and elm_popup. (bug 99067)
&gt; 
&gt; Actually, I have been preparing some patches or discussions about javascript popup on efl.
&gt; 
&gt; How about waiting to apply the javascript popup to mini browser until it is prepared?

I need this patch landed as soon as possible as we have people waiting on it. Moreover the current patch works. You can always improve later if needed.

Please do not add dependencies to my bugs without discussing it first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739987</commentid>
    <comment_count>9</comment_count>
      <attachid>168194</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-11 08:14:18 -0700</bug_when>
    <thetext>Comment on attachment 168194
Patch

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

&gt; Tools/ChangeLog:3
&gt; +        [EFL][WK2] Add support for Javascript popup boxes to MiniBrowser

JavaScript ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739992</commentid>
    <comment_count>10</comment_count>
      <attachid>168194</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-11 08:25:05 -0700</bug_when>
    <thetext>Comment on attachment 168194
Patch

Clearing flags on attachment: 168194

Committed r131064: &lt;http://trac.webkit.org/changeset/131064&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739993</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-11 08:25:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740284</commentid>
    <comment_count>12</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-11 14:55:40 -0700</bug_when>
    <thetext>&gt; I need this patch landed as soon as possible as we have people waiting on it. Moreover the current patch works. You can always improve later if needed.

Actually, I heard and observed some problems(like pipe broken or some strange crash) about using the nested main loop with webkit on efl.

MiniBrowser source can be a reference code, so I thought that to share or discuss about the issue before landing will be better.

But as you told, I have not observed such an issue with this patch.

Anyway, this is already landed :)
(There might be some urgent issue on your side)

&gt; Please do not add dependencies to my bugs without discussing it first.

I didn&apos;t consider that adding dependencies to some other one&apos;s bug can make him unpleasant. I&apos;m sorry if you feel bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740609</commentid>
    <comment_count>13</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-11 21:48:59 -0700</bug_when>
    <thetext>*** Bug 96616 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168194</attachid>
            <date>2012-10-11 04:51:57 -0700</date>
            <delta_ts>2012-10-11 08:25:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>99021_js_popups.patch</filename>
            <type>text/plain</type>
            <size>8553</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxMTRk
YjRkLi4yYWYzNzM0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMTAtMTEgIENocmlzdG9waGUgRHVtZXogIDxj
aHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFkZCBzdXBw
b3J0IGZvciBKYXZhc2NyaXB0IHBvcHVwIGJveGVzIHRvIE1pbmlCcm93c2VyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTAyMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBKYXZh
U2NyaXB0IHBvcHVwcyAoYWxlcnQsIGNvbmZpcm0sIHByb21wdCkKKyAgICAgICAgdG8gTWluaUJy
b3dzZXIuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvbWFpbi5jOgorICAgICAgICAobWlu
aUJyb3dzZXJWaWV3U21hcnRDbGFzcyk6CisgICAgICAgIChicm93c2VyX3ZpZXdfZmluZCk6Cisg
ICAgICAgIChxdWl0X2V2ZW50X2xvb3ApOgorICAgICAgICAob25fb2tfY2xpY2tlZCk6CisgICAg
ICAgIChvbl9qYXZhc2NyaXB0X2FsZXJ0KToKKyAgICAgICAgKG9uX2phdmFzY3JpcHRfY29uZmly
bSk6CisgICAgICAgIChvbl9qYXZhc2NyaXB0X3Byb21wdCk6CisgICAgICAgICh3aW5kb3dfY3Jl
YXRlKToKKyAgICAgICAgKGVsbV9tYWluKToKKwogMjAxMi0xMC0xMCAgTHVjYXMgRm9yc2NobGVy
ICA8bGZvcnNjaGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEFwcGxlIE1hYyBTbm93
IExlb3BhcmQgYm90cy4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMg
Yi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCmluZGV4IDFjODdhYjkuLjQxYjBlYmEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKKysrIGIvVG9vbHMvTWluaUJy
b3dzZXIvZWZsL21haW4uYwpAQCAtNDMsNiArNDMsMTIgQEAgc3RhdGljIEVpbmFfTGlzdCAqd2lu
ZG93cyA9IE5VTEw7CiBzdGF0aWMgY2hhciAqZXZhc19lbmdpbmVfbmFtZSA9IE5VTEw7CiBzdGF0
aWMgRWluYV9Cb29sIGZyYW1lX2ZsYXR0ZW5pbmdfZW5hYmxlZCA9IEVJTkFfRkFMU0U7CiAKK3N0
YXRpYyBFd2tfVmlld19TbWFydF9DbGFzcyogbWluaUJyb3dzZXJWaWV3U21hcnRDbGFzcygpCit7
CisgICAgc3RhdGljIEV3a19WaWV3X1NtYXJ0X0NsYXNzIGV3a1ZpZXdDbGFzcyA9IEVXS19WSUVX
X1NNQVJUX0NMQVNTX0lOSVRfTkFNRV9WRVJTSU9OKCJNaW5pQnJvd3Nlcl9WaWV3Iik7CisgICAg
cmV0dXJuICZld2tWaWV3Q2xhc3M7Cit9CisKIHR5cGVkZWYgc3RydWN0IF9Ccm93c2VyX1dpbmRv
dyB7CiAgICAgRXZhc19PYmplY3QgKndpbmRvdzsKICAgICBFdmFzX09iamVjdCAqd2VidmlldzsK
QEAgLTk0LDYgKzEwMCwyMiBAQCBzdGF0aWMgQnJvd3Nlcl9XaW5kb3cgKmJyb3dzZXJfd2luZG93
X2ZpbmQoRXZhc19PYmplY3QgKndpbmRvdykKICAgICByZXR1cm4gTlVMTDsKIH0KIAorc3RhdGlj
IEJyb3dzZXJfV2luZG93ICpicm93c2VyX3ZpZXdfZmluZChFdmFzX09iamVjdCAqdmlldykKK3sK
KyAgICBFaW5hX0xpc3QgKmw7CisgICAgdm9pZCAqZGF0YTsKKworICAgIGlmICghdmlldykKKyAg
ICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBFSU5BX0xJU1RfRk9SRUFDSCh3aW5kb3dzLCBsLCBk
YXRhKSB7CisgICAgICAgIEJyb3dzZXJfV2luZG93ICpicm93c2VyX3dpbmRvdyA9IChCcm93c2Vy
X1dpbmRvdyAqKWRhdGE7CisgICAgICAgIGlmIChicm93c2VyX3dpbmRvdy0+d2VidmlldyA9PSB2
aWV3KQorICAgICAgICAgICAgcmV0dXJuIGJyb3dzZXJfd2luZG93OworICAgIH0KKyAgICByZXR1
cm4gTlVMTDsKK30KKwogc3RhdGljIHZvaWQgd2luZG93X2ZyZWUoQnJvd3Nlcl9XaW5kb3cgKndp
bmRvdykKIHsKICAgICBldmFzX29iamVjdF9kZWwod2luZG93LT53ZWJ2aWV3KTsKQEAgLTM3Myw2
ICszOTUsMTMzIEBAIG9uX3JlZnJlc2hfYnV0dG9uX2NsaWNrZWQodm9pZCAqdXNlcl9kYXRhLCBF
dmFzX09iamVjdCAqcmVmcmVzaF9idXR0b24sIHZvaWQgKmV2CiB9CiAKIHN0YXRpYyB2b2lkCitx
dWl0X2V2ZW50X2xvb3Aodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqb2JqLCB2b2lkICpl
dmVudF9pbmZvKQoreworICAgIGVjb3JlX21haW5fbG9vcF9xdWl0KCk7Cit9CisKK3N0YXRpYyB2
b2lkCitvbl9va19jbGlja2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKm9iaiwgdm9p
ZCAqZXZlbnRfaW5mbykKK3sKKyAgICBFaW5hX0Jvb2wgKmNvbmZpcm1lZCA9IChFaW5hX0Jvb2wg
Kil1c2VyX2RhdGE7CisgICAgKmNvbmZpcm1lZCA9IEVJTkFfVFJVRTsKKworICAgIGVjb3JlX21h
aW5fbG9vcF9xdWl0KCk7Cit9CisKK3N0YXRpYyB2b2lkCitvbl9qYXZhc2NyaXB0X2FsZXJ0KEV3
a19WaWV3X1NtYXJ0X0RhdGEgKnNtYXJ0RGF0YSwgY29uc3QgY2hhciAqbWVzc2FnZSkKK3sKKyAg
ICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gYnJvd3Nlcl92aWV3X2ZpbmQoc21hcnREYXRhLT5z
ZWxmKTsKKworICAgIEV2YXNfT2JqZWN0ICphbGVydF9wb3B1cCA9IGVsbV9wb3B1cF9hZGQod2lu
ZG93LT53aW5kb3cpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KGFsZXJ0
X3BvcHVwLCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKyAgICBlbG1fb2Jq
ZWN0X3RleHRfc2V0KGFsZXJ0X3BvcHVwLCBtZXNzYWdlKTsKKyAgICBlbG1fb2JqZWN0X3BhcnRf
dGV4dF9zZXQoYWxlcnRfcG9wdXAsICJ0aXRsZSx0ZXh0IiwgIkFsZXJ0Iik7CisKKyAgICAvKiBQ
b3B1cCBidXR0b25zICovCisgICAgRXZhc19PYmplY3QgKmJ1dHRvbiA9IGVsbV9idXR0b25fYWRk
KGFsZXJ0X3BvcHVwKTsKKyAgICBlbG1fb2JqZWN0X3RleHRfc2V0KGJ1dHRvbiwgIk9LIik7Cisg
ICAgZWxtX29iamVjdF9wYXJ0X2NvbnRlbnRfc2V0KGFsZXJ0X3BvcHVwLCAiYnV0dG9uMSIsIGJ1
dHRvbik7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGJ1dHRvbiwgImNsaWNr
ZWQiLCBxdWl0X2V2ZW50X2xvb3AsIE5VTEwpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYWxlcnRf
cG9wdXApOworCisgICAgLyogTWFrZSBtb2RhbCAqLworICAgIGVjb3JlX21haW5fbG9vcF9iZWdp
bigpOworCisgICAgZXZhc19vYmplY3RfZGVsKGFsZXJ0X3BvcHVwKTsKK30KKworc3RhdGljIEVp
bmFfQm9vbAorb25famF2YXNjcmlwdF9jb25maXJtKEV3a19WaWV3X1NtYXJ0X0RhdGEgKnNtYXJ0
RGF0YSwgY29uc3QgY2hhciAqbWVzc2FnZSkKK3sKKyAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93
ID0gYnJvd3Nlcl92aWV3X2ZpbmQoc21hcnREYXRhLT5zZWxmKTsKKworICAgIEVpbmFfQm9vbCBv
ayA9IEVJTkFfRkFMU0U7CisKKyAgICBFdmFzX09iamVjdCAqY29uZmlybV9wb3B1cCA9IGVsbV9w
b3B1cF9hZGQod2luZG93LT53aW5kb3cpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWln
aHRfc2V0KGNvbmZpcm1fcG9wdXAsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQp
OworICAgIGVsbV9vYmplY3RfdGV4dF9zZXQoY29uZmlybV9wb3B1cCwgbWVzc2FnZSk7CisgICAg
ZWxtX29iamVjdF9wYXJ0X3RleHRfc2V0KGNvbmZpcm1fcG9wdXAsICJ0aXRsZSx0ZXh0IiwgIkNv
bmZpcm1hdGlvbiIpOworCisgICAgLyogUG9wdXAgYnV0dG9ucyAqLworICAgIEV2YXNfT2JqZWN0
ICpjYW5jZWxfYnV0dG9uID0gZWxtX2J1dHRvbl9hZGQoY29uZmlybV9wb3B1cCk7CisgICAgZWxt
X29iamVjdF90ZXh0X3NldChjYW5jZWxfYnV0dG9uLCAiQ2FuY2VsIik7CisgICAgZWxtX29iamVj
dF9wYXJ0X2NvbnRlbnRfc2V0KGNvbmZpcm1fcG9wdXAsICJidXR0b24xIiwgY2FuY2VsX2J1dHRv
bik7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGNhbmNlbF9idXR0b24sICJj
bGlja2VkIiwgcXVpdF9ldmVudF9sb29wLCBOVUxMKTsKKyAgICBFdmFzX09iamVjdCAqb2tfYnV0
dG9uID0gZWxtX2J1dHRvbl9hZGQoY29uZmlybV9wb3B1cCk7CisgICAgZWxtX29iamVjdF90ZXh0
X3NldChva19idXR0b24sICJPSyIpOworICAgIGVsbV9vYmplY3RfcGFydF9jb250ZW50X3NldChj
b25maXJtX3BvcHVwLCAiYnV0dG9uMiIsIG9rX2J1dHRvbik7CisgICAgZXZhc19vYmplY3Rfc21h
cnRfY2FsbGJhY2tfYWRkKG9rX2J1dHRvbiwgImNsaWNrZWQiLCBvbl9va19jbGlja2VkLCAmb2sp
OworICAgIGV2YXNfb2JqZWN0X3Nob3coY29uZmlybV9wb3B1cCk7CisKKyAgICAvKiBNYWtlIG1v
ZGFsICovCisgICAgZWNvcmVfbWFpbl9sb29wX2JlZ2luKCk7CisKKyAgICBldmFzX29iamVjdF9k
ZWwoY29uZmlybV9wb3B1cCk7CisKKyAgICByZXR1cm4gb2s7Cit9CisKK3N0YXRpYyBjb25zdCBj
aGFyICoKK29uX2phdmFzY3JpcHRfcHJvbXB0KEV3a19WaWV3X1NtYXJ0X0RhdGEgKnNtYXJ0RGF0
YSwgY29uc3QgY2hhciAqbWVzc2FnZSwgY29uc3QgY2hhciAqZGVmYXVsdF92YWx1ZSkKK3sKKyAg
ICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gYnJvd3Nlcl92aWV3X2ZpbmQoc21hcnREYXRhLT5z
ZWxmKTsKKworICAgIEVpbmFfQm9vbCBvayA9IEVJTkFfRkFMU0U7CisKKyAgICBFdmFzX09iamVj
dCAqcHJvbXB0X3BvcHVwID0gZWxtX3BvcHVwX2FkZCh3aW5kb3ctPndpbmRvdyk7CisgICAgZXZh
c19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQocHJvbXB0X3BvcHVwLCBFVkFTX0hJTlRfRVhQ
QU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKyAgICBlbG1fb2JqZWN0X3BhcnRfdGV4dF9zZXQocHJv
bXB0X3BvcHVwLCAidGl0bGUsdGV4dCIsICJQcm9tcHQiKTsKKworICAgIC8qIFBvcHVwIENvbnRl
bnQgKi8KKyAgICBFdmFzX09iamVjdCAqYm94ID0gZWxtX2JveF9hZGQod2luZG93LT53aW5kb3cp
OworICAgIGVsbV9ib3hfcGFkZGluZ19zZXQoYm94LCAwLCA0KTsKKyAgICBldmFzX29iamVjdF9z
aXplX2hpbnRfd2VpZ2h0X3NldChib3gsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBB
TkQpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF9hbGlnbl9zZXQoYm94LCBFVkFTX0hJTlRf
RklMTCwgRVZBU19ISU5UX0ZJTEwpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYm94KTsKKworICAg
IEV2YXNfT2JqZWN0ICpwcm9tcHQgPSBlbG1fbGFiZWxfYWRkKHdpbmRvdy0+d2luZG93KTsKKyAg
ICBlbG1fb2JqZWN0X3RleHRfc2V0KHByb21wdCwgbWVzc2FnZSk7CisgICAgZXZhc19vYmplY3Rf
c2l6ZV9oaW50X3dlaWdodF9zZXQocHJvbXB0LCBFVkFTX0hJTlRfRVhQQU5ELCAwLjApOworICAg
IGV2YXNfb2JqZWN0X3NpemVfaGludF9hbGlnbl9zZXQocHJvbXB0LCBFVkFTX0hJTlRfRklMTCwg
MC41KTsKKyAgICBlbG1fYm94X3BhY2tfZW5kKGJveCwgcHJvbXB0KTsKKyAgICBldmFzX29iamVj
dF9zaG93KHByb21wdCk7CisKKyAgICBFdmFzX09iamVjdCAqZW50cnkgPSBlbG1fZW50cnlfYWRk
KHdpbmRvdy0+d2luZG93KTsKKyAgICBlbG1fZW50cnlfc2Nyb2xsYWJsZV9zZXQoZW50cnksIEVJ
TkFfVFJVRSk7CisgICAgZWxtX2VudHJ5X3NpbmdsZV9saW5lX3NldChlbnRyeSwgRUlOQV9UUlVF
KTsKKyAgICBlbG1fZW50cnlfdGV4dF9zdHlsZV91c2VyX3B1c2goZW50cnksICJERUZBVUxUPSdm
b250X3NpemU9MTgnIik7CisgICAgZWxtX2VudHJ5X2VudHJ5X3NldChlbnRyeSwgZGVmYXVsdF92
YWx1ZSA/IGRlZmF1bHRfdmFsdWUgOiAiIik7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dl
aWdodF9zZXQoZW50cnksIEVWQVNfSElOVF9FWFBBTkQsIDAuMCk7CisgICAgZXZhc19vYmplY3Rf
c2l6ZV9oaW50X2FsaWduX3NldChlbnRyeSwgRVZBU19ISU5UX0ZJTEwsIDAuNSk7CisgICAgZWxt
X2JveF9wYWNrX2VuZChib3gsIGVudHJ5KTsKKyAgICBldmFzX29iamVjdF9zaG93KGVudHJ5KTsK
KworICAgIGVsbV9vYmplY3RfY29udGVudF9zZXQocHJvbXB0X3BvcHVwLCBib3gpOworCisgICAg
LyogUG9wdXAgYnV0dG9ucyAqLworICAgIEV2YXNfT2JqZWN0ICpjYW5jZWxfYnV0dG9uID0gZWxt
X2J1dHRvbl9hZGQocHJvbXB0X3BvcHVwKTsKKyAgICBlbG1fb2JqZWN0X3RleHRfc2V0KGNhbmNl
bF9idXR0b24sICJDYW5jZWwiKTsKKyAgICBlbG1fb2JqZWN0X3BhcnRfY29udGVudF9zZXQocHJv
bXB0X3BvcHVwLCAiYnV0dG9uMSIsIGNhbmNlbF9idXR0b24pOworICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2FkZChjYW5jZWxfYnV0dG9uLCAiY2xpY2tlZCIsIHF1aXRfZXZlbnRfbG9v
cCwgTlVMTCk7CisgICAgRXZhc19PYmplY3QgKm9rX2J1dHRvbiA9IGVsbV9idXR0b25fYWRkKHBy
b21wdF9wb3B1cCk7CisgICAgZWxtX29iamVjdF90ZXh0X3NldChva19idXR0b24sICJPSyIpOwor
ICAgIGVsbV9vYmplY3RfcGFydF9jb250ZW50X3NldChwcm9tcHRfcG9wdXAsICJidXR0b24yIiwg
b2tfYnV0dG9uKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQob2tfYnV0dG9u
LCAiY2xpY2tlZCIsIG9uX29rX2NsaWNrZWQsICZvayk7CisgICAgZXZhc19vYmplY3Rfc2hvdyhw
cm9tcHRfcG9wdXApOworCisgICAgLyogTWFrZSBtb2RhbCAqLworICAgIGVjb3JlX21haW5fbG9v
cF9iZWdpbigpOworCisgICAgLyogVGhlIHJldHVybiBzdHJpbmcgbmVlZCB0byBiZSBzdHJpbmdz
aGFyZWQgKi8KKyAgICBjb25zdCBjaGFyICpwcm9tcHRfdGV4dCA9IG9rID8gZWluYV9zdHJpbmdz
aGFyZV9hZGQoZWxtX2VudHJ5X2VudHJ5X2dldChlbnRyeSkpIDogTlVMTDsKKyAgICBldmFzX29i
amVjdF9kZWwocHJvbXB0X3BvcHVwKTsKKworICAgIHJldHVybiBwcm9tcHRfdGV4dDsKK30KKwor
c3RhdGljIHZvaWQKIG9uX2hvbWVfYnV0dG9uX2NsaWNrZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFz
X09iamVjdCAqaG9tZV9idXR0b24sIHZvaWQgKmV2ZW50X2luZm8pCiB7CiAgICAgQnJvd3Nlcl9X
aW5kb3cgKmFwcF9kYXRhID0gKEJyb3dzZXJfV2luZG93ICopdXNlcl9kYXRhOwpAQCAtNDg1LDgg
KzYzNCwxNCBAQCBzdGF0aWMgQnJvd3Nlcl9XaW5kb3cgKndpbmRvd19jcmVhdGUoY29uc3QgY2hh
ciAqdXJsKQogICAgIGV2YXNfb2JqZWN0X3Nob3coaG9tZV9idXR0b24pOwogCiAgICAgLyogQ3Jl
YXRlIHdlYnZpZXcgKi8KKyAgICBFd2tfVmlld19TbWFydF9DbGFzcyAqZXdrVmlld0NsYXNzID0g
bWluaUJyb3dzZXJWaWV3U21hcnRDbGFzcygpOworICAgIGV3a1ZpZXdDbGFzcy0+cnVuX2phdmFz
Y3JpcHRfYWxlcnQgPSBvbl9qYXZhc2NyaXB0X2FsZXJ0OworICAgIGV3a1ZpZXdDbGFzcy0+cnVu
X2phdmFzY3JpcHRfY29uZmlybSA9IG9uX2phdmFzY3JpcHRfY29uZmlybTsKKyAgICBld2tWaWV3
Q2xhc3MtPnJ1bl9qYXZhc2NyaXB0X3Byb21wdCA9IG9uX2phdmFzY3JpcHRfcHJvbXB0OworCiAg
ICAgRXZhcyAqZXZhcyA9IGV2YXNfb2JqZWN0X2V2YXNfZ2V0KGFwcF9kYXRhLT53aW5kb3cpOwot
ICAgIGFwcF9kYXRhLT53ZWJ2aWV3ID0gZXdrX3ZpZXdfYWRkKGV2YXMpOworICAgIEV2YXNfU21h
cnQgKnNtYXJ0ID0gZXZhc19zbWFydF9jbGFzc19uZXcoJmV3a1ZpZXdDbGFzcy0+c2MpOworICAg
IGFwcF9kYXRhLT53ZWJ2aWV3ID0gZXdrX3ZpZXdfc21hcnRfYWRkKGV2YXMsIHNtYXJ0LCBld2tf
Y29udGV4dF9kZWZhdWx0X2dldCgpKTsKICAgICBld2tfdmlld190aGVtZV9zZXQoYXBwX2RhdGEt
PndlYnZpZXcsIFRIRU1FX0RJUiAiL2RlZmF1bHQuZWRqIik7CiAKICAgICBFd2tfU2V0dGluZ3Mg
KnNldHRpbmdzID0gZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0KGFwcF9kYXRhLT53ZWJ2aWV3KTsKQEAg
LTUxNiw3ICs2NzEsNiBAQCBzdGF0aWMgQnJvd3Nlcl9XaW5kb3cgKndpbmRvd19jcmVhdGUoY29u
c3QgY2hhciAqdXJsKQogICAgICAgICBld2tfdmlld191cmxfc2V0KGFwcF9kYXRhLT53ZWJ2aWV3
LCB1cmwpOwogCiAgICAgZXZhc19vYmplY3RfcmVzaXplKGFwcF9kYXRhLT53aW5kb3csIERFRkFV
TFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUKTsKLSAgICBlbG1fd2luX2NlbnRlcihhcHBfZGF0YS0+
d2luZG93LCBFSU5BX1RSVUUsIEVJTkFfVFJVRSk7CiAgICAgZXZhc19vYmplY3Rfc2hvdyhhcHBf
ZGF0YS0+d2luZG93KTsKIAogICAgIHZpZXdfZm9jdXNfc2V0KGFwcF9kYXRhLCBFSU5BX1RSVUUp
OwpAQCAtNTQ0LDYgKzY5OCw4IEBAIGVsbV9tYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAg
ICAgaWYgKCFld2tfaW5pdCgpKQogICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwogCisgICAg
ZXdrX3ZpZXdfc21hcnRfY2xhc3Nfc2V0KG1pbmlCcm93c2VyVmlld1NtYXJ0Q2xhc3MoKSk7CisK
ICAgICBlY29yZV9hcHBfYXJnc19zZXQoYXJnYywgKGNvbnN0IGNoYXIgKiopIGFyZ3YpOwogICAg
IGFyZ3MgPSBlY29yZV9nZXRvcHRfcGFyc2UoJm9wdGlvbnMsIHZhbHVlcywgYXJnYywgYXJndik7
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>