diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/css/parser/CSSParserObserver.h')
-rw-r--r-- | chromium/third_party/WebKit/Source/core/css/parser/CSSParserObserver.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/chromium/third_party/WebKit/Source/core/css/parser/CSSParserObserver.h b/chromium/third_party/WebKit/Source/core/css/parser/CSSParserObserver.h new file mode 100644 index 00000000000..c6711a4eab2 --- /dev/null +++ b/chromium/third_party/WebKit/Source/core/css/parser/CSSParserObserver.h @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2003 Lars Knoll (knoll@kde.org) + * Copyright (C) 2004, 2005, 2006, 2008, 2009, 2010 Apple Inc. All rights reserved. + * Copyright (C) 2008 Eric Seidel <eric@webkit.org> + * Copyright (C) 2009 - 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef CSSParserObserver_h +#define CSSParserObserver_h + +#include "core/css/CSSPropertySourceData.h" + +namespace WebCore { + +// FIXME: Although the parser produces these, they're all ignored! +enum CSSParserError { + NoCSSError, + PropertyDeclarationCSSError, + InvalidPropertyValueCSSError, + InvalidPropertyCSSError, + InvalidSelectorCSSError, + InvalidSupportsConditionCSSError, + InvalidRuleCSSError, + InvalidMediaQueryCSSError, + InvalidKeyframeSelectorCSSError, + InvalidSelectorPseudoCSSError, + UnterminatedCommentCSSError, + GeneralCSSError +}; + +// FIXME: What are these actually used for? There is probably +// a better way for the parser to communicate this information +// to the Inspector. + +// This only implemented by StyleSheetHandler in InspectorStyleSheet.cpp. +class CSSParserObserver { + STACK_ALLOCATED(); +public: + virtual void startRuleHeader(CSSRuleSourceData::Type, unsigned offset) = 0; + virtual void endRuleHeader(unsigned offset) = 0; + virtual void startSelector(unsigned offset) = 0; + virtual void endSelector(unsigned offset) = 0; + virtual void startRuleBody(unsigned offset) = 0; + virtual void endRuleBody(unsigned offset, bool error) = 0; + virtual void startEndUnknownRule() = 0; + virtual void startProperty(unsigned offset) = 0; + virtual void endProperty(bool isImportant, bool isParsed, unsigned offset, CSSParserError) = 0; + virtual void startComment(unsigned offset) = 0; + virtual void endComment(unsigned offset) = 0; +}; + +} // namespace WebCore + +#endif // CSSParserObserver_h |