1
- function appendAnchor ( cellElement , bug_view_link ) {
2
- var anchor = document . createElement ( "A" ) ;
3
- anchor . text = linkText ;
4
- anchor . href = bug_view_link ;
1
+ ( function ( ) {
2
+ var baseAnchor = document . getElementById ( "view-diff-anchor" ) ;
3
+ var diffPageUrl = baseAnchor . getAttribute ( 'data-base-href' ) ;
5
4
6
- cellElement . appendChild ( getSplitter ( ) ) ;
7
- cellElement . appendChild ( anchor ) ;
8
- }
5
+ baseAnchor . removeAttribute ( 'id' ) ;
6
+ baseAnchor . removeAttribute ( 'data-base-href' ) ;
9
7
10
- function getSplitter ( ) {
11
- var span = document . createElement ( "SPAN" ) ;
12
- span . innerHTML = " | "
8
+ function appendAnchor ( cellElement , bug_view_link ) {
9
+ var anchor = $ . clone ( baseAnchor ) ;
10
+ anchor . href = bug_view_link ;
11
+ anchor . style . display = 'inline' ;
13
12
14
- return span ;
15
- }
13
+ cellElement . appendChild ( getSplitter ( ) ) ;
14
+ cellElement . appendChild ( anchor ) ;
15
+ }
16
16
17
- function getQueryString ( url ) {
18
- var questionMarkIndex = url . indexOf ( '?' ) ;
17
+ function getSplitter ( ) {
18
+ var span = document . createElement ( "SPAN" ) ;
19
+ span . innerHTML = " | "
19
20
20
- if ( questionMarkIndex === - 1 ) return '' ;
21
+ return span ;
22
+ }
21
23
22
- var newUrl = url . slice ( questionMarkIndex + 1 ) . replace ( "#r" , "&last=" ) ;
24
+ function getQueryString ( url ) {
25
+ var questionMarkIndex = url . indexOf ( '?' ) ;
23
26
24
- return '&' + newUrl ;
25
- }
27
+ if ( questionMarkIndex === - 1 ) return '' ;
26
28
27
- function addDiffViewLink ( ) {
28
- var issueHistory = document . getElementById ( "history_open" ) ;
29
+ var newUrl = url . slice ( questionMarkIndex + 1 ) . replace ( "#r" , "&last=" ) ;
29
30
30
- var rows = issueHistory . getElementsByTagName ( "tr" ) ;
31
+ return '&' + newUrl ;
32
+ }
31
33
32
- for ( var i = 0 ; i < rows . length ; i ++ ) {
33
- var changeCell = rows [ i ] . lastElementChild ;
34
+ function addDiffViewLink ( ) {
35
+ var issueHistory = $ ( "#history tbody" ) ;
36
+ var rows = issueHistory [ 0 ] . getElementsByTagName ( "tr" ) ;
34
37
35
- if ( ! changeCell ) continue ;
38
+ for ( var i = 0 ; i < rows . length ; i ++ ) {
39
+ var changeCell = rows [ i ] . lastElementChild ;
36
40
37
- var cellAnchor = changeCell . getElementsByTagName ( "a" ) ;
41
+ if ( ! changeCell ) continue ;
38
42
39
- if ( ! cellAnchor . length ) continue ;
43
+ var cellAnchor = changeCell . getElementsByTagName ( "a" ) ;
40
44
41
- var revisionUrl = cellAnchor [ 0 ] . getAttribute ( "href" ) ;
45
+ if ( ! cellAnchor . length ) continue ;
42
46
43
- if ( revisionUrl . indexOf ( "bug_revision_view_page" ) === - 1 ) {
44
- continue ;
45
- }
47
+ var revisionUrl = cellAnchor [ 0 ] . getAttribute ( "href" ) ;
46
48
47
- var queryString = getQueryString ( revisionUrl ) ;
49
+ if ( revisionUrl . indexOf ( "bug_revision_view_page" ) === - 1 ) {
50
+ continue ;
51
+ }
48
52
49
- appendAnchor ( changeCell , diffPageUrl + queryString ) ;
53
+ var queryString = getQueryString ( revisionUrl ) ;
54
+
55
+ appendAnchor ( changeCell , diffPageUrl + queryString ) ;
56
+ }
50
57
}
51
- }
52
58
53
- if ( window . addEventListener ) {
54
- window . addEventListener ( 'load' , addDiffViewLink )
55
- } else {
56
- window . attachEvent ( 'onload' , addDiffViewLink )
57
- }
59
+ if ( window . addEventListener ) {
60
+ window . addEventListener ( 'load' , addDiffViewLink )
61
+ } else {
62
+ window . attachEvent ( 'onload' , addDiffViewLink )
63
+ }
64
+ } ) ( ) ;
0 commit comments