}
}
my @browsers = grep { $versions{$_} }
- qw(trident gecko webkit_saf ios_saf webkit_chr android presto op_mob op_mini);
+ qw(trident ie gecko firefox webkit_saf safari ios_saf webkit_chr chrome android presto opera op_mob op_mini);
print <<'';
<p id="intro">Alternate rendition of Fyrd's <a href="http://caniuse.com/">when can I use...</a> page
when (!$_) {
# none
}
- when (!/^\w+$/) {
+ when (!/^[a-z][\w-]+$/) {
printf "<p>Invalid browser usage data request: <em>%s</em>",
'identifier must be alphanumeric name or <q>0</q>';
}
sub saybrowsercols {
my ($id, $browser) = @_;
my $data = $caniuse->{data}->{$id}->{stats}->{$browser};
+ if (ref $data eq 'ARRAY') {
+ # special case for unsupported
+ my $release = $caniuse->{agents}->{$browser}->{verrelease};
+ $data = {
+ map { $_ => defined $release->{$_} ? 'u' : 'n' } keys %$release
+ };
+ }
my ($prev, @span);
for my $ver (@{ $versions{$browser} }, undef) {
my $compare = (
!defined $ver ? undef : # last column if nameless
- ref $data ne 'HASH' ? 'u' : # unsupported if no support hash
+ ref $data ne 'HASH' ? '' : # unclassified if no support hash
$data->{$ver} // $prev # known or inherit from predecessor
// (grep { defined } @{$data}{ @{ $versions{$browser} } })[0]
~~ 'n' && 'n' # first known version is unsupported