<?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>26556</bug_id>
          
          <creation_ts>2009-06-19 12:25:03 -0700</creation_ts>
          <short_desc>[Qt] Crash when onunload shows a JavaScript alert message</short_desc>
          <delta_ts>2009-06-23 18:33:03 -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>All</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>1</everconfirmed>
          <reporter name="Yael">yael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hausmann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>126995</commentid>
    <comment_count>0</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2009-06-19 12:25:03 -0700</bug_when>
    <thetext>Loading the following content, and reloading it again causes a crash:

&lt;html&gt;
&lt;body  onunload=&quot;alert(&apos;goodbye&apos;);&quot;&gt;
test
&lt;/body&gt;
&lt;/html&gt;

The reason is that the QNetworkReply::finished signal is processed before the QNetworkReply::readyRead signal.
A patch will be added shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127004</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-06-19 12:51:40 -0700</bug_when>
    <thetext>When you finish the patch (I have already look at a preliminary one) please add a test. 

You could add the code snipped as a WebCore/manual-test/qt test, but instead of writing &quot;test&quot; write something along the lines of:

&quot;Reload me twice ensuring that this didn&apos;t result in a crash. Test added due to bug &lt;a &apos;href=&quot;https://bugs.webkit.org/show_bug.cgi?id=26556&apos;&gt;@25556&lt;/a&gt;&quot;
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127045</commentid>
    <comment_count>2</comment_count>
      <attachid>31565</attachid>
    <who name="Yael">yael</who>
    <bug_when>2009-06-19 14:49:18 -0700</bug_when>
    <thetext>Created attachment 31565
Process getting out of deferred mode asynchronously

With this patch, processing of getting out of deferred mode is processed asynchronously.
In the attached test case, onunload causes a JavaScript alert to show up, and the newly received data is not processed until getting out of deferred mode. We should not process the next signal in the queue, before finishing processing of the current one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127302</commentid>
    <comment_count>3</comment_count>
      <attachid>31565</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-06-22 00:10:09 -0700</bug_when>
    <thetext>Comment on attachment 31565
Process getting out of deferred mode asynchronously

Okay, looks sensible. Maybe we should rename m_should* to something like m_handle*Later?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127344</commentid>
    <comment_count>4</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2009-06-22 06:26:17 -0700</bug_when>
    <thetext>Landed in 44934.
I did not change the argument names because I did not want to mess-up the commit :-) We should revisit the naming again.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31565</attachid>
            <date>2009-06-19 14:49:18 -0700</date>
            <delta_ts>2009-06-22 00:10:09 -0700</delta_ts>
            <desc>Process getting out of deferred mode asynchronously</desc>
            <filename>deferred.patch</filename>
            <type>text/plain</type>
            <size>4981</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDg3MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMDYtMTkgIFlhZWwgQWhhcm9uIDx5YWVsLmFoYXJvbkBub2tp
YS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NTU2CisKKyAgICAgICAg
Rml4IGEgY3Jhc2ggaW4gY2FzZSB0aGF0IHRoZSBRTmV0d29ya1JlcGx5OjpyZWFkUmVhZHkgc2ln
bmFsIGlzCisgICAgICAgICJzdHVjayIgaW4gZGVmZXJyZWQgbW9kZSBkdWUgdG8gSmF2YVNjcmlw
dCBhbGVydCwgYW5kIGluIHRoZSBtZWFudGltZSwKKyAgICAgICAgUU5ldHdvcmtyZXBseTo6Zmlu
aXNoZWQgc2lnbmFsIGlzIHJlY2VpdmVkIGFuZCBwcm9jZXNzZWQgYmVmb3JlCisgICAgICAgIFFO
ZXR3b3JrUmVwbHk6OnJlYWRSZWFkeSBpcyBwcm9jZXNzZWQuCisKKyAgICAgICAgKiBtYW51YWwt
dGVzdHMvcXQvdW5sb2FkLWFsZXJ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UU5l
dHdvcmtSZXBseUhhbmRsZXI6OnNldExvYWRNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlFOZXR3
b3JrUmVwbHlIYW5kbGVyOjpmaW5pc2gpOgorICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBs
eUhhbmRsZXI6OnNlbmRSZXNwb25zZUlmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlFOZXR3
b3JrUmVwbHlIYW5kbGVyOjpmb3J3YXJkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29y
a1JlcGx5SGFuZGxlcjo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseUhh
bmRsZXI6OnNlbmRRdWV1ZWRJdGVtcyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9R
TmV0d29ya1JlcGx5SGFuZGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseUhh
bmRsZXI6Oik6CisKIDIwMDktMDYtMTkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAJKHJl
dmlzaW9uIDQ0ODUxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVw
bHlIYW5kbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYyLDkgKzE2MiwyMSBAQAogCiB2b2lk
IFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzZXRMb2FkTW9kZShMb2FkTW9kZSBtb2RlKQogewotICAg
IG1fbG9hZE1vZGUgPSBtb2RlOwotICAgIGlmIChtX2xvYWRNb2RlID09IExvYWROb3JtYWwpCi0g
ICAgICAgIHNlbmRRdWV1ZWRJdGVtcygpOworICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNjU1NgorICAgIC8vIFdlIGNhbm5vdCBjYWxsIHNlbmRRdWV1ZWRJ
dGVtcygpIGZyb20gaGVyZSwgYmVjYXVzZSB0aGUgc2lnbmFsIHRoYXQgCisgICAgLy8gY2F1c2Vk
IHVzIHRvIGdldCBpbnRvIGRlZmVycmVkIG1vZGUsIG1pZ2h0IG5vdCBiZSBwcm9jZXNzZWQgeWV0
LgorICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2UgTG9hZE5vcm1hbDoKKyAgICAgICAgbV9s
b2FkTW9kZSA9IExvYWRSZXN1bWluZzsKKyAgICAgICAgZW1pdCBwcm9jZXNzUXVldWVkSXRlbXMo
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBMb2FkRGVmZXJyZWQ6CisgICAgICAgIG1fbG9h
ZE1vZGUgPSBMb2FkRGVmZXJyZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTG9hZFJlc3Vt
aW5nOgorICAgICAgICBRX0FTU0VSVCgwKTsgLy8gc2hvdWxkIG5ldmVyIGhhcHBlbgorICAgICAg
ICBicmVhazsKKyAgICB9OwogfQogCiB2b2lkIFFOZXR3b3JrUmVwbHlIYW5kbGVyOjphYm9ydCgp
CkBAIC0xOTQsOCArMjA2LDggQEAKIAogdm9pZCBRTmV0d29ya1JlcGx5SGFuZGxlcjo6ZmluaXNo
KCkKIHsKLSAgICBtX3Nob3VsZEZpbmlzaCA9IChtX2xvYWRNb2RlID09IExvYWREZWZlcnJlZCk7
Ci0gICAgaWYgKG1fbG9hZE1vZGUgPT0gTG9hZERlZmVycmVkKQorICAgIG1fc2hvdWxkRmluaXNo
ID0gKG1fbG9hZE1vZGUgIT0gTG9hZE5vcm1hbCk7CisgICAgaWYgKG1fc2hvdWxkRmluaXNoKQog
ICAgICAgICByZXR1cm47CiAKICAgICBzZW5kUmVzcG9uc2VJZk5lZWRlZCgpOwpAQCAtMjMwLDgg
KzI0Miw4IEBACiAKIHZvaWQgUU5ldHdvcmtSZXBseUhhbmRsZXI6OnNlbmRSZXNwb25zZUlmTmVl
ZGVkKCkKIHsKLSAgICBtX3Nob3VsZFNlbmRSZXNwb25zZSA9IChtX2xvYWRNb2RlID09IExvYWRE
ZWZlcnJlZCk7Ci0gICAgaWYgKG1fbG9hZE1vZGUgPT0gTG9hZERlZmVycmVkKQorICAgIG1fc2hv
dWxkU2VuZFJlc3BvbnNlID0gKG1fbG9hZE1vZGUgIT0gTG9hZE5vcm1hbCk7CisgICAgaWYgKG1f
c2hvdWxkU2VuZFJlc3BvbnNlKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9yZXNwb25z
ZVNlbnQgfHwgIW1fcmVzb3VyY2VIYW5kbGUpCkBAIC0zMTQsOCArMzI2LDggQEAKIAogdm9pZCBR
TmV0d29ya1JlcGx5SGFuZGxlcjo6Zm9yd2FyZERhdGEoKQogewotICAgIG1fc2hvdWxkRm9yd2Fy
ZERhdGEgPSAobV9sb2FkTW9kZSA9PSBMb2FkRGVmZXJyZWQpOwotICAgIGlmIChtX2xvYWRNb2Rl
ID09IExvYWREZWZlcnJlZCkKKyAgICBtX3Nob3VsZEZvcndhcmREYXRhID0gKG1fbG9hZE1vZGUg
IT0gTG9hZE5vcm1hbCk7CisgICAgaWYgKG1fc2hvdWxkRm9yd2FyZERhdGEpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIHNlbmRSZXNwb25zZUlmTmVlZGVkKCk7CkBAIC0zOTksNiArNDExLDggQEAK
IAogICAgIGNvbm5lY3QobV9yZXBseSwgU0lHTkFMKHJlYWR5UmVhZCgpKSwKICAgICAgICAgICAg
IHRoaXMsIFNMT1QoZm9yd2FyZERhdGEoKSksIFF0OjpRdWV1ZWRDb25uZWN0aW9uKTsKKyAgICBj
b25uZWN0KHRoaXMsIFNJR05BTChwcm9jZXNzUXVldWVkSXRlbXMoKSksCisgICAgICAgICAgICB0
aGlzLCBTTE9UKHNlbmRRdWV1ZWRJdGVtcygpKSwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24pOwogfQog
CiB2b2lkIFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpyZXNldFN0YXRlKCkKQEAgLTQxMyw3ICs0Mjcs
OSBAQAogCiB2b2lkIFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzZW5kUXVldWVkSXRlbXMoKQogewot
ICAgIFFfQVNTRVJUKG1fbG9hZE1vZGUgPT0gTG9hZE5vcm1hbCk7CisgICAgaWYgKG1fbG9hZE1v
ZGUgIT0gTG9hZFJlc3VtaW5nKQorICAgICAgICByZXR1cm47CisgICAgbV9sb2FkTW9kZSA9IExv
YWROb3JtYWw7CiAKICAgICBpZiAobV9zaG91bGRTdGFydCkKICAgICAgICAgc3RhcnQoKTsKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFu
ZGxlci5oCShyZXZpc2lvbiA0NDg1MSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9R
TmV0d29ya1JlcGx5SGFuZGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw4IEBACiBw
dWJsaWM6CiAgICAgZW51bSBMb2FkTW9kZSB7CiAgICAgICAgIExvYWROb3JtYWwsCi0gICAgICAg
IExvYWREZWZlcnJlZAorICAgICAgICBMb2FkRGVmZXJyZWQsCisgICAgICAgIExvYWRSZXN1bWlu
ZwogICAgIH07CiAKICAgICBRTmV0d29ya1JlcGx5SGFuZGxlcihSZXNvdXJjZUhhbmRsZSAqaGFu
ZGxlLCBMb2FkTW9kZSk7CkBAIC01NSwxNSArNTYsMTggQEAKIAogICAgIFFOZXR3b3JrUmVwbHkq
IHJlbGVhc2UoKTsKIAorc2lnbmFsczoKKyAgICB2b2lkIHByb2Nlc3NRdWV1ZWRJdGVtcygpOwor
CiBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgZmluaXNoKCk7CiAgICAgdm9pZCBzZW5kUmVzcG9u
c2VJZk5lZWRlZCgpOwogICAgIHZvaWQgZm9yd2FyZERhdGEoKTsKKyAgICB2b2lkIHNlbmRRdWV1
ZWRJdGVtcygpOwogCiBwcml2YXRlOgogICAgIHZvaWQgc3RhcnQoKTsKICAgICB2b2lkIHJlc2V0
U3RhdGUoKTsKLSAgICB2b2lkIHNlbmRRdWV1ZWRJdGVtcygpOwogCiAgICAgUU5ldHdvcmtSZXBs
eSogbV9yZXBseTsKICAgICBSZXNvdXJjZUhhbmRsZSogbV9yZXNvdXJjZUhhbmRsZTsKSW5kZXg6
IFdlYkNvcmUvbWFudWFsLXRlc3RzL3F0L3VubG9hZC1hbGVydC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvbWFudWFsLXRlc3RzL3F0L3VubG9hZC1hbGVydC5odG1sCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9tYW51YWwtdGVzdHMvcXQvdW5sb2FkLWFsZXJ0Lmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsOCBAQAorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5ICBvbnVubG9h
ZD0iYWxlcnQoJ2dvb2RieWUnKTsiPgorUmVsb2FkIG1lIHR3aWNlIGVuc3VyaW5nIHRoYXQgdGhp
cyBkaWRuJ3QgcmVzdWx0IGluIGEgY3Jhc2guIFRlc3QgYWRkZWQgZHVlIHRvCitidWcgPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NTU2Ij5AMjU1NTY8
L2E+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="16201"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>