[Webkit-unassigned] [Bug 6503] content property doesn't support quotes
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jul 28 15:38:54 PDT 2008
https://bugs.webkit.org/show_bug.cgi?id=6503
eric at webkit.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #20959|review? |review-
Flag| |
------- Comment #11 from eric at webkit.org 2008-07-28 15:38 PDT -------
(From update of attachment 20959)
I am confused by:
1987 if (values->length()) {
1988 addProperty(propId, values.release(), important);
1989 if (value2)
1990 valueList->next();
1991 return true;
1992 }
Couldn't that have been handled in the previous loop?
Also the previous loop:
while (value1 = valueList->current()) {
1974 if (value1->unit == CSSPrimitiveValue::CSS_STRING) {
1975 value2 = valueList->next();
1976 if (value2 && value2->unit == CSSPrimitiveValue::CSS_STRING)
1977 values->append(new QuotesValue(value1->string,
value2->string));
1978 else
1979 break;
1980 } else
1981 break;
1982
1983 value2 = 0;
1984 valueList->next();
1985 }
Would be easier to understand using an early-return.
if (value1->unit != CSSPrimitiveValue::CSS_STRING)
break;
It's not clear to me why you advance valueList only if values->length() (my
first comment above).
* goes next to the type name in WebKit style:
3577 CSSValueList *list = static_cast<CSSValueList*>(value);
That block has as bunch of misplaced *'s
Probably better to use a StringBuilder here:
47 String result("");
48
49 result += quoteString(m_openQuote);
50 result += " ";
51 result += quoteString(m_closeQuote);
44 void RenderQuote::computeLevel() const
looks horribly inefficient. Can't it use the pre-computed levels from other
quotes it encounters? I guess the question would be how to invalidate them
when the tree changes...
But if I'm reading that correctly, every RenderQuote will walk through *every*
RenderObject which corresponds to an element before it in a file. Am I reading
that correctly?
* spacing:
91 QuotesData *quotes = style()->quotes();
it seems this would be more efficient:
974 if (!m_quotes && o.m_quotes || m_quotes && !o.m_quotes)
975 return false;
976 if (m_quotes && o.m_quotes && (*m_quotes != *o.m_quotes))
977 return false;
978 return true;
written as:
if (m_quotes == o.m_quotes)
return true;
return (m_quotes && o.m_quotes && (*m_quotes == *o.m_quotes));
This:
if (m_closeQuotes.size() <= level)
1911 level = m_closeQuotes.size() - 1;
would read more clear to me as:
if (level >= m_closeQuotes.size())
return m_closeQuotes.last();
spacing:
1207 void addLevel(const AtomicString &open, const AtomicString &close);
You patch also needs a test case which covers syntax errors in "quotes"
property.
r- for the lack of syntax error test case.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list