<?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>163428</bug_id>
          
          <creation_ts>2016-10-13 20:43:14 -0700</creation_ts>
          <short_desc>Web Inspector: Improve debugger highlight when inside of getter/setter calls</short_desc>
          <delta_ts>2016-10-14 16:06:51 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</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>1240091</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-10-13 20:43:14 -0700</bug_when>
    <thetext>Summary:
Improve debugger highlight when inside of getter/setter calls.

When paused inside of a getter/setter the user may select the parent call frame to see where the getter/setter was invoked. In these cases we should highlight the best part of the parent member expression that we can. 

For example:

    - * is the location JavaScriptCore tells us we are (the divot)
    - |...| is the range we want to highlight

Triggering getter via dot access:

    foo*.x.y.z =&gt; inside x looking at parent call frame =&gt; |foo.x|.y.z
    foo.x*.y.z =&gt; inside y looking at parent call frame =&gt; |foo.x.y|.z

Triggering getter via bracket access:

    foo*[&quot;x&quot;][&quot;y&quot;][&quot;z&quot;] =&gt; inside x looking at parent call frame =&gt; |foo[&quot;x&quot;]|[&quot;y&quot;][&quot;z&quot;]
    foo[&quot;x&quot;]*[&quot;y&quot;][&quot;z&quot;] =&gt; inside y looking at parent call frame =&gt; |foo[&quot;x&quot;][&quot;y&quot;]|[&quot;z&quot;]

We already highlight the most useful expression when inside of a function call:

    func*(foo.x) =&gt; inside func =&gt; |func(foo.x)|
    foo.func*(x) =&gt; inside func =&gt; |foo.func(x)|</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240092</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-10-13 20:43:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/28769061&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240093</commentid>
    <comment_count>2</comment_count>
      <attachid>291562</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-10-13 20:46:17 -0700</bug_when>
    <thetext>Created attachment 291562
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240457</commentid>
    <comment_count>3</comment_count>
      <attachid>291562</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-14 16:06:45 -0700</bug_when>
    <thetext>Comment on attachment 291562
[PATCH] Proposed Fix

Clearing flags on attachment: 291562

Committed r207358: &lt;http://trac.webkit.org/changeset/207358&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240458</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-14 16:06:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291562</attachid>
            <date>2016-10-13 20:46:17 -0700</date>
            <delta_ts>2016-10-14 16:06:45 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>member-expression-1.patch</filename>
            <type>text/plain</type>
            <size>6216</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDRkNmYyYWQuLjNjMjc2NTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE2LTEwLTEzICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogSW1wcm92
ZSBkZWJ1Z2dlciBoaWdobGlnaHQgd2hlbiBpbnNpZGUgb2YgZ2V0dGVyL3NldHRlciBjYWxscwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNDI4Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yODc2OTA2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29k
ZVRleHRFZGl0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0
b3IucHJvdG90eXBlLnRleHRFZGl0b3JFeGVjdXRpb25IaWdobGlnaHRSYW5nZSk6CisgICAgICAg
IFdoZW4gaW4gdGhlIG1pZGRsZSBvZiBhIG1lbWJlciBleHByZXNzaW9uIGF0IGEgJy4nIG9yICdb
JyBnZXQgdGhlIGJlc3QgbWVtYmVyCisgICAgICAgIGV4cHJlc3Npb24gcmFuZ2UuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvci5wcm90b3R5cGUuX3VwZGF0ZUV4ZWN1dGlvblJhbmdlSGlnaGxpZ2h0
KToKKyAgICAgICAgSW5jbHVkZSB0aGUgY2hhcmFjdGVyIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9u
LiBUaGlzIGlzIHVzZWZ1bCBzaW5jZSBBU1QgTm9kZXMKKyAgICAgICAgZG9uJ3QgZ2l2ZSB1cyB0
b2tlbiBpbmZvIGJ1dCB3ZSB3b3VsZCBsaWtlIHRvIGtub3cgaWYgd2UgYXJlIGF0IHBhcnRpY3Vs
YXIgdG9rZW5zLgorCisyMDE2LTEwLTEzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBs
ZS5jb20+CisKICAgICAgICAgVW5jYXVnaHQgRXhjZXB0aW9uOiBUeXBlRXJyb3I6IHRoaXMucG9z
aXRpb25Ub09mZnNldCBpcyBub3QgYSBmdW5jdGlvbiAtIHNlZW4gaG92ZXJpbmcgZXhwcmVzc2lv
bnMgd2l0aCBUeXBlIFByb2ZpbGVyIGVuYWJsZWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzQwNQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg3
NjM5NTM+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCmluZGV4IDM2YzQ2ZWMuLjgz
NmNlMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCkBAIC0xMjE0LDcgKzEy
MTQsNyBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IgPSBjbGFzcyBTb3VyY2VD
b2RlVGV4dEVkaXRvciBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICB0aGlzLl9yZWluc2VydEFs
bElzc3VlcygpOwogICAgIH0KIAotICAgIHRleHRFZGl0b3JFeGVjdXRpb25IaWdobGlnaHRSYW5n
ZShvZmZzZXQsIHBvc2l0aW9uLCBjYWxsYmFjaykKKyAgICB0ZXh0RWRpdG9yRXhlY3V0aW9uSGln
aGxpZ2h0UmFuZ2Uob2Zmc2V0LCBwb3NpdGlvbiwgY2hhcmFjdGVyQXRPZmZzZXQsIGNhbGxiYWNr
KQogICAgIHsKICAgICAgICAgbGV0IHNjcmlwdCA9IHRoaXMuX2dldEFzc29jaWF0ZWRTY3JpcHQo
cG9zaXRpb24pOwogICAgICAgICBpZiAoIXNjcmlwdCkgewpAQCAtMTI4Miw2ICsxMjgyLDggQEAg
V2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUZXh0RWRpdG9yID0gY2xhc3MgU291cmNlQ29kZVRleHRF
ZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgICAgICAgICByZXR1cm4gYUxlbmd0aCAt
IGJMZW5ndGg7CiAgICAgICAgICAgICB9KTsKIAorICAgICAgICAgICAgbGV0IGNoYXJhY3RlckF0
T2Zmc2V0SXNEb3RPckJyYWNrZXQgPSBjaGFyYWN0ZXJBdE9mZnNldCA9PT0gIi4iIHx8IGNoYXJh
Y3RlckF0T2Zmc2V0ID09PSAiWyI7CisKICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
bm9kZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgICAgICBsZXQgbm9kZSA9IG5vZGVzW2ld
OwogCkBAIC0xMjkyLDE0ICsxMjk0LDM4IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVk
aXRvciA9IGNsYXNzIFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAg
ICAgICAvLyBJbiB0aGUgbWlkZGxlIG9mIGEgbWVtYmVyIGV4cHJlc3Npb24uCisgICAgICAgICAg
ICAgICAgLy8gSW4gdGhlIG1pZGRsZSBvZiBhIG1lbWJlciBleHByZXNzaW9uIHdlIHdhbnQgdG8g
aGlnaGxpZ2h0IHRoZSBiZXN0CisgICAgICAgICAgICAgICAgLy8gbWVtYmVyIGV4cHJlc3Npb24g
cmFuZ2UuIFdlIGNhbiBlbmQgdXAgaW4gdGhlIG1pZGRsZSB3aGVuIHdlIGFyZQorICAgICAgICAg
ICAgICAgIC8vIHBhdXNlZCBpbnNpZGUgb2YgYSBnZXR0ZXIgYW5kIHNlbGVjdCB0aGUgcGFyZW50
IGNhbGwgZnJhbWUuIEZvcgorICAgICAgICAgICAgICAgIC8vIHRoZXNlIGNhc2VzIHdlIG1heSBi
ZSBhdCBhICcuJyBvciAnWycgYW5kIHdlIGNhbiBmaW5kIHRoZSBiZXN0IG1lbWJlcgorICAgICAg
ICAgICAgICAgIC8vIGV4cHJlc3Npb24gZnJvbSB0aGVyZS4KKyAgICAgICAgICAgICAgICAvLwor
ICAgICAgICAgICAgICAgIC8vIEV4YW1wbGVzOgorICAgICAgICAgICAgICAgIC8vCisgICAgICAg
ICAgICAgICAgLy8gICAgIGZvbyoueC55LnogPT4gaW5zaWRlIHggbG9va2luZyBhdCBwYXJlbnQg
Y2FsbCBmcmFtZSA9PiB8Zm9vLnh8LnkuegorICAgICAgICAgICAgICAgIC8vICAgICBmb28ueCou
eS56ID0+IGluc2lkZSB5IGxvb2tpbmcgYXQgcGFyZW50IGNhbGwgZnJhbWUgPT4gfGZvby54Lnl8
LnoKKyAgICAgICAgICAgICAgICAvLworICAgICAgICAgICAgICAgIC8vICAgICBmb28qWyJ4Il1b
InkiXVsieiJdID0+IGluc2lkZSB4IGxvb2tpbmcgYXQgcGFyZW50IGNhbGwgZnJhbWUgPT4gfGZv
b1sieCJdfFsieSJdWyJ6Il0KKyAgICAgICAgICAgICAgICAvLyAgICAgZm9vWyJ4Il0qWyJ5Il1b
InoiXSA9PiBpbnNpZGUgeSBsb29raW5nIGF0IHBhcmVudCBjYWxsIGZyYW1lID0+IHxmb29bIngi
XVsieSJdfFsieiJdCisgICAgICAgICAgICAgICAgLy8KICAgICAgICAgICAgICAgICBpZiAobm9k
ZS50eXBlID09PSBXZWJJbnNwZWN0b3IuU2NyaXB0U3ludGF4VHJlZS5Ob2RlVHlwZS5UaGlzRXhw
cmVzc2lvbgotICAgICAgICAgICAgICAgICAgICB8fCBub2RlLnR5cGUgPT09IFdlYkluc3BlY3Rv
ci5TY3JpcHRTeW50YXhUcmVlLk5vZGVUeXBlLklkZW50aWZpZXJFeHByZXNzaW9uKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGxldCBuZXh0Tm9kZSA9IG5vZGVzW2kgKyAxXTsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKG5leHROb2RlICYmIG5leHROb2RlLnR5cGUgPT09IFdlYkluc3BlY3Rvci5T
Y3JpcHRTeW50YXhUcmVlLk5vZGVUeXBlLk1lbWJlckV4cHJlc3Npb24pIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKGNvbnZlcnRSYW5nZU9mZnNldHNUb1NvdXJjZUNvZGVPZmZz
ZXRzKG5leHROb2RlLnJhbmdlKSk7CisgICAgICAgICAgICAgICAgICAgIHx8IChjaGFyYWN0ZXJB
dE9mZnNldElzRG90T3JCcmFja2V0ICYmIChub2RlLnR5cGUgPT09IFdlYkluc3BlY3Rvci5TY3Jp
cHRTeW50YXhUcmVlLk5vZGVUeXBlLklkZW50aWZpZXIgfHwgbm9kZS50eXBlID09PSBXZWJJbnNw
ZWN0b3IuU2NyaXB0U3ludGF4VHJlZS5Ob2RlVHlwZS5NZW1iZXJFeHByZXNzaW9uKSkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgbGV0IG1lbWJlckV4cHJlc3Npb25Ob2RlID0gbnVsbDsKKyAgICAg
ICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgbm9kZXMubGVuZ3RoOyArK2op
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXh0Tm9kZSA9IG5vZGVzW2pdOworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKG5leHROb2RlLnR5cGUgPT09IFdlYkluc3BlY3Rvci5T
Y3JpcHRTeW50YXhUcmVlLk5vZGVUeXBlLk1lbWJlckV4cHJlc3Npb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtZW1iZXJFeHByZXNzaW9uTm9kZSA9IG5leHROb2RlOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChvZmZzZXQgPT09IG1lbWJlckV4cHJlc3Npb25Ob2Rl
LnJhbmdlWzFdKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1lbWJlckV4
cHJlc3Npb25Ob2RlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhjb252ZXJ0
UmFuZ2VPZmZzZXRzVG9Tb3VyY2VDb2RlT2Zmc2V0cyhtZW1iZXJFeHByZXNzaW9uTm9kZS5yYW5n
ZSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAg
ICB9CisKICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soY29udmVydFJhbmdlT2Zmc2V0c1Rv
U291cmNlQ29kZU9mZnNldHMobm9kZS5yYW5nZSkpOwogICAgICAgICAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMKaW5kZXggYmE2NGNjMy4uNTFkMWNm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UZXh0RWRpdG9yLmpzCkBAIC0xMjQxLDggKzEyNDEsOSBAQCBXZWJJbnNwZWN0b3IuVGV4
dEVkaXRvciA9IGNsYXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAg
ICAgICBsZXQgb3JpZ2luYWxPZmZzZXQgPSB0aGlzLmN1cnJlbnRQb3NpdGlvblRvT3JpZ2luYWxP
ZmZzZXQoY3VycmVudFBvc2l0aW9uKTsKICAgICAgICAgbGV0IG9yaWdpbmFsQ29kZU1pcnJvclBv
c2l0aW9uID0gdGhpcy5jdXJyZW50UG9zaXRpb25Ub09yaWdpbmFsUG9zaXRpb24oY3VycmVudFBv
c2l0aW9uKTsKICAgICAgICAgbGV0IG9yaWdpbmFsUG9zaXRpb24gPSBuZXcgV2ViSW5zcGVjdG9y
LlNvdXJjZUNvZGVQb3NpdGlvbihvcmlnaW5hbENvZGVNaXJyb3JQb3NpdGlvbi5saW5lLCBvcmln
aW5hbENvZGVNaXJyb3JQb3NpdGlvbi5jaCk7CisgICAgICAgIGxldCBjaGFyYWN0ZXJBdE9mZnNl
dCA9IHRoaXMuX2NvZGVNaXJyb3IuZ2V0UmFuZ2UoY3VycmVudFBvc2l0aW9uLCB7bGluZTogdGhp
cy5fZXhlY3V0aW9uTGluZU51bWJlciwgY2g6IHRoaXMuX2V4ZWN1dGlvbkNvbHVtbk51bWJlciAr
IDF9KTsKIAotICAgICAgICB0aGlzLl9kZWxlZ2F0ZS50ZXh0RWRpdG9yRXhlY3V0aW9uSGlnaGxp
Z2h0UmFuZ2Uob3JpZ2luYWxPZmZzZXQsIG9yaWdpbmFsUG9zaXRpb24sIChyYW5nZSkgPT4gewor
ICAgICAgICB0aGlzLl9kZWxlZ2F0ZS50ZXh0RWRpdG9yRXhlY3V0aW9uSGlnaGxpZ2h0UmFuZ2Uo
b3JpZ2luYWxPZmZzZXQsIG9yaWdpbmFsUG9zaXRpb24sIGNoYXJhY3RlckF0T2Zmc2V0LCAocmFu
Z2UpID0+IHsKICAgICAgICAgICAgIGxldCBzdGFydCwgZW5kOwogICAgICAgICAgICAgaWYgKCFy
YW5nZSkgewogICAgICAgICAgICAgICAgIC8vIEhpZ2hsaWdodCB0aGUgcmVzdCBvZiB0aGUgbGlu
ZS4K
</data>

          </attachment>
      

    </bug>

</bugzilla>