<?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>140276</bug_id>
          
          <creation_ts>2015-01-08 18:00:41 -0800</creation_ts>
          <short_desc>Web Inspector: Phantom breakpoint appears on empty line after reload of minified file with a breakpoint</short_desc>
          <delta_ts>2015-01-09 12:31:28 -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>RESOLVED</bug_status>
          <resolution>FIXED</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>msaboff</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>1060031</commentid>
    <comment_count>0</comment_count>
      <attachid>244311</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-01-08 18:00:41 -0800</bug_when>
    <thetext>Created attachment 244311
[REDUCTION] Test Case

* SUMMARY
Phantom breakpoint appears on empty line after reload of minified file with a breakpoint.

* STEPS TO REPRODUCE
1. Inspect attached test case
2. Select resource &quot;foo.min.js&quot;
3. Pretty print the resource
4. Set a breakpoint on line 6 (console.log(&quot;test&quot;))
5. Reload the page
  =&gt; in &quot;foo.min.js&quot; there are now 2 breakpoints, 1 is a phantom

* NOTES
- There appears to be some significance that the minified file has a newline at the end. Removing the newline didn&apos;t cause the phantom to appear.
- After steps, removing and resetting a breakpoint has further issues. There may be yet another bug here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060032</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-01-08 18:01:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/19421470&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060036</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-01-08 19:05:03 -0800</bug_when>
    <thetext>I believe this to be a CodeMirror issue. Filed:
https://github.com/codemirror/CodeMirror/issues/3023

However, I have a workaround for us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060037</commentid>
    <comment_count>3</comment_count>
      <attachid>244314</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-01-08 19:06:12 -0800</bug_when>
    <thetext>Created attachment 244314
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060049</commentid>
    <comment_count>4</comment_count>
      <attachid>244314</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-01-08 19:45:49 -0800</bug_when>
    <thetext>Comment on attachment 244314
[PATCH] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Views/TextEditor.js:115
&gt; +                this._codeMirror.removeLineClass(0, &quot;wrap&quot;);

_codeMirror.removeLineClass is a weird API. I had to look up what this meant. I thought the class was &quot;wrap&quot;, but that is the element. No class removes all classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060050</commentid>
    <comment_count>5</comment_count>
      <attachid>244314</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-01-08 19:48:11 -0800</bug_when>
    <thetext>Comment on attachment 244314
[PATCH] Proposed Fix

Who is setting the style before content loads? That seems like a bug too. I assume they set the breakpoints again after content loads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060062</commentid>
    <comment_count>6</comment_count>
      <attachid>244314</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-08 20:25:31 -0800</bug_when>
    <thetext>Comment on attachment 244314
[PATCH] Proposed Fix

Clearing flags on attachment: 244314

Committed r178153: &lt;http://trac.webkit.org/changeset/178153&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060063</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-08 20:25:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060239</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-01-09 12:31:28 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 244314 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; Who is setting the style before content loads? That seems like a bug too. I
&gt; assume they set the breakpoints again after content loads.

SourceCodeTextEditor in &quot;_contentWillPopulate&quot; pushes its breakpoints down to TextEditor. TextEditor, being none the wiser, attempts to set line styles for those breakpoints despite the editor being empty. That path could bail early. There are also line styles for the current execution line, I did not see how that would get set in relation to loading of content. I assume it would also have this issue.

FWIW, CodeMirror fixed the issue upstream.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>244311</attachid>
            <date>2015-01-08 18:00:41 -0800</date>
            <delta_ts>2015-01-08 19:06:28 -0800</delta_ts>
            <desc>[REDUCTION] Test Case</desc>
            <filename>phantom-breakpoint-reduction.zip</filename>
            <type>application/zip</type>
            <size>2044</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">UEsDBAoAAAAAAHOOKEYAAAAAAAAAAAAAAAAKABAAcmVkdWN0aW9uL1VYDACaBkpSKjSvVPUBFABQ
SwMEFAAIAAgA8YA+QwAAAAAAAAAAAAAAABIAEAByZWR1Y3Rpb24vZm9vLmh0bWxVWAwA7zSvVDYE
SlL1ARQAs1F08XcOiQxwVcgoyc2x47KBUamJKXZcCkBgU5JZkpNqF5yfm6oAZtroQ0S4bPQhqmyS
8lMqoYozDCEqk/PzSlLzSoBKDKEyxclFmQUlCsVFybZKafn5ermZeXpZxUp2NvoQGZB5EIOAmsCO
AABQSwcIGLeaiG4AAACcAAAAUEsDBAoAAAAAAA6PKEYAAAAAAAAAAAAAAAAJABAAX19NQUNPU1gv
VVgMAEs1r1RLNa9U9QEUAFBLAwQKAAAAAAAOjyhGAAAAAAAAAAAAAAAAEwAQAF9fTUFDT1NYL3Jl
ZHVjdGlvbi9VWAwASzWvVEs1r1T1ARQAUEsDBBQACAAIAPGAPkMAAAAAAAAAAAAAAAAdABAAX19N
QUNPU1gvcmVkdWN0aW9uLy5fZm9vLmh0bWxVWAwA7zSvVDYESlL1ARQAY2AVY2dgYmDwTUxW8A9W
iFCAApAYAycQGwHxfCAG8S8yEAUcQ0KCoEyQjjNAzIqmhAkqzsLAIJecn6uXm5hclJ+bWJJarFec
mpOaXJKZnxeUmJeeClV/AYgZGRhk0NSWZRZnJuWkeualpFYwMFhYGZkZAABQSwcIx/mFAnQAAADR
AAAAUEsDBBQACAAIAA+CPkMAAAAAAAAAAAAAAAAQABAAcmVkdWN0aW9uL2Zvby5qc1VYDAB9LK9U
TgZKUvUBFADTSCvNSy7JzM/T0FSo5lIAgrLEIoUKBVsFhER1cWqJZ15JalFZYo4GknCtZq01WIsG
hiEgkJyfV5yfk6qXk5+uoVSSWlyipAmWq9XU0OQCEdZcAFBLBwiv/XUlUwAAAH4AAABQSwMEFAAI
AAgAD4I+QwAAAAAAAAAAAAAAABsAEABfX01BQ09TWC9yZWR1Y3Rpb24vLl9mb28uanNVWAwAfSyv
VE4GSlL1ARQAY2AVY2dgYmDwTUxW8A9WiFCAApAYAycQGwHxfCAG8S8yEAUcQ0KCoEyQjjNAzIqm
hAkqzsLAIJecn6uXm5hclJ+bWJJarFecmpOaXJKZnxeUmJeeClV/AYgZGRhk0NSWZRZnJuWkeual
pFYwMJhYGVkYAABQSwcISDn2WXQAAADRAAAAUEsDBBQACAAIAHOOKEYAAAAAAAAAAAAAAAAUABAA
cmVkdWN0aW9uL2Zvby5taW4uanNVWAwA7zSvVCo0r1T1ARQA00grzUsuyczP09CsLkssUqiwRRIo
Ti3xzCtJLSpLzNFAEq7VrLVG5ifn5xXn56Tq5eSnayiVpBaXKGnWamqAsTUXAFBLBwisBl74QwAA
AGEAAABQSwMEFAAIAAgAc44oRgAAAAAAAAAAAAAAAB8AEABfX01BQ09TWC9yZWR1Y3Rpb24vLl9m
b28ubWluLmpzVVgMAO80r1QqNK9U9QEUAGNgFWNnYGJg8E1MVvAPVohQgAKQGAMnEBsB8VYgBvGf
MxAFHENCgqBMkI49QKyNpoQJKs7PwCCenJ+rl1hQkJOqF5JaUeKal5yfkpmXDlF3GohlGBhEEWoK
SxOLEvNKMvNSGUpL0nQtrA2NTYwMzS0tTAr1DQwMDK1NTRLTgEKJ1sGJaYlFmSBt1gwAUEsHCBqc
k/OMAAAA5wAAAFBLAQIVAwoAAAAAAHOOKEYAAAAAAAAAAAAAAAAKAAwAAAAAAAAAAEDtQQAAAABy
ZWR1Y3Rpb24vVVgIAJoGSlIqNK9UUEsBAhUDFAAIAAgA8YA+Qxi3mohuAAAAnAAAABIADAAAAAAA
AAAAQKSBOAAAAHJlZHVjdGlvbi9mb28uaHRtbFVYCADvNK9UNgRKUlBLAQIVAwoAAAAAAA6PKEYA
AAAAAAAAAAAAAAAJAAwAAAAAAAAAAED9QfYAAABfX01BQ09TWC9VWAgASzWvVEs1r1RQSwECFQMK
AAAAAAAOjyhGAAAAAAAAAAAAAAAAEwAMAAAAAAAAAABA/UEtAQAAX19NQUNPU1gvcmVkdWN0aW9u
L1VYCABLNa9USzWvVFBLAQIVAxQACAAIAPGAPkPH+YUCdAAAANEAAAAdAAwAAAAAAAAAAECkgW4B
AABfX01BQ09TWC9yZWR1Y3Rpb24vLl9mb28uaHRtbFVYCADvNK9UNgRKUlBLAQIVAxQACAAIAA+C
PkOv/XUlUwAAAH4AAAAQAAwAAAAAAAAAAECkgT0CAAByZWR1Y3Rpb24vZm9vLmpzVVgIAH0sr1RO
BkpSUEsBAhUDFAAIAAgAD4I+Q0g59ll0AAAA0QAAABsADAAAAAAAAAAAQKSB3gIAAF9fTUFDT1NY
L3JlZHVjdGlvbi8uX2Zvby5qc1VYCAB9LK9UTgZKUlBLAQIVAxQACAAIAHOOKEasBl74QwAAAGEA
AAAUAAwAAAAAAAAAAECkgasDAAByZWR1Y3Rpb24vZm9vLm1pbi5qc1VYCADvNK9UKjSvVFBLAQIV
AxQACAAIAHOOKEYanJPzjAAAAOcAAAAfAAwAAAAAAAAAAECkgUAEAABfX01BQ09TWC9yZWR1Y3Rp
b24vLl9mb28ubWluLmpzVVgIAO80r1QqNK9UUEsFBgAAAAAJAAkAvQIAACkFAAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244314</attachid>
            <date>2015-01-08 19:06:12 -0800</date>
            <delta_ts>2015-01-08 20:25:31 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>fix-phantom.patch</filename>
            <type>text/plain</type>
            <size>1794</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDM3ZjBkNDAuLjU5Njc3NTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE1LTAxLTA4ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUGhhbnRv
bSBicmVha3BvaW50IGFwcGVhcnMgb24gZW1wdHkgbGluZSBhZnRlciByZWxvYWQgb2YgbWluaWZp
ZWQgZmlsZSB3aXRoIGEgYnJlYWtwb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgU3R5bGVzIGJlaW5nIHNldCBvbiBsaW5lcyAoZS5nLiBicmVha3Bv
aW50IHN0eWxlcykgYmVmb3JlIGNvbnRlbnQgbG9hZGVkIGNhbgorICAgICAgICBjYXJyeSBmb3J3
YXJkIHdpdGggdGhlIGVtcHR5IGxpbmUuIEl0IGlzIHNhZmUgZm9yIHVzIHRvIGp1c3QgcmVtb3Zl
IGFsbAorICAgICAgICB0aGUgc3R5bGVzIGZyb20gdGhlIGludGlhbCBlbXB0eSBsaW5lIGJlZm9y
ZSB3ZSBsb2FkIHRoZSBpbml0aWFsIGNvbnRlbnQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1RleHRFZGl0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvci5w
cm90b3R5cGUuc2V0IHN0cmluZy51cGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRF
ZGl0b3IucHJvdG90eXBlLnNldCBzdHJpbmcpOgorCisyMDE1LTAxLTA4ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogUGF1c2Ug
UmVhc29uIEltcHJvdmVtZW50cyAoQnJlYWtwb2ludCwgRGVidWdnZXIgU3RhdGVtZW50LCBQYXVz
ZSBvbiBOZXh0IFN0YXRlbWVudCkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEzODk5MQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dEVkaXRvci5qcwppbmRleCBmNDRiZDMyLi45NjgwMjli
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
ZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RleHRFZGl0b3IuanMKQEAgLTExMCw2ICsxMTAsMTAgQEAgV2ViSW5zcGVjdG9yLlRleHRF
ZGl0b3IucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgZnVuY3Rpb24gdXBkYXRlKCkKICAg
ICAgICAgeworICAgICAgICAgICAgLy8gQ2xlYXIgYW55IHN0eWxlcyB0aGF0IG1heSBoYXZlIGJl
ZW4gc2V0IG9uIHRoZSBlbXB0eSBsaW5lIGJlZm9yZSBjb250ZW50IGxvYWRlZC4KKyAgICAgICAg
ICAgIGlmICh0aGlzLl9pbml0aWFsU3RyaW5nTm90U2V0KQorICAgICAgICAgICAgICAgIHRoaXMu
X2NvZGVNaXJyb3IucmVtb3ZlTGluZUNsYXNzKDAsICJ3cmFwIik7CisKICAgICAgICAgICAgIHRo
aXMuX2NvZGVNaXJyb3Iuc2V0VmFsdWUobmV3U3RyaW5nKTsKIAogICAgICAgICAgICAgaWYgKHRo
aXMuX2luaXRpYWxTdHJpbmdOb3RTZXQpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>