<?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>143577</bug_id>
          
          <creation_ts>2015-04-09 14:21:36 -0700</creation_ts>
          <short_desc>Web Inspector: breakpoints set in IIFE closures via GUI do not fire</short_desc>
          <delta_ts>2026-01-12 09:04:03 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <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="Joey Korkames">joey</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>graouts</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>jonowells</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1084052</commentid>
    <comment_count>0</comment_count>
    <who name="Joey Korkames">joey</who>
    <bug_when>2015-04-09 14:21:36 -0700</bug_when>
    <thetext>Occasionally I need to tear into readonly remote-hosted JS code to isolate and report bugs on webapps I use.

Single-page-application sites now commonly enclose their entire app code into an IIFE, adding nothing to the global scope that can be probed using the console.
  (function () { true; }() )
or
  !function(){ true; }()

Web Inspector will let me click to set breakpoints inside IIFEs but they will never fire when the site feature that was breakpointed is engaged.
Breakpointing the same lines in Chrome, Opera and Firefox works and provides console access to the stack inside the IIFE closure.

It makes no difference whether the script file was minified (and subsequently prettified by Web Inspector) or not.
None of the sites I am debugging have source-maps available.

The only way I can currently debug such sites on Safari is by saving a WebArchive and manually editing scripts&apos; WebResourceData to insert `debugger;` statements: webarchive-vim is a python script I wrote to streamline this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084053</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-04-09 14:21:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/20488898&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084055</commentid>
    <comment_count>2</comment_count>
      <attachid>250467</attachid>
    <who name="Joey Korkames">joey</who>
    <bug_when>2015-04-09 14:22:49 -0700</bug_when>
    <thetext>Created attachment 250467
script for editing individual resources in webarchives</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>250467</attachid>
            <date>2015-04-09 14:22:49 -0700</date>
            <delta_ts>2015-04-09 14:22:49 -0700</delta_ts>
            <desc>script for editing individual resources in webarchives</desc>
            <filename>webarchive-vim</filename>
            <type>text/plain</type>
            <size>1637</size>
            <attacher name="Joey Korkames">joey</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwppbXBvcnQgb3MKaW1wb3J0IHN5cwppbXBvcnQgcGxpc3Rs
aWIKZnJvbSB0ZW1wZmlsZSBpbXBvcnQgTmFtZWRUZW1wb3JhcnlGaWxlCgppZiBfX25hbWVfXyA9
PSAnX19tYWluX18nOgogICAgdHJ5OgogICAgICAgIHBsaXN0UGF0aCA9IHN5cy5hcmd2WzFdCiAg
ICAgICAgd2l0aCBvcGVuKHBsaXN0UGF0aCwgJ3JiJykgYXMgZnA6CiAgICAgICAgICAgIHdlYmFy
YyA9IHBsaXN0bGliLmxvYWQoZnApCiAgICBleGNlcHQ6CiAgICAgICAgcHJpbnQoIk5vdCBhIHBs
aXN0ISIpCiAgICAgICAgc3lzLmV4aXQoMSkKCiAgICBpZiBsZW4oc3lzLmFyZ3YpIDwgMzoKICAg
ICAgICAjbGlzdCBVUkwgYW5kIG51bSBvZiBhbGwgYXNzZXRzIGlmIG5vIGFzc2V0bnVtIHdhcyBn
aXZlbgogICAgICAgIHByaW50KCdtYWluOiAnICsgd2ViYXJjWydXZWJNYWluUmVzb3VyY2UnXVsi
V2ViUmVzb3VyY2VVUkwiXSkKICAgICAgICBmb3IgaWR4LCBhc3NldCBpbiBlbnVtZXJhdGUod2Vi
YXJjWyJXZWJTdWJyZXNvdXJjZXMiXSk6CiAgICAgICAgICAgIHVybCA9IGFzc2V0WyJXZWJSZXNv
dXJjZVVSTCJdCiAgICAgICAgICAgIHByaW50KCIlczogJXMiICUgKGlkeCwgdXJsKSkKICAgICAg
ICBzeXMuZXhpdCgxKQoKICAgIGlmIHN5cy5hcmd2WzJdLmlzZGlnaXQoKToKICAgICAgICBhc3Nl
dE51bSA9IGludChzeXMuYXJndlsyXSkKICAgICAgICBhc3NldCA9IHdlYmFyY1siV2ViU3VicmVz
b3VyY2VzIl1bYXNzZXROdW1dCiAgICBlbHNlOgogICAgICAgIGFzc2V0ID0gd2ViYXJjWydXZWJN
YWluUmVzb3VyY2UnXQoKICAgIGNvZGUgPSBhc3NldFsiV2ViUmVzb3VyY2VEYXRhIl0KICAgIHRt
cCA9IE5hbWVkVGVtcG9yYXJ5RmlsZShkZWxldGU9RmFsc2UpCiAgICBpZiBUcnVlOgogICAgICAg
IHRtcC53cml0ZShjb2RlKQogICAgICAgIHRtcC5mbHVzaCgpCiAgICAgICAgI2lmIGFueShtdCA9
PSBhc3NldFsnV2ViUmVzb3VyY2VNSU1FVHlwZSddIGZvciBtdCBpbiBbJ2FwcGxpY2F0aW9uL2ph
dmFzY3JpcHQnLCAndGV4dC9odG1sJ10pOgogICAgICAgIGlmIGFzc2V0WydXZWJSZXNvdXJjZU1J
TUVUeXBlJ10gPT0gJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnOgogICAgICAgICAgICBvcy5zeXN0
ZW0oImpzLWJlYXV0aWZ5IC1yIC1mICVzIiAlIHRtcC5uYW1lKQogICAgICAgIG9zLnN5c3RlbSgi
dmltICVzIiAlIHRtcC5uYW1lKSAjdXNlIEVESVRPUj8KICAgICAgICAjb3Muc3lzdGVtKCJvcGVu
IC1XICVzIiAlIHRtcC5uYW1lKQoKICAgICAgICAjaGF2ZSB0byBjbG9zZSBhbmQgcmVvcGVuIHRv
IHBpY2sgdXAgY2hhbmdlcz8/CiAgICAgICAgdG1wLmNsb3NlKCkKICAgICAgICBuZXdhc3NldCA9
IG9wZW4odG1wLm5hbWUsICdyYicpCiAgICAgICAgbmV3Y29kZSA9IG5ld2Fzc2V0LnJlYWQoKQoK
ICAgICAgICBhc3NldFsiV2ViUmVzb3VyY2VEYXRhIl0gPSBwbGlzdGxpYi5EYXRhKG5ld2NvZGUp
CiAgICAgICAgd2l0aCBvcGVuKHBsaXN0UGF0aCwgJ3diJykgYXMgZnA6CiAgICAgICAgICAgIHBs
aXN0bGliLmR1bXAod2ViYXJjLCBmcCwgZm10PXBsaXN0bGliLkZNVF9CSU5BUlkpCiAgICAgICAg
bmV3YXNzZXQuY2xvc2UoKQogICAgb3MudW5saW5rKHRtcC5uYW1lKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>