<?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>127644</bug_id>
          
          <creation_ts>2014-01-25 22:31:21 -0800</creation_ts>
          <short_desc>onload event is never fired if script element was added from readystatechange listener</short_desc>
          <delta_ts>2022-07-23 14:35:54 -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>UI Events</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</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>sanachan.y</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>deepak.deepakmittal</cc>
    
    <cc>gsnedders</cc>
    
    <cc>japhet</cc>
    
    <cc>man.zhong</cc>
    
    <cc>rniwa</cc>
    
    <cc>sanachan.y</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>972143</commentid>
    <comment_count>0</comment_count>
    <who name="">sanachan.y</who>
    <bug_when>2014-01-25 22:31:21 -0800</bug_when>
    <thetext>If the functions with the below ordering were called, I think &apos;onload&apos; event is never fired.

1. FrameLoader::checkCompleted()
2. Document::setReadyState(Document::Complete); -- from checkCompleted()
3. HTMLScriptElement::HTMLScriptElement -- from listener of onreadystatechange
4. ScriptRunner::queueScriptForExecution()
5. Document::incrementLoadEventDelayCount() -- from queueScriptForExecution()
6. Document::checkCallImplicitClose() -- from checkCompleted()
---&gt; But it will return immediately because of Document::isDelayingLoadEvent()==true
7. Document::decrementLoadEventDelayCount() is called and timer fired,
FrameLoader::checkCompleted() will be called. However, m_isComplete is already set to &apos;true&apos; then
we cannot reach to DOMWindow::dispatchLoadEvent();

I think isDelayingLoadEvent() is necessary to be checked after onreadystatechange to be fired.
Firefox, Chrome v30 (not WebKit) on PC are OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972146</commentid>
    <comment_count>1</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-01-25 22:35:15 -0800</bug_when>
    <thetext>For reference: https://lists.webkit.org/pipermail/webkit-help/2014-January/003723.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972148</commentid>
    <comment_count>2</comment_count>
      <attachid>222255</attachid>
    <who name="">sanachan.y</who>
    <bug_when>2014-01-25 22:42:11 -0800</bug_when>
    <thetext>Created attachment 222255
Test case for this bug to reproduce</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972153</commentid>
    <comment_count>3</comment_count>
      <attachid>222258</attachid>
    <who name="">sanachan.y</who>
    <bug_when>2014-01-25 23:01:28 -0800</bug_when>
    <thetext>Created attachment 222258
Patch

I&apos;m not an expert of WebKit. Maybe this is incomplete and will make any side-effects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972861</commentid>
    <comment_count>4</comment_count>
    <who name="Deepak Mittal">deepak.deepakmittal</who>
    <bug_when>2014-01-28 02:44:26 -0800</bug_when>
    <thetext>When isDelayingLoadEvent() is pending then m_complete should be fale.

Changes appears ok to me,

I have verified these changes also, It is working fine..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1886188</commentid>
    <comment_count>5</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-07-23 03:25:57 -0700</bug_when>
    <thetext>I am not clear on Expected result of test case but all browsers show following output (in Private / Incognito tab or window):

interactive
complete
Recived onload event

Browsers tested - Safari 15.6 on macOS 12.5 , Chrome Canary 105 and Firefox Nightly 104

If it is expected result, I think it can be marked as &quot;RESOLVED CONFIGURATION CHANGED&quot; or else test case can be updated etc. Just wanted to share updated results. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1886276</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-07-23 14:35:54 -0700</bug_when>
    <thetext>Yeah, this appears to be fixed now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>222255</attachid>
            <date>2014-01-25 22:42:11 -0800</date>
            <delta_ts>2014-01-25 22:42:11 -0800</delta_ts>
            <desc>Test case for this bug to reproduce</desc>
            <filename>index.html</filename>
            <type>text/html</type>
            <size>913</size>
            <attacher>sanachan.y</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0IHR5cGU9InRleHQvSmF2YVNjcmlwdCI+CmNvbnNvbGUubG9n
ID0gZnVuY3Rpb24gKG1zZykgewogICAgdmFyIGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZGVidWciKTsKICAgIGVsZW0uaW5uZXJIVE1MID0gZWxlbS5pbm5lckhUTUwgKyAiPHNwYW4+
IiArIG1zZyArICI8L3NwYW4+PGJyIC8+IjsKfTsKCndpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAo
KSB7CiAgICBjb25zb2xlLmxvZygiUmVjaXZlZCBvbmxvYWQgZXZlbnQiKTsKfTsKPC9zY3JpcHQ+
Cjx0aXRsZT5vbmxvYWQgZXZlbnQgdGVzdDwvdGl0bGU+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGlk
PSJkZWJ1ZyI+PC9kaXY+Cgo8c2NyaXB0IHR5cGU9InRleHQvSmF2YVNjcmlwdCI+CmZ1bmN0aW9u
IEhhbmRsZVJlYWR5U3RhdGVDaGFuZ2UgKCkgewogICAgY29uc29sZS5sb2coZG9jdW1lbnQucmVh
ZHlTdGF0ZSk7CiAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PSAiY29tcGxldGUiKSB7CiAg
ICAgICAgdmFyIGd0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICAgICAg
dmFyIHNyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOwogICAg
ICAgIGd0LnNldEF0dHJpYnV0ZSgnYXN5bmMnLCAnYXN5bmMnKTsKICAgICAgICBndC5zZXRBdHRy
aWJ1dGUoJ2RlZmVyJywgJ2RlZmVyJyk7CiAgICAgICAgZ3Quc3JjID0gImh0dHA6Ly9zYW1wbGUu
Y29tL3NhbXBsZS5qcyI7CiAgICAgICAgc3IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZ3QsIHNy
KTsKICAgIH0KfQpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIiwg
SGFuZGxlUmVhZHlTdGF0ZUNoYW5nZSwgZmFsc2UpOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222258</attachid>
            <date>2014-01-25 23:01:28 -0800</date>
            <delta_ts>2014-01-25 23:01:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug127644.patch</filename>
            <type>text/plain</type>
            <size>1409</size>
            <attacher>sanachan.y</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4ZWQ0ZmZkLi4wMDQ4YjU4Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
NC0wMS0yNSAgWXVqaSBTYW5hY2hhbiAgPHNhbmFjaGFuLnlAZ21haWwuY29tPgorCisgICAgICAg
IElmIHNjcmlwdCBlbGVtZW50IHdhcyBhZGRlZCBmcm9tIHJlYWR5c3RhdGVjaGFuZ2UgbGlzdGVu
ciwKKyAgICAgICAgb25sb2FkIGV2ZW50IGlzIG5ldmVyIGZpcmVkIGJlY2F1c2UgRnJhbWVMb2Fk
ZXI6Om1faXNDb21wbGV0ZSBpcyBhbHJlYWR5CisgICAgICAgIHNldCB0byAndHJ1ZScuIENoZWNr
IGlzRGVsYXlpbmdMb2FkRXZlbnQoKSBhZ2FpbiBhZnRlciBmaXJlZC4KKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NjQ0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNoZWNrQ29tcGxldGVkKToKKwog
MjAxNC0wMS0yNSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAg
ICAgICAgIENsZWFuIHVwIFNWR1BhdHRlcm5FbGVtZW50Ojpjb2xsZWN0UGF0dGVybkF0dHJpYnV0
ZXMgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBiY2UwN2FiLi4yZDNi
MjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTgyNiw2ICs4MjYs
MTEgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y2hlY2tDb21wbGV0ZWQoKQogICAgIG1fcmVxdWVzdGVk
SGlzdG9yeUl0ZW0gPSAwOwogICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+c2V0UmVhZHlTdGF0ZShE
b2N1bWVudDo6Q29tcGxldGUpOwogCisgICAgaWYgKG1fZnJhbWUuZG9jdW1lbnQoKS0+aXNEZWxh
eWluZ0xvYWRFdmVudCgpKSB7CisgICAgICAgIG1faXNDb21wbGV0ZSA9IGZhbHNlOworICAgICAg
ICByZXR1cm47CisgICAgfQorCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlmIChtX2ZyYW1lLmRv
Y3VtZW50KCktPnVybCgpLmlzRW1wdHkoKSkgewogICAgICAgICAvLyBXZSBuZWVkIHRvIHVwZGF0
ZSB0aGUgZG9jdW1lbnQgVVJMIG9mIGEgUERGIGRvY3VtZW50IHRvIGJlIG5vbi1lbXB0eSBzbyB0
aGF0IGJvdGggYmFjay9mb3J3YXJkIGhpc3RvcnkgbmF2aWdhdGlvbgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>