Style tabs with "»"

Style tabs with "»" based on user preference.

Change-Id: I7381173ec1b50de784d72b000b253a07540b484a
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.java
index 3c38374..e462e2b 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.java
@@ -42,6 +42,7 @@
     String hideNumber();
     String range();
     String rangeHighlight();
+    String showtabs();
   }
 
   @UiField
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.ui.xml b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.ui.xml
index 58940f2..4714fca 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.ui.xml
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.ui.xml
@@ -21,7 +21,7 @@
     @external .CodeMirror, .CodeMirror-lines, .CodeMirror-selectedtext;
     @external .CodeMirror-linenumber, .CodeMirror-vscrollbar;
     @external .cm-keymap-fat-cursor, CodeMirror-cursor;
-    @external .cm-searching, .cm-trailingspace;
+    @external .cm-searching, .cm-trailingspace, .cm-tab;
     .difftable .CodeMirror-lines {
       padding: 0;
     }
@@ -108,6 +108,10 @@
       opacity: 0.8;
       z-index: 2;
     }
+    .showtabs .cm-tab:before {
+      content: "\00bb";
+      color: #f00;
+    }
   </ui:style>
   <g:HTMLPanel styleName='{style.difftable}'>
     <table class='{style.table}'>
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java
index ed9cadc..e4148a0 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java
@@ -443,6 +443,9 @@
         resizeCodeMirror();
       }
     });
+    if (pref.isShowTabs()) {
+      diffTable.addStyleName(DiffTable.style.showtabs());
+    }
   }
 
   private CodeMirror displaySide(DiffInfo.FileMeta meta, String contents,