flutter_flutter/engine/core/css/parser/MediaQueryInputStream.h
Adam Barth 141b20d8a7 Remove remaining HTML elements
This CL also removes the HTML parser and the HTML import system.

TBR=eseidel@google.com

Review URL: https://codereview.chromium.org/1215103007.
2015-06-30 21:30:46 -07:00

59 lines
1.4 KiB
C++

// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SKY_ENGINE_CORE_CSS_PARSER_MEDIAQUERYINPUTSTREAM_H_
#define SKY_ENGINE_CORE_CSS_PARSER_MEDIAQUERYINPUTSTREAM_H_
#include "sky/engine/wtf/text/WTFString.h"
namespace blink {
const UChar kEndOfFileMarker = '\0';
class MediaQueryInputStream {
WTF_MAKE_NONCOPYABLE(MediaQueryInputStream);
WTF_MAKE_FAST_ALLOCATED;
public:
MediaQueryInputStream(String input);
UChar peek(unsigned);
inline UChar nextInputChar()
{
return peek(0);
}
void advance(unsigned = 1);
void pushBack(UChar);
inline size_t maxLength()
{
return m_string.length() + 1;
}
inline size_t leftChars()
{
return m_string.length() - m_offset;
}
unsigned long long getUInt(unsigned start, unsigned end);
double getDouble(unsigned start, unsigned end);
template<bool characterPredicate(UChar)>
unsigned skipWhilePredicate(unsigned offset)
{
while ((m_offset + offset) < m_string.length() && characterPredicate(m_string[m_offset + offset]))
++offset;
return offset;
}
private:
size_t m_offset;
String m_string;
};
} // namespace blink
#endif // SKY_ENGINE_CORE_CSS_PARSER_MEDIAQUERYINPUTSTREAM_H_