/[suikacvs]/markup/html/whatpm/Whatpm/CSS/Parser.pm
Suika

Diff of /markup/html/whatpm/Whatpm/CSS/Parser.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.65 by wakaba, Sun Feb 10 07:34:10 2008 UTC revision 1.66 by wakaba, Sun Feb 10 09:38:27 2008 UTC
# Line 60  our $Prop; ## By CSS property name Line 60  our $Prop; ## By CSS property name
60  our $Attr; ## By CSSOM attribute name  our $Attr; ## By CSSOM attribute name
61  our $Key; ## By internal key  our $Key; ## By internal key
62    
63    sub init ($) {
64      my $self = shift;
65      delete $self->{style_sheet};
66      delete $self->{unitless_px};
67      delete $self->{hashless_rgb};
68      delete $self->{href};
69      delete $self->{base_uri};
70    } # init
71    
72  sub parse_char_string ($$) {  sub parse_char_string ($$) {
73    my $self = $_[0];    my $self = $_[0];
74    
# Line 135  sub parse_char_string ($$) { Line 144  sub parse_char_string ($$) {
144    my $namespace_allowed = 1;    my $namespace_allowed = 1;
145    my $media_allowed = 1;    my $media_allowed = 1;
146    
147      my $ss = $self->{style_sheet} ||= Message::DOM::CSSStyleSheet->____new
148          (manakai_base_uri => $self->{base_uri},
149           css_rules => $open_rules->[0],
150           ## TODO: href
151           ## TODO: owner_node
152           ## TODO: media
153           type => 'text/css', ## TODO: OK?
154           _parser => $self, _nsmap => $nsmap);
155    
156    S: {    S: {
157      if ($state == BEFORE_STATEMENT_STATE) {      if ($state == BEFORE_STATEMENT_STATE) {
158        $t = $tt->get_next_token        $t = $tt->get_next_token
# Line 564  sub parse_char_string ($$) { Line 582  sub parse_char_string ($$) {
582        die "$0: parse_char_string: Unknown state: $state";        die "$0: parse_char_string: Unknown state: $state";
583      }      }
584    } # S    } # S
585      
586      for (@{$$ss->{css_rules}}) {
587        $$_->{parent_style_sheet} = $ss;
588        Scalar::Util::weaken ($$_->{parent_style_sheet});
589      }
590    for my $parent_rule (@$parent_rules) {    for my $parent_rule (@$parent_rules) {
591      for (@{$$parent_rule->{css_rules}}) {      for (@{$$parent_rule->{css_rules}}) {
592        $$_->{parent_rule} = $parent_rule;        $$_->{parent_rule} = $parent_rule;
# Line 572  sub parse_char_string ($$) { Line 594  sub parse_char_string ($$) {
594      }      }
595    }    }
596    
   my $ss = Message::DOM::CSSStyleSheet->____new  
       (manakai_base_uri => $self->{base_uri},  
        css_rules => $open_rules->[0],  
        ## TODO: href  
        ## TODO: owner_node  
        ## TODO: media  
        type => 'text/css', ## TODO: OK?  
        _parser => $self, _nsmap => $nsmap);  
597    return $ss;    return $ss;
598  } # parse_char_string  } # parse_char_string
599    

Legend:
Removed from v.1.65  
changed lines
  Added in v.1.66

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24