2011-01-14 Ojan Vafai <ojan@chromium.org>
authorojan@chromium.org <ojan@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 14 Jan 2011 20:30:45 +0000 (20:30 +0000)
committerojan@chromium.org <ojan@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 14 Jan 2011 20:30:45 +0000 (20:30 +0000)
        Reviewed by Adam Roben.

        fix bugs going back and forth between unified and sidebyside
        https://bugs.webkit.org/show_bug.cgi?id=52470

        Now that we're appending DOM nodes directly, we only want to
        get the first ".text" element in the subtree. In the cases
        where there are multiple, their contents are the same.

        Also, when making side-by-side expansion lines, we need to
        clone the contents so we have a second copy to append to the DOM.

        * code-review.js:

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

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

index 23e8e80..1be7cb7 100644 (file)
@@ -1,3 +1,19 @@
+2011-01-14  Ojan Vafai  <ojan@chromium.org>
+
+        Reviewed by Adam Roben.
+
+        fix bugs going back and forth between unified and sidebyside
+        https://bugs.webkit.org/show_bug.cgi?id=52470
+
+        Now that we're appending DOM nodes directly, we only want to
+        get the first ".text" element in the subtree. In the cases
+        where there are multiple, their contents are the same.
+
+        Also, when making side-by-side expansion lines, we need to
+        clone the contents so we have a second copy to append to the DOM.
+
+        * code-review.js:
+
 2011-01-13  Ojan Vafai  <ojan@chromium.org>
 
         Reviewed by Adam Barth.
index a8bde40..18775ff 100644 (file)
 
   function sideBySideExpansionLine(line_number, contents) {
     var line = $('<div class="ExpansionLine"></div>');
-    line.append(lineSide('from', contents, true, line_number));
+    // Clone the contents so we have two copies we can put back in the DOM.
+    line.append(lineSide('from', contents.clone(true), true, line_number));
     line.append(lineSide('to', contents, true, line_number));
     return line;
   }
     var convert_function = diff_type == 'sidebyside' ? sideBySideifyLine : unifyLine;
     var from = fromLineNumber(line);
     var to = toLineNumber(line);
-    var contents = $('.text', line);
+    var contents = $('.text', line).first();
     var classNames = classNamesForMovingLine(line);
     var attributes = attributesForMovingLine(line);
     var id = line.id;
 
   function convertExpansionLine(diff_type, line) {
     var convert_function = diff_type == 'sidebyside' ? sideBySideExpansionLine : unifiedExpansionLine;
-    var contents = $('.text', line);
+    var contents = $('.text', line).first();
     var line_number = fromLineNumber(line);
     var new_line = convert_function(line_number, contents);
     $(line).replaceWith(new_line);