Would be nice if the review-tool offered to show the corresponding header
authorabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 14 Oct 2011 01:40:23 +0000 (01:40 +0000)
committerabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 14 Oct 2011 01:40:23 +0000 (01:40 +0000)
https://bugs.webkit.org/show_bug.cgi?id=63963

Reviewed by Ojan Vafai.

This is a first cut at adding links to the header file in the review
tool.  If folks like this feature, we can cover more cases in the
future.

* code-review.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@97435 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Websites/bugs.webkit.org/ChangeLog
Websites/bugs.webkit.org/code-review-test.html
Websites/bugs.webkit.org/code-review.js

index d1489a9..e3e3500 100644 (file)
@@ -1,3 +1,16 @@
+2011-10-13  Adam Barth  <abarth@webkit.org>
+
+        Would be nice if the review-tool offered to show the corresponding header
+        https://bugs.webkit.org/show_bug.cgi?id=63963
+
+        Reviewed by Ojan Vafai.
+
+        This is a first cut at adding links to the header file in the review
+        tool.  If folks like this feature, we can cover more cases in the
+        future.
+
+        * code-review.js:
+
 2011-09-14  Ben Wells  <benwells@chromium.org>
 
         PrettyPatch should handle "delta" patch mechanism in git binary patches
index 520fd95..48342c6 100644 (file)
@@ -2,6 +2,7 @@
 <div>FIXME: Run these as part of the layout test suite?</div>
 
 <script>CODE_REVIEW_UNITTEST = true</script>
+<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
 <script src="code-review.js"></script>
 <pre id="output"></pre>
 <script>
@@ -75,6 +76,12 @@ function ASSERT_EQUAL(actual, expected) {
         log('FAILED:\ngot:\n' + actual + '\nexpected:\n' + expected + '');
 }
 
+var links = tracLinks('foo/bar/baz.cpp', '');
+ASSERT_EQUAL($(links).attr('href'), 'http://trac.webkit.org/log/trunk/foo/bar/baz.h');
+
+var links = tracLinks('foo/bar.cpp/qux.mm', '');
+ASSERT_EQUAL($(links).attr('href'), 'http://trac.webkit.org/log/trunk/foo/bar.cpp/qux.h');
+
 // Basic setItem.
 var ls = new MockLocalStorage();
 new MockDraftCommentSaver('1234', ls).save();
index 98e4606..bac2224 100644 (file)
@@ -184,7 +184,7 @@ var CODE_REVIEW_UNITTEST;
 
   if (CODE_REVIEW_UNITTEST)
     window['DraftCommentSaver'] = DraftCommentSaver;
-  
+
   DraftCommentSaver.prototype._json = function() {
     var comments = $('.comment');
     var comment_store = [];
@@ -623,9 +623,21 @@ var CODE_REVIEW_UNITTEST;
     var trac_links = $('<a target="_blank">annotate</a><a target="_blank">revision log</a>');
     trac_links[0].href = 'http://trac.webkit.org/browser/trunk/' + file_name + '?annotate=blame' + url_hash;
     trac_links[1].href = 'http://trac.webkit.org/log/trunk/' + file_name;
+    var implementation_suffix_list = ['.cpp', '.mm'];
+    for (var i = 0; i < implementation_suffix_list.length; ++i) {
+      var suffix = implementation_suffix_list[i];
+      if (file_name.lastIndexOf(suffix) == file_name.length - suffix.length) {
+        trac_links.prepend('<a target="_blank">header</a>');
+        var stem = file_name.substr(0, file_name.length - suffix.length);
+        trac_links[0].href= 'http://trac.webkit.org/log/trunk/' + stem + '.h';
+      }
+    }
     return trac_links;
   }
 
+  if (CODE_REVIEW_UNITTEST)
+    window.tracLinks = tracLinks;
+
   function addExpandLinks(file_name) {
     if (file_name.indexOf('ChangeLog') != -1)
       return;
@@ -1059,6 +1071,8 @@ var CODE_REVIEW_UNITTEST;
   }
 
   $(document).ready(function() {
+    if (CODE_REVIEW_UNITTEST)
+      return;
     crawlDiff();
     fetchHistory();
     $(document.body).prepend('<div id="message">' +