<?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>164468</bug_id>
          
          <creation_ts>2016-11-06 18:06:11 -0800</creation_ts>
          <short_desc>Web Inspector: Debugger should resume immediately while under test</short_desc>
          <delta_ts>2016-11-07 13:37:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>161951</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>bburg</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1248667</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-11-06 18:06:11 -0800</bug_when>
    <thetext>Summary:
Debugger should resume immediately while under test. DebuggerManager delays updating state and firing events when the debugger resumes, to prevent spamming user interface updates while stepping.

Unfortunately this causes timeouts in layout tests that try to pause/resume the debugger rapidly. DebuggerManager should only introduce a delay if not under test. This can be easily tested using setInterval:

InspectorTest.evaluateInPage(&quot;setInterval(() =&gt; { debugger; }, 0)&quot;);

let repeatCount = 5;
WebInspector.debuggerManager.addEventListener(WebInspector.DebuggerManager.Event.Paused, (event) =&gt; {
    WebInspector.debuggerManager.resume();
    if (--repeatCount)
        return;

    resolve();
});

If the test finishes, it passes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248668</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-11-06 18:08:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/29132915&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248670</commentid>
    <comment_count>2</comment_count>
      <attachid>294041</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-11-06 18:18:05 -0800</bug_when>
    <thetext>Created attachment 294041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248784</commentid>
    <comment_count>3</comment_count>
      <attachid>294041</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-11-07 10:40:47 -0800</bug_when>
    <thetext>Comment on attachment 294041
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js:618
&gt; +        // It isn&apos;t necessary to delay firing events when under test.
&gt; +        if (window.InspectorTest) {
&gt; +            this._didResumeInternal(target);
&gt; +            return;
&gt; +        }

While I agree with the problem, I&apos;m not sure this is the right solution. Wouldn&apos;t this mean that step-in commands get a Resume + Pause immediately? I would have only expected a CallFramesDidChange.

In fact, doesn&apos;t this break all of the inspector/debugger/stepping tests? (Marked as flakey on the bots, so `run-webkit-tests inspector/debugger/stepping --force --v`(

See my lengthy comment on https://bugs.webkit.org/show_bug.cgi?id=164305#c2 where I describe what I think would be a better fix. The problem is the frontend currently does not know if a step will end up pausing or resuming, so it sets a timeout to assume resume. If we eliminate this ambiguity then the frontend can know for certain what events it should fire as a result of stepping or resuming by the user. The one potential hiccup would be clicking resume could flash the UI if we resume the UI and then immediately pause on another breakpoint or something. That said, it would till offer advantages over what we have today.

Basically the events I&apos;d like to see when pausing, stepping a few times, and resuming would be:

    Paused + CallFramesDidChange
    CallFramesDidChange
    CallFramesDidChange
    CallFramesDidChange
    Resumed + CallFramesDidChange

Not:

    Paused + CallFramesDidChange
    Resumed + CallFramesDidChange
    Paused + CallFramesDidChange
    Resumed + CallFramesDidChange
    Paused + CallFramesDidChange
    Resumed + CallFramesDidChange
    Paused + CallFramesDidChange
    Resumed + CallFramesDidChange

which I believe is what this would produce.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248826</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-11-07 13:37:48 -0800</bug_when>
    <thetext>This is a duplicate of bug 161951. Perhaps we should move to that.

*** This bug has been marked as a duplicate of bug 161951 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294041</attachid>
            <date>2016-11-06 18:18:05 -0800</date>
            <delta_ts>2016-11-07 10:40:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164468-20161106181359.patch</filename>
            <type>text/plain</type>
            <size>5604</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAz
ZmY4MTM3NGRmZmYwN2FjOTE5ZGU4NTEzNzI5MzY4ZGFmNTQ4MTU1Li41ZGRkNGNiNDk4YjU4MTEy
NzYxZGZiNDMzYmVkYTMxZWU2MzY5NDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNi0xMS0wNiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRGVidWdnZXIgc2hvdWxkIHJlc3VtZSBpbW1lZGlh
dGVseSB3aGlsZSB1bmRlciB0ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjQ0NjgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MTMyOTE1Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlYnVnZ2Vy
IGZyb250ZW5kIHNob3VsZCByZXN1bWUgaW1tZWRpYXRlbHkgaWYgdGhlIEluc3BlY3RvciBpcyB1
bmRlcgorICAgICAgICB0ZXN0LCB0byBwcmV2ZW50IHJhY2UgY29uZGl0aW9ucyBpbiBsYXlvdXQg
dGVzdHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RlYnVnZ2VyTWFu
YWdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBl
LmRlYnVnZ2VyRGlkUmVzdW1lKToKKwogMjAxNi0xMS0wMyAgTmlraXRhIFZhc2lseWV2ICA8bnZh
c2lseWV2QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTdGFjayBvdmVyZmxv
dyB3aGVuIHNlYXJjaGluZyBhIHRpbWVsaW5lIHJlY29yZGluZyBmb3IgSlMgZnVuY3Rpb24gbmFt
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcwppbmRleCAyMTAxYjAyYjYzMGY3
ZDJkNmVkZGMzNTBiNDE4ODM4ZTZhNGU5NjI4Li45NWY2YzgyNTM2MzI3MDBhMmY2ZWQ1MTAxYjFh
YTk4YzQwMWJkMmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzCkBAIC02
MTEsNiArNjExLDEyIEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBEZWJ1
Z2dlck1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgewogICAgICAgICAv
LyBDYWxsZWQgZnJvbSBXZWJJbnNwZWN0b3IuRGVidWdnZXJPYnNlcnZlci4KIAorICAgICAgICAv
LyBJdCBpc24ndCBuZWNlc3NhcnkgdG8gZGVsYXkgZmlyaW5nIGV2ZW50cyB3aGVuIHVuZGVyIHRl
c3QuCisgICAgICAgIGlmICh3aW5kb3cuSW5zcGVjdG9yVGVzdCkgeworICAgICAgICAgICAgdGhp
cy5fZGlkUmVzdW1lSW50ZXJuYWwodGFyZ2V0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorCiAgICAgICAgIC8vIFdlIGRlbGF5IGNsZWFyaW5nIHRoZSBzdGF0ZSBhbmQgZmlyaW5n
IGV2ZW50cyBzbyB0aGUgdXNlciBpbnRlcmZhY2UgZG9lcyBub3QgZmxhc2gKICAgICAgICAgLy8g
YmV0d2VlbiBicmllZiBzdGVwcyBvciBzdWNjZXNzaXZlIGJyZWFrcG9pbnRzLgogICAgICAgICB0
aGlzLl9kZWxheWVkUmVzdW1lVGltZW91dCA9IHNldFRpbWVvdXQodGhpcy5fZGlkUmVzdW1lSW50
ZXJuYWwuYmluZCh0aGlzLCB0YXJnZXQpLCA1MCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjA3ZTllMTgxYTI5ODNmNmYw
NGRlZWI5Mzk4NmQxYTllYTZlZDcyMS4uNGE3MzQ2YmIzYmNmNjFjNzE2ZTdjNTAwOWJiMDliY2Ji
ZDkzZGIwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTExLTA2ICBNYXR0IEJha2VyICA8
bWF0dGJha2VyQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBEZWJ1Z2dlciBz
aG91bGQgcmVzdW1lIGltbWVkaWF0ZWx5IHdoaWxlIHVuZGVyIHRlc3QKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDQ2OAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjkxMzI5MTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0cyBmb3IgRGVidWdnZXJNYW5hZ2VyLmRlYnVnZ2Vy
RGlkUmVzdW1lLgorCisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc3VtZS1pbW1lZGlh
dGVseS1pZi11bmRlci10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVj
dG9yL2RlYnVnZ2VyL3Jlc3VtZS1pbW1lZGlhdGVseS1pZi11bmRlci10ZXN0Lmh0bWw6IEFkZGVk
LgorCiAyMDE2LTExLTA1ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbW92aW5nIGZsYWt5IGV4cGVjdGF0aW9ucyBmb3IgdGVzdHMgdGhhdCB3ZXJlIGZp
eGVkIHdpdGggcjIwODMyNy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci9yZXN1bWUtaW1tZWRpYXRlbHktaWYtdW5kZXItdGVzdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzdW1lLWltbWVkaWF0ZWx5LWlmLXVuZGVyLXRl
c3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5Yzk1YzRkN2UxYTQ2MDk1ZTk3NDE0NWNkNmI3
MjYwMWVmNGU5MmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvcmVzdW1lLWltbWVkaWF0ZWx5LWlmLXVuZGVyLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTEgQEAKK0NoZWNrIHRoYXQgdGhlIGRlYnVnZ2VyIGZyb250ZW5kIHJlc3VtZXMgaW1t
ZWRpYXRlbHkgKHN5bmNocm9ub3VzbHkpIHdoaWxlIHVuZGVyIHRlc3QuCisKKworPT0gUnVubmlu
ZyB0ZXN0IHN1aXRlOiBEZWJ1Z2dlci5SZXN1bWVJbW1lZGlhdGVseUlmVW5kZXJUZXN0CistLSBS
dW5uaW5nIHRlc3QgY2FzZTogUmVzdW1lSW1tZWRpYXRlbHlJZlVuZGVyVGVzdAorU3RhcnRlZCB0
aW1lciB3aXRoIGludGVydmFsIG9mIHplcm8uCitQQVVTRUQgKGRlYnVnZ2VyLXN0YXRlbWVudCkK
K1BBVVNFRCAoZGVidWdnZXItc3RhdGVtZW50KQorUEFVU0VEIChkZWJ1Z2dlci1zdGF0ZW1lbnQp
CitDbGVhcmVkIHRpbWVyLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvcmVzdW1lLWltbWVkaWF0ZWx5LWlmLXVuZGVyLXRlc3QuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci9yZXN1bWUtaW1tZWRpYXRlbHktaWYtdW5kZXItdGVzdC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2NmQ3NjY4OTQyZjMzMzNmZmY5N2U1OThmMTliZDZjMzRiMGJmZDYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzdW1lLWlt
bWVkaWF0ZWx5LWlmLXVuZGVyLXRlc3QuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IWRvY3R5cGUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiBwYXVzZURlYnVnZ2VyKCkgeworICAgIGRlYnVnZ2VyOworfQorCitmdW5jdGlvbiB0
ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUo
IkRlYnVnZ2VyLlJlc3VtZUltbWVkaWF0ZWx5SWZVbmRlclRlc3QiKTsKKworICAgIHN1aXRlLmFk
ZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlJlc3VtZUltbWVkaWF0ZWx5SWZVbmRlclRlc3Qi
LAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgbGV0IHRpbWVy
SWRlbnRpZmllcjsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNl
dEludGVydmFsKHBhdXNlRGVidWdnZXIsIDApIiwgKGVycm9yLCBwYXlsb2FkKSA9PiB7CisgICAg
ICAgICAgICAgICAgaWYgKGVycm9yKQorICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3Ip
OworCisgICAgICAgICAgICAgICAgdGltZXJJZGVudGlmaWVyID0gcGF5bG9hZC52YWx1ZTsKKyAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU3RhcnRlZCB0aW1lciB3aXRoIGludGVy
dmFsIG9mIHplcm8uIik7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgbGV0IHJlcGVh
dENvdW50ID0gMzsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwg
KGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coYFBBVVNFRCAo
JHtXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLmRhdGFGb3JUYXJnZXQoV2ViSW5zcGVjdG9y
LmRlYnVnZ2VyTWFuYWdlci5hY3RpdmVDYWxsRnJhbWUudGFyZ2V0KS5wYXVzZVJlYXNvbn0pYCk7
CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKTsK
KworICAgICAgICAgICAgICAgIGlmICgtLXJlcGVhdENvdW50KQorICAgICAgICAgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KGBjbGVhckludGVydmFsKCR7dGltZXJJZGVudGlmaWVyfSlgLCAoZXJyb3IpID0+IHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKGVycm9yKQorICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0
KGVycm9yKTsKKworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiQ2xlYXJl
ZCB0aW1lci4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRl
LnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5DaGVjayB0aGF0IHRoZSBkZWJ1Z2dlciBmcm9udGVuZCBy
ZXN1bWVzIGltbWVkaWF0ZWx5IChzeW5jaHJvbm91c2x5KSB3aGlsZSB1bmRlciB0ZXN0LjwvcD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="316826"
          type_id="1"
          status="-"
          setter="joepeck"
    />
          </attachment>
      

    </bug>

</bugzilla>