<?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>151581</bug_id>
          
          <creation_ts>2015-11-23 22:38:19 -0800</creation_ts>
          <short_desc>Web Inspector: save Inspector&apos;s breakpoints to localStorage whenever they are modified</short_desc>
          <delta_ts>2015-12-01 17:15:29 -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>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>
          
          <blocked>147066</blocked>
    
    <blocked>151583</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>graouts</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>1144288</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-11-23 22:38:19 -0800</bug_when>
    <thetext>We try to only save on pagehide, but this event doesn&apos;t seem to be sent on fast quit (like Cmd-Q of Safari or Ctrl-C when run from command line). Just save on every modification, since it&apos;s probably cheap in most realistic scenarios.

If it turns out to be expensive for some reason, we could coalesce updates using a timer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144289</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-11-23 22:38:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/23653243&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144290</commentid>
    <comment_count>2</comment_count>
      <attachid>266122</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-11-23 22:44:40 -0800</bug_when>
    <thetext>Created attachment 266122
Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144292</commentid>
    <comment_count>3</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-11-23 22:48:52 -0800</bug_when>
    <thetext>*** Bug 129715 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144352</commentid>
    <comment_count>4</comment_count>
      <attachid>266122</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-11-24 09:36:59 -0800</bug_when>
    <thetext>Comment on attachment 266122
Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js:877
&gt; +        let savedBreakpoints = this._breakpoints
&gt; +            .filter((breakpoint) =&gt; !!breakpoint.url)
&gt; +            .map((breakpoint) =&gt; breakpoint.info);

Not a fan of hanging periods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144364</commentid>
    <comment_count>5</comment_count>
      <attachid>266122</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-11-24 10:58:29 -0800</bug_when>
    <thetext>Comment on attachment 266122
Proposed Fix

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js:877
&gt;&gt; +            .map((breakpoint) =&gt; breakpoint.info);
&gt; 
&gt; Not a fan of hanging periods.

Oh, I know.. I always write it this way then change it back before submitting the patch. It&apos;s just so much easier for me to think &quot;oh, a bunch of leading periods, this must be a chain, I&apos;ll look up and to the right&quot; than to see the line mysteriously indented (is it a completion handler? a chain? I don&apos;t know). But if nobody else likes it (as it seems to be the case) I&apos;ll switch it back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144446</commentid>
    <comment_count>6</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-11-25 12:54:00 -0800</bug_when>
    <thetext>Committed r192771: &lt;http://trac.webkit.org/changeset/192771&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266122</attachid>
            <date>2015-11-23 22:44:40 -0800</date>
            <delta_ts>2015-12-01 17:15:29 -0800</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-151581-20151123224425.patch</filename>
            <type>text/plain</type>
            <size>5211</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyNzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAx
NTk1MDVkYThlOGFlZDMxY2YxNjE1MDE5NGJkOWIwMDliYTQ4MzJiLi5iOWQ5MDFjMWExMDE4YjNh
ZDY4NTdhOWI2OWQ5ZDUxNzA3N2MxNjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzMCBAQAogMjAxNS0xMS0yMyAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBzYXZlIEluc3BlY3RvcidzIGJyZWFrcG9pbnRzIHRvIGxv
Y2FsU3RvcmFnZSB3aGVuZXZlciB0aGV5IGFyZSBtb2RpZmllZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNTgxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VyaWFsaXplIGFsbCBicmVha3BvaW50cyB0
byB0aGUgImJyZWFrcG9pbnRzIiBTZXR0aW5nIGluIGxvY2FsIHN0b3JhZ2UKKyAgICAgICAgd2hl
bmV2ZXIgYW55IGJyZWFrcG9pbnQgbW9kZWwgb2JqZWN0IGlzIGFkZGVkLCByZW1vdmVkLCBvciBt
b2RpZmllZC4KKworICAgICAgICBSZW1vdmUgdGhlIG9sZCBsaXN0ZW5lciB0aGF0IGF0dGVtcHRl
ZCB0byBzYXZlIGJyZWFrcG9pbnRzIG9uIHRoZQorICAgICAgICBwYWdlaGlkZSBldmVudC4gSXQg
ZGlkIG5vdCBmaXJlIGluIGltcG9ydGFudCBzY2VuYXJpb3MgbGlrZSBleGl0aW5nCisgICAgICAg
IHRoZSBicm93c2VyIHZpYSBDbWQtUSBvciBraWxsaW5nIHRoZSBwcm9jZXNzIHZpYSBDdHJsLUMg
LyBTSUdLSUxMLgorCisgICAgICAgIFRoaXMgaXMgbm90IGV4cGVjdGVkIHRvIGJlIGEgcGVyZm9y
bWFuY2UgcHJvYmxlbSBiZWNhdXNlIG1vc3QgcGVvcGxlCisgICAgICAgIGRvIG5vdCBrZWVwIHRo
b3VzYW5kcyBvZiBicmVha3BvaW50cyBhY3RpdmUsIGFuZCBicmVha3BvaW50cyBhcmUgbm90Cisg
ICAgICAgIHNldCB2ZXJ5IG9mdGVuLiBJZiBpdCdzIGEgcHJvYmxlbSwgd2UgY2FuIG1pdGlnYXRl
IGl0IHdpdGggY29hbGVzY2luZy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxl
cnMvRGVidWdnZXJNYW5hZ2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFu
YWdlci5wcm90b3R5cGUuYWRkQnJlYWtwb2ludCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVi
dWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5yZW1vdmVCcmVha3BvaW50KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLl9icmVha3BvaW50RGlzYWJsZWRTdGF0
ZURpZENoYW5nZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyLnByb3Rv
dHlwZS5fc2F2ZUJyZWFrcG9pbnRzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1h
bmFnZXIucHJvdG90eXBlLl9pbnNwZWN0b3JDbG9zaW5nKTogRGVsZXRlZC4KKworMjAxNS0xMS0y
MyAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBBZGQgYSBrZXlib2FyZCBzaG9ydGN1dCB0byByZXN0b3JlIHRoZSBkZWZhdWx0IHpvb20gbGV2
ZWwKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTIz
NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250
cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMKaW5kZXggOWZkYWUzYTJkNTkw
NDEzOWI4ZTgwMTQzMGJjYjllNTgxMGVlNWNiMi4uMmY0ZWE3MGJjNDI4YzJlYjJiN2U3M2Y2NjYw
YTdmOTQwNDQ3MjMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQ29udHJvbGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcwpAQCAt
NDEsOCArNDEsNiBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRGVidWdn
ZXJNYW5hZ2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAgICAgICAgIFdlYkluc3Bl
Y3Rvci5GcmFtZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GcmFtZS5FdmVudC5NYWlu
UmVzb3VyY2VEaWRDaGFuZ2UsIHRoaXMuX21haW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcyk7CiAK
LSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgdGhpcy5faW5zcGVj
dG9yQ2xvc2luZy5iaW5kKHRoaXMpKTsKLQogICAgICAgICB0aGlzLl9hbGxFeGNlcHRpb25zQnJl
YWtwb2ludEVuYWJsZWRTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKCJicmVhay1v
bi1hbGwtZXhjZXB0aW9ucyIsIGZhbHNlKTsKICAgICAgICAgdGhpcy5fYWxsVW5jYXVnaHRFeGNl
cHRpb25zQnJlYWtwb2ludEVuYWJsZWRTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5n
KCJicmVhay1vbi1hbGwtdW5jYXVnaHQtZXhjZXB0aW9ucyIsIGZhbHNlKTsKIApAQCAtMzYyLDYg
KzM2MCw4IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBEZWJ1Z2dlck1h
bmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIGlmICghYnJlYWtwb2lu
dC5kaXNhYmxlZCkKICAgICAgICAgICAgIHRoaXMuX3NldEJyZWFrcG9pbnQoYnJlYWtwb2ludCwg
c2hvdWxkU3BlY3VsYXRpdmVseVJlc29sdmUgPyBzcGVjdWxhdGl2ZWx5UmVzb2x2ZUJyZWFrcG9p
bnQuYmluZChudWxsLCBicmVha3BvaW50KSA6IG51bGwpOwogCisgICAgICAgIHRoaXMuX3NhdmVC
cmVha3BvaW50cygpOworCiAgICAgICAgIGlmICghc2tpcEV2ZW50RGlzcGF0Y2gpCiAgICAgICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJN
YW5hZ2VyLkV2ZW50LkJyZWFrcG9pbnRBZGRlZCwge2JyZWFrcG9pbnR9KTsKICAgICB9CkBAIC00
MDMsNiArNDAzLDggQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERlYnVn
Z2VyTWFuYWdlciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgYnJlYWtwb2lu
dC5kaXNhYmxlZCA9IHRydWU7CiAgICAgICAgIGJyZWFrcG9pbnQuY2xlYXJBY3Rpb25zKCk7CiAK
KyAgICAgICAgdGhpcy5fc2F2ZUJyZWFrcG9pbnRzKCk7CisKICAgICAgICAgdGhpcy5kaXNwYXRj
aEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5CcmVh
a3BvaW50UmVtb3ZlZCwge2JyZWFrcG9pbnR9KTsKICAgICB9CiAKQEAgLTc2NCw4ICs3NjYsOSBA
QCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRGVidWdnZXJNYW5hZ2VyIGV4
dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAgICAgX2JyZWFrcG9pbnREaXNhYmxlZFN0YXRl
RGlkQ2hhbmdlKGV2ZW50KQogICAgIHsKLSAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBldmVudC50
YXJnZXQ7CisgICAgICAgIHRoaXMuX3NhdmVCcmVha3BvaW50cygpOwogCisgICAgICAgIGxldCBi
cmVha3BvaW50ID0gZXZlbnQudGFyZ2V0OwogICAgICAgICBpZiAoYnJlYWtwb2ludCA9PT0gdGhp
cy5fYWxsRXhjZXB0aW9uc0JyZWFrcG9pbnQpIHsKICAgICAgICAgICAgIGlmICghYnJlYWtwb2lu
dC5kaXNhYmxlZCkKICAgICAgICAgICAgICAgICB0aGlzLmJyZWFrcG9pbnRzRW5hYmxlZCA9IHRy
dWU7CkBAIC03OTAsNyArNzkzLDkgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFuYWdlciA9IGNs
YXNzIERlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKIAogICAgIF9i
cmVha3BvaW50RWRpdGFibGVQcm9wZXJ0eURpZENoYW5nZShldmVudCkKICAgICB7Ci0gICAgICAg
IHZhciBicmVha3BvaW50ID0gZXZlbnQudGFyZ2V0OworICAgICAgICB0aGlzLl9zYXZlQnJlYWtw
b2ludHMoKTsKKworICAgICAgICBsZXQgYnJlYWtwb2ludCA9IGV2ZW50LnRhcmdldDsKICAgICAg
ICAgaWYgKGJyZWFrcG9pbnQuZGlzYWJsZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTg2
MiwyNCArODY3LDE0IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBEZWJ1
Z2dlck1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIERlYnVnZ2Vy
QWdlbnQuc2V0UGF1c2VPbkV4Y2VwdGlvbnMoc3RhdGUpOwogICAgIH0KIAotICAgIF9pbnNwZWN0
b3JDbG9zaW5nKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5fc2F2ZUJyZWFrcG9pbnRzKCk7
Ci0gICAgfQotCiAgICAgX3NhdmVCcmVha3BvaW50cygpCiAgICAgewotICAgICAgICB2YXIgc2F2
ZWRCcmVha3BvaW50cyA9IFtdOwotCi0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5f
YnJlYWtwb2ludHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBicmVha3BvaW50ID0g
dGhpcy5fYnJlYWtwb2ludHNbaV07Ci0KLSAgICAgICAgICAgIC8vIE9ubHkgYnJlYWtwb2ludHMg
d2l0aCBVUkxzIGNhbiBiZSBzYXZlZC4gQnJlYWtwb2ludHMgZm9yIHRyYW5zaWVudCBzY3JpcHRz
IGNhbid0LgotICAgICAgICAgICAgaWYgKCFicmVha3BvaW50LnVybCkKLSAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgaWYgKHRoaXMuX3Jlc3RvcmluZ0JyZWFrcG9pbnRzKQorICAg
ICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICBzYXZlZEJyZWFrcG9pbnRzLnB1c2goYnJl
YWtwb2ludC5pbmZvKTsKLSAgICAgICAgfQorICAgICAgICBsZXQgc2F2ZWRCcmVha3BvaW50cyA9
IHRoaXMuX2JyZWFrcG9pbnRzCisgICAgICAgICAgICAuZmlsdGVyKChicmVha3BvaW50KSA9PiAh
IWJyZWFrcG9pbnQudXJsKQorICAgICAgICAgICAgLm1hcCgoYnJlYWtwb2ludCkgPT4gYnJlYWtw
b2ludC5pbmZvKTsKIAogICAgICAgICB0aGlzLl9icmVha3BvaW50c1NldHRpbmcudmFsdWUgPSBz
YXZlZEJyZWFrcG9pbnRzOwogICAgIH0K
</data>
<flag name="review"
          id="291148"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>