/[suikacvs]/webroot/gate/2007/html/WebHACC/Language/WebIDL.pm
Suika

Contents of /webroot/gate/2007/html/WebHACC/Language/WebIDL.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations) (download)
Sun Jul 20 16:53:10 2008 UTC (15 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.1: +3 -15 lines
++ ChangeLog	20 Jul 2008 16:48:51 -0000
2008-07-21  Wakaba  <wakaba@suika.fam.cx>

	* cc.cgi: Errors and results are now handled by WebHACC::Result.
	Decode |uri| parameter as UTF-8.  HTTP header dump and
	input error are now handled by WebHACC::Input.

++ html/WebHACC/Language/ChangeLog	20 Jul 2008 16:53:06 -0000
2008-07-21  Wakaba  <wakaba@suika.fam.cx>

	* Base.pm (_get_cc_url, _encode_url_component): Remove (now
	supported by WebHACC::Output).

	* CSS.pm, CacheManifest.pm, DOM.pm, Default.pm,
	HTML.pm, WebIDL.pm, XML.pm: Error reporting is now delegated to
	WebHACC::Result.

++ html/WebHACC/ChangeLog	20 Jul 2008 16:50:41 -0000
2008-07-21  Wakaba  <wakaba@suika.fam.cx>

	* Input.pm (generate_transfer_sections, generate_http_header_section):
	New (partially comes from cc.cgi).

	* Output.pm (link): Call |start_tag| such that attributes
	can be set.
	(link_to_webhacc): New.
	(encode_url_component): From WebHACC::Language::Base.

	* Result.pm: Support for error outputting and result table
	generation.

1 wakaba 1.1 package WebHACC::Language::WebIDL;
2     use strict;
3     require WebHACC::Language::Base;
4     push our @ISA, 'WebHACC::Language::Base';
5    
6     sub new ($) {
7     my $self = bless {}, shift;
8     return $self;
9     } # new
10    
11     sub generate_syntax_error_section ($) {
12     my $self = shift;
13    
14     require Whatpm::WebIDL;
15    
16     my $out = $self->output;
17     $out->start_section (id => 'parse-errors', title => 'Parse Errors');
18     $out->start_tag ('dl', id => 'parse-errors-list');
19    
20     my $input = $self->input;
21     my $result = $self->result;
22    
23     require Encode;
24     my $s = $input->{is_char_string} ? $input->{s} : Encode::decode ($input->{charset} || 'utf-8', $input->{s}); ## TODO: charset
25     my $parser = Whatpm::WebIDL::Parser->new;
26    
27 wakaba 1.2 $self->{structure} = $parser->parse_char_string ($input->{s}, sub {
28     $result->add_error (@_, layer => 'syntax');
29     });
30 wakaba 1.1
31     $out->html ('</dl></div>');
32     } # generate_parse_error_section
33    
34     sub generate_structure_dump_section ($) {
35     my $self = shift;
36    
37     my $out = $self->output;
38    
39     $out->start_section (id => 'dump-webidl', title => 'WebIDL');
40     $out->start_code_block;
41     $out->text ($self->{structure}->idl_text);
42     $out->end_code_block;
43     $out->end_section
44     } # generate_structure_dump_section
45    
46     1;

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24