summaryrefslogtreecommitdiff
path: root/src/parse/language.c
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@netsurf-browser.org>2010-03-27 16:10:57 +0000
committerDaniel Silverstone <dsilvers@netsurf-browser.org>2010-03-27 16:10:57 +0000
commit80cfe125983eb126a9f8afd974196cf0bf347877 (patch)
treee6fe993a7ad2fc6859509b661d2d4f721e846e60 /src/parse/language.c
parent46e3a946d7b2f7d68f3753a37c6f68a732a36f01 (diff)
downloadlibcss-80cfe125983eb126a9f8afd974196cf0bf347877.tar.gz
libcss-80cfe125983eb126a9f8afd974196cf0bf347877.tar.bz2
Fix libcss to use new libwapcaplet behaviour.
TODO: update the tests to include a refcounting proof svn path=/trunk/libcss/; revision=10162
Diffstat (limited to 'src/parse/language.c')
-rw-r--r--src/parse/language.c107
1 files changed, 38 insertions, 69 deletions
diff --git a/src/parse/language.c b/src/parse/language.c
index fff0eff..ee18463 100644
--- a/src/parse/language.c
+++ b/src/parse/language.c
@@ -129,8 +129,7 @@ css_error css_language_create(css_stylesheet *sheet, css_parser *parser,
/* Intern all known strings */
for (i = 0; i < LAST_KNOWN; i++) {
- lerror = lwc_context_intern(sheet->dictionary,
- stringmap[i].data,
+ lerror = lwc_intern_string(stringmap[i].data,
stringmap[i].len,
&(c->strings[i]));
if (lerror != lwc_error_ok) {
@@ -175,8 +174,7 @@ css_error css_language_destroy(css_language *language)
parserutils_stack_destroy(language->context);
for (i = 0; i < LAST_KNOWN; ++i) {
- lwc_context_string_unref(language->sheet->dictionary,
- language->strings[i]);
+ lwc_string_unref(language->strings[i]);
}
language->alloc(language, 0, language->pw);
@@ -364,8 +362,7 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector)
* there is one */
assert(atkeyword != NULL && atkeyword->type == CSS_TOKEN_ATKEYWORD);
- if (lwc_context_string_caseless_isequal(c->sheet->dictionary,
- atkeyword->idata, c->strings[CHARSET],
+ if (lwc_string_caseless_isequal(atkeyword->idata, c->strings[CHARSET],
&match) == lwc_error_ok && match) {
if (c->state == BEFORE_CHARSET) {
const css_token *charset;
@@ -408,8 +405,7 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector)
} else {
return CSS_INVALID;
}
- } else if (lwc_context_string_caseless_isequal(c->sheet->dictionary,
- atkeyword->idata, c->strings[IMPORT],
+ } else if (lwc_string_caseless_isequal(atkeyword->idata, c->strings[IMPORT],
&match) == lwc_error_ok && match) {
if (c->state != HAD_RULE) {
lwc_string *url;
@@ -438,7 +434,7 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector)
/* Resolve import URI */
error = c->sheet->resolve(c->sheet->resolve_pw,
- c->sheet->dictionary, c->sheet->url,
+ c->sheet->url,
uri->idata, &url);
if (error != CSS_OK) {
css_stylesheet_rule_destroy(c->sheet, rule);
@@ -449,14 +445,13 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector)
error = css_stylesheet_rule_set_nascent_import(c->sheet,
rule, url, media);
if (error != CSS_OK) {
- lwc_context_string_unref(c->sheet->dictionary,
- url);
+ lwc_string_unref(url);
css_stylesheet_rule_destroy(c->sheet, rule);
return error;
}
/* No longer care about url */
- lwc_context_string_unref(c->sheet->dictionary, url);
+ lwc_string_unref(url);
/* Add rule to sheet */
error = css_stylesheet_add_rule(c->sheet, rule, NULL);
@@ -472,8 +467,7 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector)
} else {
return CSS_INVALID;
}
- } else if (lwc_context_string_caseless_isequal(c->sheet->dictionary,
- atkeyword->idata, c->strings[MEDIA],
+ } else if (lwc_string_caseless_isequal(atkeyword->idata, c->strings[MEDIA],
&match) == lwc_error_ok && match) {
uint64_t media = 0;
@@ -504,8 +498,7 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector)
* so no need to destroy it */
c->state = HAD_RULE;
- } else if (lwc_context_string_caseless_isequal(c->sheet->dictionary,
- atkeyword->idata, c->strings[PAGE],
+ } else if (lwc_string_caseless_isequal(atkeyword->idata, c->strings[PAGE],
&match) == lwc_error_ok && match) {
const css_token *token;
@@ -730,57 +723,46 @@ css_error parseMediaList(css_language *c,
if (token->type != CSS_TOKEN_IDENT)
return CSS_INVALID;
- if (lwc_context_string_caseless_isequal(c->sheet->dictionary,
- token->idata, c->strings[AURAL],
+ if (lwc_string_caseless_isequal(token->idata, c->strings[AURAL],
&match) == lwc_error_ok && match) {
ret |= CSS_MEDIA_AURAL;
- } else if (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ } else if (lwc_string_caseless_isequal(
token->idata, c->strings[BRAILLE],
&match) == lwc_error_ok && match) {
ret |= CSS_MEDIA_BRAILLE;
- } else if (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ } else if (lwc_string_caseless_isequal(
token->idata, c->strings[EMBOSSED],
&match) == lwc_error_ok && match) {
ret |= CSS_MEDIA_EMBOSSED;
- } else if (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ } else if (lwc_string_caseless_isequal(
token->idata, c->strings[HANDHELD],
&match) == lwc_error_ok && match) {
ret |= CSS_MEDIA_HANDHELD;
- } else if (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ } else if (lwc_string_caseless_isequal(
token->idata, c->strings[PRINT],
&match) == lwc_error_ok && match) {
ret |= CSS_MEDIA_PRINT;
- } else if (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ } else if (lwc_string_caseless_isequal(
token->idata, c->strings[PROJECTION],
&match) == lwc_error_ok && match) {
ret |= CSS_MEDIA_PROJECTION;
- } else if (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ } else if (lwc_string_caseless_isequal(
token->idata, c->strings[SCREEN],
&match) == lwc_error_ok && match) {
ret |= CSS_MEDIA_SCREEN;
- } else if (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ } else if (lwc_string_caseless_isequal(
token->idata, c->strings[SPEECH],
&match) == lwc_error_ok && match) {
ret |= CSS_MEDIA_SPEECH;
- } else if (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ } else if (lwc_string_caseless_isequal(
token->idata, c->strings[TTY],
&match) == lwc_error_ok && match) {
ret |= CSS_MEDIA_TTY;
- } else if (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ } else if (lwc_string_caseless_isequal(
token->idata, c->strings[TV],
&match) == lwc_error_ok && match) {
ret |= CSS_MEDIA_TV;
- } else if (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ } else if (lwc_string_caseless_isequal(
token->idata, c->strings[ALL],
&match) == lwc_error_ok && match) {
ret |= CSS_MEDIA_ALL;
@@ -924,59 +906,47 @@ css_error parsePseudo(css_language *c, const parserutils_vector *vector,
return CSS_INVALID;
}
- if ((lwc_context_string_caseless_isequal(c->sheet->dictionary,
- name->idata, c->strings[FIRST_CHILD],
- &match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ if ((lwc_string_caseless_isequal(
+ name->idata, c->strings[FIRST_CHILD],
+ &match) == lwc_error_ok && match) ||
+ (lwc_string_caseless_isequal(
name->idata, c->strings[LINK],
&match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ (lwc_string_caseless_isequal(
name->idata, c->strings[VISITED],
&match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ (lwc_string_caseless_isequal(
name->idata, c->strings[HOVER],
&match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ (lwc_string_caseless_isequal(
name->idata, c->strings[ACTIVE],
&match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ (lwc_string_caseless_isequal(
name->idata, c->strings[FOCUS],
&match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ (lwc_string_caseless_isequal(
name->idata, c->strings[LANG],
&match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ (lwc_string_caseless_isequal(
name->idata, c->strings[LEFT],
&match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ (lwc_string_caseless_isequal(
name->idata, c->strings[RIGHT],
&match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ (lwc_string_caseless_isequal(
name->idata, c->strings[FIRST],
&match) == lwc_error_ok && match))
type = CSS_SELECTOR_PSEUDO_CLASS;
- else if ((lwc_context_string_caseless_isequal(c->sheet->dictionary,
- name->idata, c->strings[FIRST_LINE],
+ else if ((lwc_string_caseless_isequal(
+ name->idata, c->strings[FIRST_LINE],
&match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ (lwc_string_caseless_isequal(
name->idata, c->strings[FIRST_LETTER],
&match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ (lwc_string_caseless_isequal(
name->idata, c->strings[BEFORE],
&match) == lwc_error_ok && match) ||
- (lwc_context_string_caseless_isequal(
- c->sheet->dictionary,
+ (lwc_string_caseless_isequal(
name->idata, c->strings[AFTER],
&match) == lwc_error_ok && match))
type = CSS_SELECTOR_PSEUDO_ELEMENT;
@@ -1277,8 +1247,7 @@ css_error parseProperty(css_language *c, const css_token *property,
for (i = FIRST_PROP; i <= LAST_PROP; i++) {
bool match = false;
- if (lwc_context_string_caseless_isequal(c->sheet->dictionary,
- property->idata, c->strings[i],
+ if (lwc_string_caseless_isequal(property->idata, c->strings[i],
&match) == lwc_error_ok && match)
break;
}