<?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>38649</bug_id>
          
          <creation_ts>2010-05-06 09:25:55 -0700</creation_ts>
          <short_desc>Web Inspector: implement panels history traversal on Cmd+Left/Right.</short_desc>
          <delta_ts>2010-05-06 10:18:29 -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 (Deprecated)</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>abarth</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>221725</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-05-06 09:25:55 -0700</bug_when>
    <thetext>Patch to follow. I did not put a history object into a separate file, because it was too small. Will do it upon request. Although our poor parsers would need to parse more copyright comments!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221729</commentid>
    <comment_count>1</comment_count>
      <attachid>55250</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-05-06 09:31:24 -0700</bug_when>
    <thetext>Created attachment 55250
[PATCH] Proposed change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221757</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-05-06 09:53:50 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/inspector/front-end/inspector.js
Committed r58891</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221761</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-05-06 09:56:04 -0700</bug_when>
    <thetext>I just have a few NITs. Otherwise this patch looks awesome! Great idea.

&gt;      switch (event.keyIdentifier) {
&gt; +        case &quot;Left&quot;:
&gt; +            if (isMac)
&gt; +                var isBackKey = event.metaKey;
&gt; +            else
&gt; +                var isBackKey = event.ctrlKey;

&gt; +
&gt; +        case &quot;Right&quot;:
&gt; +            if (isMac)
&gt; +                var isForwardKey = event.metaKey;
&gt; +            else
&gt; +                var isForwardKey = event.ctrlKey;

I think a ternary operator in these cases would read much better here.

  var isBackKey = (isMac ? event.metaKey : event.ctrlKey);

This also seems like such a common task (isn&apos;t it used all over?) that it might
be worth putting into a method.



&gt; +        this._history.splice(this._historyIterator + 1, this._history.length - this._historyIterator - 1);

The second parameter might not be required. I know that JavaScriptCore
implements the following &quot;Spidermonkey Extension&quot;: (from MDC)

&gt;  If no `howMany` parameter is specified (second syntax above, which is
&gt;  a SpiderMonkey extension), all elements after index are removed.

Producing the simpler:

  this._history.splice(this._historyIterator + 1);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221774</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-06 10:14:50 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/58891 might have broken GTK Linux 32-bit Release
The following changes are on the blame list:
http://trac.webkit.org/changeset/58891
http://trac.webkit.org/changeset/58892</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221776</commentid>
    <comment_count>5</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-05-06 10:18:29 -0700</bug_when>
    <thetext>Not this one.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55250</attachid>
            <date>2010-05-06 09:31:24 -0700</date>
            <delta_ts>2010-05-06 09:53:34 -0700</delta_ts>
            <desc>[PATCH] Proposed change.</desc>
            <filename>panel_history</filename>
            <type>text/plain</type>
            <size>4142</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Y2ZmYTY5Mi4uNGIyMTc1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wNS0wNiAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBpbXBsZW1lbnQgcGFuZWxzIGhpc3Rv
cnkgdHJhdmVyc2FsIG9uIENtZCtMZWZ0L1JpZ2h0LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODY0OQorCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iuc2V0IGN1cnJlbnRQ
YW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IubG9hZGVkKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5kb2N1bWVudEtleURvd24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhbmVsSGlzdG9y
eSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUGFuZWxIaXN0b3J5LnByb3RvdHlwZS5jYW5Hb0Jh
Y2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhbmVsSGlzdG9yeS5wcm90b3R5cGUuZ29CYWNr
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbEhpc3RvcnkucHJvdG90eXBlLmNhbkdvRm9y
d2FyZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUGFuZWxIaXN0b3J5LnByb3RvdHlwZS5nb0Zv
cndhcmQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhbmVsSGlzdG9yeS5wcm90b3R5cGUuc2V0
UGFuZWwpOgorCiAyMDEwLTA1LTA1ICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGRjZGMyYjcuLjlhZmVmY2MgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtMTkwLDggKzE5MCwxMCBAQCB2YXIg
V2ViSW5zcGVjdG9yID0gewogICAgICAgICB9CiAKICAgICAgICAgZm9yICh2YXIgcGFuZWxOYW1l
IGluIFdlYkluc3BlY3Rvci5wYW5lbHMpIHsKLSAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3Iu
cGFuZWxzW3BhbmVsTmFtZV0gPT0geCkKKyAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IucGFu
ZWxzW3BhbmVsTmFtZV0gPT09IHgpIHsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JCYWNrZW5k
LnN0b3JlTGFzdEFjdGl2ZVBhbmVsKHBhbmVsTmFtZSk7CisgICAgICAgICAgICAgICAgdGhpcy5f
cGFuZWxIaXN0b3J5LnNldFBhbmVsKHBhbmVsTmFtZSk7CisgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICB9LAogCkBAIC00NjAsNiArNDYyLDcgQEAgV2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1
bmN0aW9uKCkKIAogICAgIHRoaXMucGFuZWxzID0ge307CiAgICAgdGhpcy5fY3JlYXRlUGFuZWxz
KCk7CisgICAgdGhpcy5fcGFuZWxIaXN0b3J5ID0gbmV3IFdlYkluc3BlY3Rvci5QYW5lbEhpc3Rv
cnkoKTsKIAogICAgIHZhciB0b29sYmFyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0b29sYmFyIik7CiAgICAgdmFyIHByZXZpb3VzVG9vbGJhckl0ZW0gPSB0b29sYmFyRWxlbWVu
dC5jaGlsZHJlblswXTsKQEAgLTY5OSw4ICs3MDIsMzEgQEAgV2ViSW5zcGVjdG9yLmRvY3VtZW50
S2V5RG93biA9IGZ1bmN0aW9uKGV2ZW50KQogICAgIH0KIAogICAgIHZhciBpc01hYyA9IFdlYklu
c3BlY3Rvci5pc01hYygpOwotCiAgICAgc3dpdGNoIChldmVudC5rZXlJZGVudGlmaWVyKSB7Cisg
ICAgICAgIGNhc2UgIkxlZnQiOgorICAgICAgICAgICAgaWYgKGlzTWFjKQorICAgICAgICAgICAg
ICAgIHZhciBpc0JhY2tLZXkgPSBldmVudC5tZXRhS2V5OworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIHZhciBpc0JhY2tLZXkgPSBldmVudC5jdHJsS2V5OworCisgICAgICAgICAg
ICBpZiAoaXNCYWNrS2V5ICYmIHRoaXMuX3BhbmVsSGlzdG9yeS5jYW5Hb0JhY2soKSkgeworICAg
ICAgICAgICAgICAgIHRoaXMuX3BhbmVsSGlzdG9yeS5nb0JhY2soKTsKKyAgICAgICAgICAgICAg
ICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgY2FzZSAiUmlnaHQiOgorICAgICAgICAgICAgaWYgKGlzTWFjKQorICAg
ICAgICAgICAgICAgIHZhciBpc0ZvcndhcmRLZXkgPSBldmVudC5tZXRhS2V5OworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIHZhciBpc0ZvcndhcmRLZXkgPSBldmVudC5jdHJsS2V5
OworCisgICAgICAgICAgICBpZiAoaXNGb3J3YXJkS2V5ICYmIHRoaXMuX3BhbmVsSGlzdG9yeS5j
YW5Hb0ZvcndhcmQoKSkgeworICAgICAgICAgICAgICAgIHRoaXMuX3BhbmVsSGlzdG9yeS5nb0Zv
cndhcmQoKTsKKyAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgY2FzZSAiVSswMDFCIjogLy8g
RXNjYXBlIGtleQogICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAg
ICAgIGlmICh0aGlzLmRyYXdlci5mdWxsUGFuZWwpCkBAIC0xOTY3LDMgKzE5OTMsNDYgQEAgV2Vi
SW5zcGVjdG9yLk1JTUVUeXBlcyA9IHsKICAgICAidGV4dC9qc2NyaXB0IjogICAgICAgICAgICAg
ICAgezQ6IHRydWV9LAogICAgICJ0ZXh0L2xpdmVzY3JpcHQiOiAgICAgICAgICAgICB7NDogdHJ1
ZX0sCiB9CisKK1dlYkluc3BlY3Rvci5QYW5lbEhpc3RvcnkgPSBmdW5jdGlvbigpCit7CisgICAg
dGhpcy5faGlzdG9yeSA9IFtdOworICAgIHRoaXMuX2hpc3RvcnlJdGVyYXRvciA9IC0xOworfQor
CitXZWJJbnNwZWN0b3IuUGFuZWxIaXN0b3J5LnByb3RvdHlwZSA9IHsKKyAgICBjYW5Hb0JhY2s6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9oaXN0b3J5SXRlcmF0b3Ig
PiAwOworICAgIH0sCisKKyAgICBnb0JhY2s6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRo
aXMuX2luSGlzdG9yeSA9IHRydWU7CisgICAgICAgIFdlYkluc3BlY3Rvci5jdXJyZW50UGFuZWwg
PSBXZWJJbnNwZWN0b3IucGFuZWxzW3RoaXMuX2hpc3RvcnlbLS10aGlzLl9oaXN0b3J5SXRlcmF0
b3JdXTsKKyAgICAgICAgZGVsZXRlIHRoaXMuX2luSGlzdG9yeTsKKyAgICB9LAorCisgICAgY2Fu
R29Gb3J3YXJkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5faGlzdG9y
eUl0ZXJhdG9yIDwgdGhpcy5faGlzdG9yeS5sZW5ndGggLSAxOworICAgIH0sCisKKyAgICBnb0Zv
cndhcmQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX2luSGlzdG9yeSA9IHRydWU7
CisgICAgICAgIFdlYkluc3BlY3Rvci5jdXJyZW50UGFuZWwgPSBXZWJJbnNwZWN0b3IucGFuZWxz
W3RoaXMuX2hpc3RvcnlbKyt0aGlzLl9oaXN0b3J5SXRlcmF0b3JdXTsKKyAgICAgICAgZGVsZXRl
IHRoaXMuX2luSGlzdG9yeTsKKyAgICB9LAorCisgICAgc2V0UGFuZWw6IGZ1bmN0aW9uKHBhbmVs
TmFtZSkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9pbkhpc3RvcnkpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgdGhpcy5faGlzdG9yeS5zcGxpY2UodGhpcy5faGlzdG9yeUl0ZXJh
dG9yICsgMSwgdGhpcy5faGlzdG9yeS5sZW5ndGggLSB0aGlzLl9oaXN0b3J5SXRlcmF0b3IgLSAx
KTsKKyAgICAgICAgaWYgKCF0aGlzLl9oaXN0b3J5Lmxlbmd0aCB8fCB0aGlzLl9oaXN0b3J5W3Ro
aXMuX2hpc3RvcnkubGVuZ3RoIC0gMV0gIT09IHBhbmVsTmFtZSkKKyAgICAgICAgICAgIHRoaXMu
X2hpc3RvcnkucHVzaChwYW5lbE5hbWUpOworICAgICAgICB0aGlzLl9oaXN0b3J5SXRlcmF0b3Ig
PSB0aGlzLl9oaXN0b3J5Lmxlbmd0aCAtIDE7CisgICAgfQorfQo=
</data>
<flag name="review"
          id="39399"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>