patternfly-sass 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.travis.yml +10 -2
  4. data/Gemfile +1 -0
  5. data/Rakefile +2 -4
  6. data/assets/stylesheets/_patternfly.scss +4 -4
  7. data/assets/stylesheets/patternfly/_bootstrap-datepicker.scss +21 -1
  8. data/assets/stylesheets/patternfly/_cards.scss +80 -2
  9. data/assets/stylesheets/patternfly/{_bootstrap-combobox-css.scss → _ext-bootstrap-combobox.scss} +0 -0
  10. data/assets/stylesheets/patternfly/{_bootstrap-datepicker-css.scss → _ext-bootstrap-datepicker.scss} +0 -0
  11. data/assets/stylesheets/patternfly/{_bootstrap-select-css.scss → _ext-bootstrap-select.scss} +7 -8
  12. data/assets/stylesheets/patternfly/{_c3-css.scss → _ext-c3.scss} +0 -0
  13. data/assets/stylesheets/patternfly/_variables.scss +1 -0
  14. data/bower.json +20 -4
  15. data/lib/patternfly-sass/version.rb +2 -2
  16. data/patternfly-sass.gemspec +12 -0
  17. data/spec/compare_spec.rb +2 -3
  18. data/spec/html/basic.html +171 -171
  19. data/spec/html/bootstrap-datepicker.html +26 -7
  20. data/spec/html/cards.html +32 -24
  21. data/spec/html/datatables-columns.html +171 -171
  22. data/spec/html/datatables.html +171 -171
  23. data/spec/html/dist/css/patternfly-additions.css +110 -2
  24. data/spec/html/dist/css/patternfly-additions.css.map +1 -1
  25. data/spec/html/dist/css/patternfly-additions.min.css +1 -1
  26. data/spec/html/dist/css/patternfly-additions.min.css.map +1 -1
  27. data/spec/html/dist/css/patternfly.css.map +1 -1
  28. data/spec/html/dist/css/patternfly.min.css.map +1 -1
  29. data/spec/html/main.html +16 -0
  30. data/spec/html/spinner.html +1 -1
  31. data/spec/html/tab.html +171 -171
  32. data/tasks/converter.rb +16 -28
  33. metadata +174 -33
  34. data/.bowerrc +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 412a1efbc17e98346b6aebeae1e3c5e38120e6fe
4
- data.tar.gz: ff9e02e6a17f825c56ad437245f5b00245588309
3
+ metadata.gz: 99614e4e02f728a56c22849f649afacec4d02cd7
4
+ data.tar.gz: 048beb48cdf8a75e7fd9c855f27eb4cb4ce97592
5
5
  SHA512:
6
- metadata.gz: 67a2d1d6f1940030504d11c9f49f2b4d0a82d49f35a285047dfc030eb3f8e90a8d7365a6a433a4da6cef42b9acf21494ffa9815400201a9f2743492799c3733e
7
- data.tar.gz: 1363ca188d7f99ca1a706e730a1ff8426790638507a8010fee891b50ba594cb5dbe5d8d278f478fcfcea6a52bacdb0bfac4eece6e891cc3131fbfdf0a8f0e96f
6
+ metadata.gz: 73c3e2ca77c40e787b21cf3dc4ce0210929ae3a92cdac1b040eba1d0866cb03e8d417edf6683f4dbaff05873c47954ef7b6fa2b2d79e565fca3cd0c4f9916058
7
+ data.tar.gz: e8a0c4de5f6b8185a0d8685d8beb8f7fcc6827eabfb7d4f8cba70b6ab5d851d5dcd7f290d0c4dae78fe7a4456d316d87238c29d297cf7468a03c3e83ef0aa911
data/.gitignore CHANGED
@@ -35,7 +35,7 @@ tmp
35
35
 
36
36
  # Directories with test images
37
37
  spec/results
38
- spec/components
38
+ bower_components
39
39
 
40
40
  # Gemfile.lock
41
41
  /Gemfile.lock
@@ -2,7 +2,7 @@ language: ruby
2
2
  cache:
3
3
  bundler: true
4
4
  directories:
5
- - spec/components
5
+ - bower_components
6
6
  sudo: false
7
7
  rvm:
8
8
  - 2.0.0
@@ -13,7 +13,7 @@ before_script:
13
13
  - export PID=$!
14
14
  - "export DISPLAY=:99.0"
15
15
  - "sh -e /etc/init.d/xvfb start"
16
- - sleep 3 # give xvfb some time to start
16
+ - sleep 5 # give xvfb some time to start
17
17
  script:
18
18
  - bundle exec rake spec
19
19
  after_failure:
@@ -21,3 +21,11 @@ after_failure:
21
21
  after_script:
22
22
  - kill -2 $PID
23
23
  - sleep 2
24
+ env:
25
+ matrix:
26
+ - "TOLERANCE=0.01"
27
+ - "TOLERANCE=0.00"
28
+ matrix:
29
+ fast_finish: true
30
+ allow_failures:
31
+ - env: TOLERANCE=0.00
data/Gemfile CHANGED
@@ -1,3 +1,4 @@
1
1
  source 'https://rubygems.org'
2
+ source "https://rails-assets.org"
2
3
 
3
4
  gemspec
data/Rakefile CHANGED
@@ -49,7 +49,7 @@ task :serve => :deps do
49
49
  '/less/dist/fonts' => 'assets/fonts/patternfly',
50
50
  '/less/dist/img' => 'assets/images/patternfly',
51
51
  '/less/dist/js' => 'assets/javascripts',
52
- '/less/components' => 'spec/components',
52
+ '/less/components' => 'bower_components',
53
53
  '/less/components/bootstrap/dist/js' => File.join(BOOTSTRAP_GEM_ROOT, 'assets', 'javascripts'),
54
54
  '/less/components/bootstrap/dist/fonts' => File.join(BOOTSTRAP_GEM_ROOT, 'assets', 'fonts', 'bootstrap'),
55
55
  '/less/components/font-awesome/fonts' => File.join(FONTAWESOME_GEM_ROOT, 'assets', 'fonts', 'font-awesome'),
@@ -60,7 +60,7 @@ task :serve => :deps do
60
60
  '/sass/dist/images' => 'assets/images',
61
61
  '/sass/dist/js' => 'assets/javascripts',
62
62
  '/sass/dist/css' => 'tmp',
63
- '/sass/components' => 'spec/components',
63
+ '/sass/components' => 'bower_components',
64
64
  '/sass/components/bootstrap/dist/js' => File.join(BOOTSTRAP_GEM_ROOT, 'assets', 'javascripts'),
65
65
  '/sass/dist/fonts/font-awesome' => File.join(FONTAWESOME_GEM_ROOT, 'assets', 'fonts', 'font-awesome'),
66
66
  '/sass/patternfly' => 'spec/html'
@@ -73,8 +73,6 @@ end
73
73
  desc "Install testing dependencies using bower"
74
74
  task :deps do
75
75
  system("bower install", out: $stdout, err: :out)
76
- # This is a workaround for removing the obsoletely installed bootstrap and jquery
77
- FileUtils.rm_rf 'spec/components/bootstrap'
78
76
  end
79
77
 
80
78
  desc "Clean up the test results"
@@ -79,13 +79,13 @@
79
79
  @import "patternfly/type";
80
80
  /* PatternFly additions to Bootstrap */
81
81
  // Bootstrap-Combobox
82
- @import "patternfly/bootstrap-combobox-css";
82
+ @import "patternfly/ext-bootstrap-combobox";
83
83
  // Bootstrap-Datepicker
84
- @import "patternfly/bootstrap-datepicker-css";
84
+ @import "patternfly/ext-bootstrap-datepicker";
85
85
  // Bootstrap-Select
86
- @import "patternfly/bootstrap-select-css";
86
+ @import "patternfly/ext-bootstrap-select";
87
87
  // C3 charts
88
- @import "patternfly/c3-css";
88
+ @import "patternfly/ext-c3";
89
89
  @import "patternfly/blank-slate";
90
90
  @import "patternfly/bootstrap-combobox";
91
91
  @import "patternfly/bootstrap-datepicker";
@@ -2,9 +2,29 @@
2
2
  // Bootstrap-Datepicker
3
3
  // --------------------------------------------------
4
4
 
5
+ .bootstrap-datepicker[readonly] {
6
+ background-color: $input-bg;
7
+ border-color: $input-border !important;
8
+ color: $input-color;
9
+ @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
10
+ @include form-control-focus;
11
+ &:hover {
12
+ border-color: $input-border-hover !important;
13
+ .has-error & {
14
+ border-color: darken($state-danger-text, 10%) !important;
15
+ }
16
+ .has-success & {
17
+ border-color: darken($state-success-text, 10%) !important;
18
+ }
19
+ .has-warning & {
20
+ border-color: darken($state-warning-text, 10%) !important;
21
+ }
22
+ }
23
+ }
24
+
5
25
  .datepicker {
6
26
  border-radius: $border-radius-base;
7
- .datepicker-switch, tfoot .today {
27
+ .datepicker-switch, tfoot .clear, tfoot .today {
8
28
  font-size: $font-size-large;
9
29
  font-weight: 500;
10
30
  }
@@ -10,16 +10,66 @@
10
10
  background: $card-pf-bg-color;
11
11
  border-top: 2px solid $card-pf-border-top-color;
12
12
  @include box-shadow(0 1px 1px rgba(0,0,0,.175));
13
- padding: 0 $grid-gutter-width/2;
14
13
  margin: 0 (-($grid-gutter-width/4)) $grid-gutter-width/2;
14
+ padding: 0 $grid-gutter-width/2;
15
15
  &.card-pf-accented {
16
16
  border-top-color: $card-pf-accented-border-top-color;
17
17
  }
18
+ &.card-pf-aggregate-status {
19
+ .card-pf-title, .card-pf-aggregate-status-notifications {
20
+ a {
21
+ color: $text-color;
22
+ &.add {
23
+ color: $link-color;
24
+ &:hover {
25
+ color: $link-hover-color;
26
+ }
27
+ }
28
+ &:hover {
29
+ color: $link-color;
30
+ }
31
+ }
32
+ }
33
+ }
34
+ &.card-pf-aggregate-status, &.card-pf-status {
35
+ padding: 0 $grid-gutter-width/4;
36
+ text-align: center;
37
+ }
38
+ &.card-pf-status {
39
+ position: relative;
40
+ }
41
+ @media (min-width: $grid-float-breakpoint) {
42
+ &.card-pf-bleed-left {
43
+ margin-left: -($grid-gutter-width/2);
44
+ }
45
+ &.card-pf-bleed-right {
46
+ border-right: 1px solid $card-pf-border-color;
47
+ margin-right: -($grid-gutter-width/2);
48
+ }
49
+ }
50
+ }
51
+
52
+ .card-pf-aggregate-status-notifications {
53
+ font-size: $font-size-base * 2; // 24px
54
+ font-weight: 300;
55
+ .fa, .pficon {
56
+ font-size: $font-size-base * 1.5; // 18px
57
+ margin-right: 7px;
58
+ }
59
+ .card-pf-aggregate-status-notification + .card-pf-aggregate-status-notification {
60
+ border-left: 1px solid $card-pf-border-color;
61
+ margin-left: $grid-gutter-width/8 - 2;
62
+ padding-left: $grid-gutter-width/4;
63
+ }
18
64
  }
19
65
 
20
66
  .card-pf-body {
21
67
  margin: $grid-gutter-width/2 0;
22
68
  padding: 0 0 $grid-gutter-width/2;
69
+ .card-pf-aggregate-status & {
70
+ margin-top: $grid-gutter-width/4;
71
+ padding-bottom: $grid-gutter-width/4;
72
+ }
23
73
  > *:last-child {
24
74
  margin-bottom: 0;
25
75
  }
@@ -45,9 +95,37 @@
45
95
 
46
96
  .card-pf-title {
47
97
  font-size: $font-size-h3;
48
- font-weight: 300;
98
+ font-weight: 400;
49
99
  margin: $grid-gutter-width/2 0;
50
100
  padding: 0;
101
+ .card-pf-aggregate-status & {
102
+ font-size: $font-size-large;
103
+ margin: $grid-gutter-width/4 0 0;
104
+ .fa, .pficon {
105
+ color: $card-pf-aggregate-status-title-icon-color;
106
+ font-size: $font-size-h3;
107
+ margin-right: 7px;
108
+ }
109
+ }
110
+ .card-pf-aggregate-status-count, .card-pf-status-count {
111
+ font-size: $font-size-h3;
112
+ }
113
+ .card-pf-status & {
114
+ font-size: $font-size-base;
115
+ margin: $grid-gutter-width/4 0 0;
116
+ padding: 0 0 $grid-gutter-width/4;
117
+ .fa, .pficon {
118
+ color: $card-pf-aggregate-status-title-icon-color;
119
+ font-size: $font-size-large * 2;
120
+ position: absolute;
121
+ left: $grid-gutter-width/4;
122
+ margin-top: -$font-size-large;
123
+ top: 50%;
124
+ }
125
+ }
126
+ .card-pf-status-count {
127
+ display: block;
128
+ }
51
129
  }
52
130
 
53
131
  .cards-pf {
@@ -1,10 +1,10 @@
1
- /*!
2
- * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select)
3
- *
4
- * Copyright 2013-2015 bootstrap-select
5
- * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
6
- */
7
-
1
+ /*!
2
+ * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select)
3
+ *
4
+ * Copyright 2013-2015 bootstrap-select
5
+ * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
6
+ */
7
+
8
8
  .bootstrap-select {
9
9
  width: 220px \0;
10
10
  /*IE9 and below*/
@@ -260,4 +260,3 @@ select.mobile-device {
260
260
  height: 100% !important;
261
261
  opacity: 0;
262
262
  }
263
- /*# sourceMappingURL=bootstrap-select.css.map */
@@ -10,6 +10,7 @@ $btn-default-bg-img-start: #fafafa !def
10
10
  $btn-default-bg-img-stop: #ededed !default;
11
11
  $btn-xs-font-weight: 400 !default;
12
12
  $card-pf-accented-border-top-color: #39a5dc !default;
13
+ $card-pf-aggregate-status-title-icon-color: #72767b !default;
13
14
  $card-pf-bg-color: #fff !default;
14
15
  $card-pf-border-color: #d1d1d1 !default;
15
16
  $card-pf-border-top-color: transparent !default;
data/bower.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "PatternFlySass",
3
- "version": "1.3.1",
2
+ "name": "patternfly-sass",
3
+ "version": "2.1.0",
4
4
  "license": "Apache-2.0",
5
5
  "homepage": "https://www.patternfly.org",
6
6
  "authors": [
@@ -8,14 +8,28 @@
8
8
  "Dávid Halász"
9
9
  ],
10
10
  "description": "Red Hat's Patternfly, converted to Sass and ready to drop into Rails",
11
- "main": "assets/stylesheets/_patternfly.scss",
11
+ "reposityory": {
12
+ "type": "git",
13
+ "url": "git://github.com/patternfly/patternfly-sass"
14
+ },
15
+ "moduleType": "globals",
16
+ "main": [
17
+ "assets/stylesheets/_patternfly.scss",
18
+ "assets/javascripts/patternfly.js"
19
+ ],
12
20
  "ignore": [
13
21
  "**/.*",
14
22
  "node_modules",
23
+ "lib",
24
+ "tasks",
25
+ "pkg",
15
26
  "bower_components",
16
- "spec"
27
+ "spec",
28
+ "tmp",
29
+ "package.json"
17
30
  ],
18
31
  "devDependencies": {
32
+ "bootstrap-sass": "~3.3.5",
19
33
  "bootstrap-combobox": "~1.1.6",
20
34
  "bootstrap-datepicker": "~1.4.0",
21
35
  "bootstrap-select": "~1.7.3",
@@ -24,7 +38,9 @@
24
38
  "datatables": "~1.10.7",
25
39
  "datatables-colreorder": "~1.1.3",
26
40
  "datatables-colvis": "~1.1.2",
41
+ "font-awesome": "~4.3.0",
27
42
  "google-code-prettify": "~1.0.4",
43
+ "jquery": "~2.1.4",
28
44
  "matchHeight": "~0.6.0"
29
45
  }
30
46
  }
@@ -1,4 +1,4 @@
1
1
  module Patternfly
2
- VERSION = '2.0.0'
3
- PATTERNFLY_SHA = 'bf1749e83367af53dcdd880668643171c844bc58'
2
+ VERSION = '2.1.0'
3
+ PATTERNFLY_SHA = 'a1d30bc68f1fdf320ea9c16bf6b2b4cc050ac8a8'
4
4
  end
@@ -15,6 +15,18 @@ Gem::Specification.new do |s|
15
15
  s.add_runtime_dependency 'bootstrap-sass', '~> 3.3.5'
16
16
  s.add_runtime_dependency 'font-awesome-sass', '~> 4.3.0'
17
17
 
18
+ # Bower dependencies from rails-assets
19
+ s.add_development_dependency 'rails-assets-bootstrap-combobox', '~> 1.1.6'
20
+ s.add_development_dependency 'rails-assets-bootstrap-datepicker', '~> 1.4.0'
21
+ s.add_development_dependency 'rails-assets-bootstrap-select', '~> 1.7.3'
22
+ s.add_development_dependency 'rails-assets-bootstrap-treeview', '~> 1.2.0'
23
+ s.add_development_dependency 'rails-assets-c3', '~> 0.4.10'
24
+ s.add_development_dependency 'rails-assets-datatables', '~> 1.10.7'
25
+ s.add_development_dependency 'rails-assets-datatables-colreorder', '~> 1.1.3'
26
+ s.add_development_dependency 'rails-assets-datatables-colvis', '~> 1.1.2'
27
+ s.add_development_dependency 'rails-assets-google-code-prettify', '~> 1.0.4'
28
+ s.add_development_dependency 'rails-assets-matchHeight', '~> 0.6.0'
29
+
18
30
  # Converter's dependencies
19
31
  s.add_development_dependency 'rake', '~> 10.4'
20
32
  s.add_development_dependency 'term-ansicolor'
@@ -7,10 +7,9 @@ RSpec.describe "compare SASS with LESS screenshots" do
7
7
  BASEURL = "http://localhost:9000"
8
8
  RESOLUTIONS = [[320, 480], [768, 1024], [1280, 1024]]
9
9
  CONTEXTS = %w(less sass)
10
+ TOLERANCE = ENV['TOLERANCE'].to_f || 0.00
10
11
 
11
- # TODO: Set this to 0 when SASS 3.4.15 is released.
12
- # See https://github.com/sass/sass/issues/1732
13
- TOLERANCE = 0.05
12
+ puts "Starting tests with TOLERANCE=#{TOLERANCE}"
14
13
 
15
14
  driver = Selenium::WebDriver.for(:firefox)
16
15
 
@@ -136,7 +136,7 @@
136
136
  </tr>
137
137
  </thead>
138
138
  <tbody>
139
- <tr class="gradeX">
139
+ <tr>
140
140
  <td>Trident</td>
141
141
  <td>
142
142
  Internet
@@ -144,403 +144,403 @@
144
144
  4.0
145
145
  </td>
146
146
  <td>Win 95+</td>
147
- <td class="center">4</td>
148
- <td class="center">X</td>
147
+ <td>4</td>
148
+ <td>X</td>
149
149
  </tr>
150
- <tr class="gradeC">
150
+ <tr>
151
151
  <td>Trident</td>
152
152
  <td>Internet
153
153
  Explorer 5.0</td>
154
154
  <td>Win 95+</td>
155
- <td class="center">5</td>
156
- <td class="center">C</td>
155
+ <td>5</td>
156
+ <td>C</td>
157
157
  </tr>
158
- <tr class="gradeA">
158
+ <tr>
159
159
  <td>Trident</td>
160
160
  <td>Internet
161
161
  Explorer 5.5</td>
162
162
  <td>Win 95+</td>
163
- <td class="center">5.5</td>
164
- <td class="center">A</td>
163
+ <td>5.5</td>
164
+ <td>A</td>
165
165
  </tr>
166
- <tr class="gradeA">
166
+ <tr>
167
167
  <td>Trident</td>
168
168
  <td>Internet
169
169
  Explorer 6</td>
170
170
  <td>Win 98+</td>
171
- <td class="center">6</td>
172
- <td class="center">A</td>
171
+ <td>6</td>
172
+ <td>A</td>
173
173
  </tr>
174
- <tr class="gradeA">
174
+ <tr>
175
175
  <td>Trident</td>
176
176
  <td>Internet Explorer 7</td>
177
177
  <td>Win XP SP2+</td>
178
- <td class="center">7</td>
179
- <td class="center">A</td>
178
+ <td>7</td>
179
+ <td>A</td>
180
180
  </tr>
181
- <tr class="gradeA">
181
+ <tr>
182
182
  <td>Trident</td>
183
183
  <td>AOL browser (AOL desktop)</td>
184
184
  <td>Win XP</td>
185
- <td class="center">6</td>
186
- <td class="center">A</td>
185
+ <td>6</td>
186
+ <td>A</td>
187
187
  </tr>
188
- <tr class="gradeA">
188
+ <tr>
189
189
  <td>Gecko</td>
190
190
  <td>Firefox 1.0</td>
191
191
  <td>Win 98+ / OSX.2+</td>
192
- <td class="center">1.7</td>
193
- <td class="center">A</td>
192
+ <td>1.7</td>
193
+ <td>A</td>
194
194
  </tr>
195
- <tr class="gradeA">
195
+ <tr>
196
196
  <td>Gecko</td>
197
197
  <td>Firefox 1.5</td>
198
198
  <td>Win 98+ / OSX.2+</td>
199
- <td class="center">1.8</td>
200
- <td class="center">A</td>
199
+ <td>1.8</td>
200
+ <td>A</td>
201
201
  </tr>
202
- <tr class="gradeA">
202
+ <tr>
203
203
  <td>Gecko</td>
204
204
  <td>Firefox 2.0</td>
205
205
  <td>Win 98+ / OSX.2+</td>
206
- <td class="center">1.8</td>
207
- <td class="center">A</td>
206
+ <td>1.8</td>
207
+ <td>A</td>
208
208
  </tr>
209
- <tr class="gradeA">
209
+ <tr>
210
210
  <td>Gecko</td>
211
211
  <td>Firefox 3.0</td>
212
212
  <td>Win 2k+ / OSX.3+</td>
213
- <td class="center">1.9</td>
214
- <td class="center">A</td>
213
+ <td>1.9</td>
214
+ <td>A</td>
215
215
  </tr>
216
- <tr class="gradeA">
216
+ <tr>
217
217
  <td>Gecko</td>
218
218
  <td>Camino 1.0</td>
219
219
  <td>OSX.2+</td>
220
- <td class="center">1.8</td>
221
- <td class="center">A</td>
220
+ <td>1.8</td>
221
+ <td>A</td>
222
222
  </tr>
223
- <tr class="gradeA">
223
+ <tr>
224
224
  <td>Gecko</td>
225
225
  <td>Camino 1.5</td>
226
226
  <td>OSX.3+</td>
227
- <td class="center">1.8</td>
228
- <td class="center">A</td>
227
+ <td>1.8</td>
228
+ <td>A</td>
229
229
  </tr>
230
- <tr class="gradeA">
230
+ <tr>
231
231
  <td>Gecko</td>
232
232
  <td>Netscape 7.2</td>
233
233
  <td>Win 95+ / Mac OS 8.6-9.2</td>
234
- <td class="center">1.7</td>
235
- <td class="center">A</td>
234
+ <td>1.7</td>
235
+ <td>A</td>
236
236
  </tr>
237
- <tr class="gradeA">
237
+ <tr>
238
238
  <td>Gecko</td>
239
239
  <td>Netscape Browser 8</td>
240
240
  <td>Win 98SE+</td>
241
- <td class="center">1.7</td>
242
- <td class="center">A</td>
241
+ <td>1.7</td>
242
+ <td>A</td>
243
243
  </tr>
244
- <tr class="gradeA">
244
+ <tr>
245
245
  <td>Gecko</td>
246
246
  <td>Netscape Navigator 9</td>
247
247
  <td>Win 98+ / OSX.2+</td>
248
- <td class="center">1.8</td>
249
- <td class="center">A</td>
248
+ <td>1.8</td>
249
+ <td>A</td>
250
250
  </tr>
251
- <tr class="gradeA">
251
+ <tr>
252
252
  <td>Gecko</td>
253
253
  <td>Mozilla 1.0</td>
254
254
  <td>Win 95+ / OSX.1+</td>
255
- <td class="center">1</td>
256
- <td class="center">A</td>
255
+ <td>1</td>
256
+ <td>A</td>
257
257
  </tr>
258
- <tr class="gradeA">
258
+ <tr>
259
259
  <td>Gecko</td>
260
260
  <td>Mozilla 1.1</td>
261
261
  <td>Win 95+ / OSX.1+</td>
262
- <td class="center">1.1</td>
263
- <td class="center">A</td>
262
+ <td>1.1</td>
263
+ <td>A</td>
264
264
  </tr>
265
- <tr class="gradeA">
265
+ <tr>
266
266
  <td>Gecko</td>
267
267
  <td>Mozilla 1.2</td>
268
268
  <td>Win 95+ / OSX.1+</td>
269
- <td class="center">1.2</td>
270
- <td class="center">A</td>
269
+ <td>1.2</td>
270
+ <td>A</td>
271
271
  </tr>
272
- <tr class="gradeA">
272
+ <tr>
273
273
  <td>Gecko</td>
274
274
  <td>Mozilla 1.3</td>
275
275
  <td>Win 95+ / OSX.1+</td>
276
- <td class="center">1.3</td>
277
- <td class="center">A</td>
276
+ <td>1.3</td>
277
+ <td>A</td>
278
278
  </tr>
279
- <tr class="gradeA">
279
+ <tr>
280
280
  <td>Gecko</td>
281
281
  <td>Mozilla 1.4</td>
282
282
  <td>Win 95+ / OSX.1+</td>
283
- <td class="center">1.4</td>
284
- <td class="center">A</td>
283
+ <td>1.4</td>
284
+ <td>A</td>
285
285
  </tr>
286
- <tr class="gradeA">
286
+ <tr>
287
287
  <td>Gecko</td>
288
288
  <td>Mozilla 1.5</td>
289
289
  <td>Win 95+ / OSX.1+</td>
290
- <td class="center">1.5</td>
291
- <td class="center">A</td>
290
+ <td>1.5</td>
291
+ <td>A</td>
292
292
  </tr>
293
- <tr class="gradeA">
293
+ <tr>
294
294
  <td>Gecko</td>
295
295
  <td>Mozilla 1.6</td>
296
296
  <td>Win 95+ / OSX.1+</td>
297
- <td class="center">1.6</td>
298
- <td class="center">A</td>
297
+ <td>1.6</td>
298
+ <td>A</td>
299
299
  </tr>
300
- <tr class="gradeA">
300
+ <tr>
301
301
  <td>Gecko</td>
302
302
  <td>Mozilla 1.7</td>
303
303
  <td>Win 98+ / OSX.1+</td>
304
- <td class="center">1.7</td>
305
- <td class="center">A</td>
304
+ <td>1.7</td>
305
+ <td>A</td>
306
306
  </tr>
307
- <tr class="gradeA">
307
+ <tr>
308
308
  <td>Gecko</td>
309
309
  <td>Mozilla 1.8</td>
310
310
  <td>Win 98+ / OSX.1+</td>
311
- <td class="center">1.8</td>
312
- <td class="center">A</td>
311
+ <td>1.8</td>
312
+ <td>A</td>
313
313
  </tr>
314
- <tr class="gradeA">
314
+ <tr>
315
315
  <td>Gecko</td>
316
316
  <td>Seamonkey 1.1</td>
317
317
  <td>Win 98+ / OSX.2+</td>
318
- <td class="center">1.8</td>
319
- <td class="center">A</td>
318
+ <td>1.8</td>
319
+ <td>A</td>
320
320
  </tr>
321
- <tr class="gradeA">
321
+ <tr>
322
322
  <td>Gecko</td>
323
323
  <td>Epiphany 2.20</td>
324
324
  <td>Gnome</td>
325
- <td class="center">1.8</td>
326
- <td class="center">A</td>
325
+ <td>1.8</td>
326
+ <td>A</td>
327
327
  </tr>
328
- <tr class="gradeA">
328
+ <tr>
329
329
  <td>Webkit</td>
330
330
  <td>Safari 1.2</td>
331
331
  <td>OSX.3</td>
332
- <td class="center">125.5</td>
333
- <td class="center">A</td>
332
+ <td>125.5</td>
333
+ <td>A</td>
334
334
  </tr>
335
- <tr class="gradeA">
335
+ <tr>
336
336
  <td>Webkit</td>
337
337
  <td>Safari 1.3</td>
338
338
  <td>OSX.3</td>
339
- <td class="center">312.8</td>
340
- <td class="center">A</td>
339
+ <td>312.8</td>
340
+ <td>A</td>
341
341
  </tr>
342
- <tr class="gradeA">
342
+ <tr>
343
343
  <td>Webkit</td>
344
344
  <td>Safari 2.0</td>
345
345
  <td>OSX.4+</td>
346
- <td class="center">419.3</td>
347
- <td class="center">A</td>
346
+ <td>419.3</td>
347
+ <td>A</td>
348
348
  </tr>
349
- <tr class="gradeA">
349
+ <tr>
350
350
  <td>Webkit</td>
351
351
  <td>Safari 3.0</td>
352
352
  <td>OSX.4+</td>
353
- <td class="center">522.1</td>
354
- <td class="center">A</td>
353
+ <td>522.1</td>
354
+ <td>A</td>
355
355
  </tr>
356
- <tr class="gradeA">
356
+ <tr>
357
357
  <td>Webkit</td>
358
358
  <td>OmniWeb 5.5</td>
359
359
  <td>OSX.4+</td>
360
- <td class="center">420</td>
361
- <td class="center">A</td>
360
+ <td>420</td>
361
+ <td>A</td>
362
362
  </tr>
363
- <tr class="gradeA">
363
+ <tr>
364
364
  <td>Webkit</td>
365
365
  <td>iPod Touch / iPhone</td>
366
366
  <td>iPod</td>
367
- <td class="center">420.1</td>
368
- <td class="center">A</td>
367
+ <td>420.1</td>
368
+ <td>A</td>
369
369
  </tr>
370
- <tr class="gradeA">
370
+ <tr>
371
371
  <td>Webkit</td>
372
372
  <td>S60</td>
373
373
  <td>S60</td>
374
- <td class="center">413</td>
375
- <td class="center">A</td>
374
+ <td>413</td>
375
+ <td>A</td>
376
376
  </tr>
377
- <tr class="gradeA">
377
+ <tr>
378
378
  <td>Presto</td>
379
379
  <td>Opera 7.0</td>
380
380
  <td>Win 95+ / OSX.1+</td>
381
- <td class="center">-</td>
382
- <td class="center">A</td>
381
+ <td>-</td>
382
+ <td>A</td>
383
383
  </tr>
384
- <tr class="gradeA">
384
+ <tr>
385
385
  <td>Presto</td>
386
386
  <td>Opera 7.5</td>
387
387
  <td>Win 95+ / OSX.2+</td>
388
- <td class="center">-</td>
389
- <td class="center">A</td>
388
+ <td>-</td>
389
+ <td>A</td>
390
390
  </tr>
391
- <tr class="gradeA">
391
+ <tr>
392
392
  <td>Presto</td>
393
393
  <td>Opera 8.0</td>
394
394
  <td>Win 95+ / OSX.2+</td>
395
- <td class="center">-</td>
396
- <td class="center">A</td>
395
+ <td>-</td>
396
+ <td>A</td>
397
397
  </tr>
398
- <tr class="gradeA">
398
+ <tr>
399
399
  <td>Presto</td>
400
400
  <td>Opera 8.5</td>
401
401
  <td>Win 95+ / OSX.2+</td>
402
- <td class="center">-</td>
403
- <td class="center">A</td>
402
+ <td>-</td>
403
+ <td>A</td>
404
404
  </tr>
405
- <tr class="gradeA">
405
+ <tr>
406
406
  <td>Presto</td>
407
407
  <td>Opera 9.0</td>
408
408
  <td>Win 95+ / OSX.3+</td>
409
- <td class="center">-</td>
410
- <td class="center">A</td>
409
+ <td>-</td>
410
+ <td>A</td>
411
411
  </tr>
412
- <tr class="gradeA">
412
+ <tr>
413
413
  <td>Presto</td>
414
414
  <td>Opera 9.2</td>
415
415
  <td>Win 88+ / OSX.3+</td>
416
- <td class="center">-</td>
417
- <td class="center">A</td>
416
+ <td>-</td>
417
+ <td>A</td>
418
418
  </tr>
419
- <tr class="gradeA">
419
+ <tr>
420
420
  <td>Presto</td>
421
421
  <td>Opera 9.5</td>
422
422
  <td>Win 88+ / OSX.3+</td>
423
- <td class="center">-</td>
424
- <td class="center">A</td>
423
+ <td>-</td>
424
+ <td>A</td>
425
425
  </tr>
426
- <tr class="gradeA">
426
+ <tr>
427
427
  <td>Presto</td>
428
428
  <td>Opera for Wii</td>
429
429
  <td>Wii</td>
430
- <td class="center">-</td>
431
- <td class="center">A</td>
430
+ <td>-</td>
431
+ <td>A</td>
432
432
  </tr>
433
- <tr class="gradeA">
433
+ <tr>
434
434
  <td>Presto</td>
435
435
  <td>Nokia N800</td>
436
436
  <td>N800</td>
437
- <td class="center">-</td>
438
- <td class="center">A</td>
437
+ <td>-</td>
438
+ <td>A</td>
439
439
  </tr>
440
- <tr class="gradeA">
440
+ <tr>
441
441
  <td>Presto</td>
442
442
  <td>Nintendo DS browser</td>
443
443
  <td>Nintendo DS</td>
444
- <td class="center">8.5</td>
445
- <td class="center">C/A<sup>1</sup></td>
444
+ <td>8.5</td>
445
+ <td>C/A<sup>1</sup></td>
446
446
  </tr>
447
- <tr class="gradeC">
447
+ <tr>
448
448
  <td>KHTML</td>
449
449
  <td>Konqureror 3.1</td>
450
450
  <td>KDE 3.1</td>
451
- <td class="center">3.1</td>
452
- <td class="center">C</td>
451
+ <td>3.1</td>
452
+ <td>C</td>
453
453
  </tr>
454
- <tr class="gradeA">
454
+ <tr>
455
455
  <td>KHTML</td>
456
456
  <td>Konqureror 3.3</td>
457
457
  <td>KDE 3.3</td>
458
- <td class="center">3.3</td>
459
- <td class="center">A</td>
458
+ <td>3.3</td>
459
+ <td>A</td>
460
460
  </tr>
461
- <tr class="gradeA">
461
+ <tr>
462
462
  <td>KHTML</td>
463
463
  <td>Konqureror 3.5</td>
464
464
  <td>KDE 3.5</td>
465
- <td class="center">3.5</td>
466
- <td class="center">A</td>
465
+ <td>3.5</td>
466
+ <td>A</td>
467
467
  </tr>
468
- <tr class="gradeX">
468
+ <tr>
469
469
  <td>Tasman</td>
470
470
  <td>Internet Explorer 4.5</td>
471
471
  <td>Mac OS 8-9</td>
472
- <td class="center">-</td>
473
- <td class="center">X</td>
472
+ <td>-</td>
473
+ <td>X</td>
474
474
  </tr>
475
- <tr class="gradeC">
475
+ <tr>
476
476
  <td>Tasman</td>
477
477
  <td>Internet Explorer 5.1</td>
478
478
  <td>Mac OS 7.6-9</td>
479
- <td class="center">1</td>
480
- <td class="center">C</td>
479
+ <td>1</td>
480
+ <td>C</td>
481
481
  </tr>
482
- <tr class="gradeC">
482
+ <tr>
483
483
  <td>Tasman</td>
484
484
  <td>Internet Explorer 5.2</td>
485
485
  <td>Mac OS 8-X</td>
486
- <td class="center">1</td>
487
- <td class="center">C</td>
486
+ <td>1</td>
487
+ <td>C</td>
488
488
  </tr>
489
- <tr class="gradeA">
489
+ <tr>
490
490
  <td>Misc</td>
491
491
  <td>NetFront 3.1</td>
492
492
  <td>Embedded devices</td>
493
- <td class="center">-</td>
494
- <td class="center">C</td>
493
+ <td>-</td>
494
+ <td>C</td>
495
495
  </tr>
496
- <tr class="gradeA">
496
+ <tr>
497
497
  <td>Misc</td>
498
498
  <td>NetFront 3.4</td>
499
499
  <td>Embedded devices</td>
500
- <td class="center">-</td>
501
- <td class="center">A</td>
500
+ <td>-</td>
501
+ <td>A</td>
502
502
  </tr>
503
- <tr class="gradeX">
503
+ <tr>
504
504
  <td>Misc</td>
505
505
  <td>Dillo 0.8</td>
506
506
  <td>Embedded devices</td>
507
- <td class="center">-</td>
508
- <td class="center">X</td>
507
+ <td>-</td>
508
+ <td>X</td>
509
509
  </tr>
510
- <tr class="gradeX">
510
+ <tr>
511
511
  <td>Misc</td>
512
512
  <td>Links</td>
513
513
  <td>Text only</td>
514
- <td class="center">-</td>
515
- <td class="center">X</td>
514
+ <td>-</td>
515
+ <td>X</td>
516
516
  </tr>
517
- <tr class="gradeX">
517
+ <tr>
518
518
  <td>Misc</td>
519
519
  <td>Lynx</td>
520
520
  <td>Text only</td>
521
- <td class="center">-</td>
522
- <td class="center">X</td>
521
+ <td>-</td>
522
+ <td>X</td>
523
523
  </tr>
524
- <tr class="gradeC">
524
+ <tr>
525
525
  <td>Misc</td>
526
526
  <td>IE Mobile</td>
527
527
  <td>Windows Mobile 6</td>
528
- <td class="center">-</td>
529
- <td class="center">C</td>
528
+ <td>-</td>
529
+ <td>C</td>
530
530
  </tr>
531
- <tr class="gradeC">
531
+ <tr>
532
532
  <td>Misc</td>
533
533
  <td>PSP browser</td>
534
534
  <td>PSP</td>
535
- <td class="center">-</td>
536
- <td class="center">C</td>
535
+ <td>-</td>
536
+ <td>C</td>
537
537
  </tr>
538
- <tr class="gradeU">
538
+ <tr>
539
539
  <td>Other browsers</td>
540
540
  <td>All others</td>
541
541
  <td>-</td>
542
- <td class="center">-</td>
543
- <td class="center">U</td>
542
+ <td>-</td>
543
+ <td>U</td>
544
544
  </tr>
545
545
  </tbody>
546
546
  </table>