本文整理汇总了C++中wtf::String::length方法的典型用法代码示例。如果您正苦于以下问题:C++ String::length方法的具体用法?C++ String::length怎么用?C++ String::length使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wtf::String
的用法示例。
在下文中一共展示了String::length方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setValueInternal
void DOMTokenList::setValueInternal(const WTF::String& value)
{
// Clear tokens but not capacity.
m_tokens.shrink(0);
HashSet<AtomicString> addedTokens;
// https://dom.spec.whatwg.org/#ordered%20sets
for (unsigned start = 0; ; ) {
while (start < value.length() && isHTMLSpace(value[start]))
++start;
if (start >= value.length())
break;
unsigned end = start + 1;
while (end < value.length() && !isHTMLSpace(value[end]))
++end;
AtomicString token = value.substring(start, end - start);
if (!addedTokens.contains(token)) {
m_tokens.append(token);
addedTokens.add(token);
}
start = end + 1;
}
m_tokens.shrinkToFit();
m_cachedValue = nullAtom;
}
示例2: elementPatternMatches
bool elementPatternMatches(const char* pattern, const HTMLInputElement* inputElement)
{
WTF::String patternString(pattern);
if (!inputElement || patternString.isEmpty())
return false;
if (inputElement->fastHasAttribute(HTMLNames::patternAttr)) {
WTF::String patternAttribute = inputElement->fastGetAttribute(HTMLNames::patternAttr);
if (patternAttribute.startsWith(patternString)) {
// The pattern is for hexadecimal, make sure nothing else is permitted.
// Check if it was an exact match.
if (patternAttribute.length() == patternString.length())
return true;
// Check for *
if (patternAttribute.length() == patternString.length() + 1 && patternAttribute[patternString.length()] == '*')
return true;
// Is the regex specifying a character count?
if (patternAttribute[patternString.length()] != '{' || !patternAttribute.endsWith('}'))
return false;
// Make sure the number in the regex is actually a number.
unsigned count = 0;
patternString = patternString + "{%d}";
return (sscanf(patternAttribute.latin1().data(), patternString.latin1().data() + '\0', &count) == 1) && count > 0;
}
}
return false;
}
示例3: setDataToClipBoard
void setDataToClipBoard(WTF::String& format , WTF::String& data){
LOGD(" setDataToClipBoard : Enter");
JNIEnv* env = JSC::Bindings::getJNIEnv();
if(env == NULL || format.isEmpty() || data.isEmpty())
return;
jstring jFormat = env->NewString((jchar*) format.characters(), format.length());
jstring jData = env->NewString((jchar*) data.characters(), data.length());
if((m_javaGlueForPasteBoard.object(env).get() == NULL )||(m_javaGlueForPasteBoard.m_setDataToClipBoard == 0 ))
{
LOGD(" setDataToClipBoard : return with out copy");
return;
}
env->CallVoidMethod(m_javaGlueForPasteBoard.object(env).get(),
m_javaGlueForPasteBoard.m_setDataToClipBoard , jFormat , jData);
env->DeleteLocalRef(jFormat);
env->DeleteLocalRef(jData);
checkException(env);
}
开发者ID:johnwpoliver,项目名称:Samsung-GT-P3113-AOSP-CM-Kernel-and-Ramdisk,代码行数:25,代码来源:PasteBoardAndroid.cpp
示例4: getPropertyValue
HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::getPropertyValue(
/* [in] */ BSTR propertyName,
/* [retval][out] */ BSTR* result)
{
WTF::String propertyNameString(propertyName);
WTF::String value = m_style->getPropertyValue(propertyNameString);
*result = SysAllocStringLen(value.characters(), value.length());
if (value.length() && !*result)
return E_OUTOFMEMORY;
return S_OK;
}
示例5: value
HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::value(
/* [retval][out] */ BSTR* result)
{
ASSERT(m_element && isHTMLInputElement(m_element));
HTMLInputElement* inputElement = toHTMLInputElement(m_element);
WTF::String valueString = inputElement->value();
*result = BString(valueString.characters(), valueString.length()).release();
if (valueString.length() && !*result)
return E_OUTOFMEMORY;
return S_OK;
}
示例6: value
HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::value(
/* [retval][out] */ BSTR* result)
{
ASSERT(m_element && m_element->hasTagName(textareaTag));
HTMLTextAreaElement* textareaElement = static_cast<HTMLTextAreaElement*>(m_element);
WTF::String valueString = textareaElement->value();
*result = BString(valueString.characters(), valueString.length()).release();
if (valueString.length() && !*result)
return E_OUTOFMEMORY;
return S_OK;
}
示例7: nodeValue
HRESULT STDMETHODCALLTYPE DOMNode::nodeValue(
/* [retval][out] */ BSTR* result)
{
if (!m_node)
return E_FAIL;
WTF::String nodeValueStr = m_node->nodeValue();
*result = SysAllocStringLen(nodeValueStr.characters(), nodeValueStr.length());
if (nodeValueStr.length() && !*result)
return E_OUTOFMEMORY;
return S_OK;
}
示例8: writeString
static void writeString(WTF::Vector<char>& vector, const WTF::String& str)
{
unsigned strLen = str.length();
// Only do work if the string has data.
if (strLen) {
// Determine how much to grow the vector. Use the worst case for utf8 to
// avoid reading the string twice. Add sizeof(unsigned) to hold the
// string length in utf8.
unsigned vectorLen = vector.size() + sizeof(unsigned);
unsigned length = (strLen << 2) + vectorLen;
// Grow the vector. This will change the value of v.size() but we
// remember the original size above.
vector.grow(length);
// Grab the position to write to.
char* data = vector.begin() + vectorLen;
// Write the actual string
int l = SkUTF16_ToUTF8(str.characters(), strLen, data);
ALOGV("Writing string %d %.*s", l, l, data);
// Go back and write the utf8 length. Subtract sizeof(unsigned) from
// data to get the position to write the length.
memcpy(data - sizeof(unsigned), (char*)&l, sizeof(unsigned));
// Shrink the internal state of the vector so we match what was
// actually written.
vector.shrink(vectorLen + l);
} else
vector.append((char*)&strLen, sizeof(unsigned));
}
示例9: get_textAtOffset
HRESULT AccessibleText::get_textAtOffset(long offset, enum IA2TextBoundaryType boundaryType, long* startOffset, long* endOffset, BSTR* text)
{
if (initialCheck() == E_POINTER)
return E_POINTER;
if (!startOffset || !endOffset || !text)
return E_POINTER;
int textLength = m_object->stringValue().length();
offset = convertSpecialOffset(offset);
if (offset < 0 || offset > textLength)
return E_INVALIDARG;
// Obtain the desired text range
VisiblePosition currentPosition = m_object->visiblePositionForIndex(offset);
VisiblePositionRange textRange;
switch (boundaryType) {
case IA2_TEXT_BOUNDARY_CHAR:
textRange = m_object->visiblePositionRangeForRange(PlainTextRange(offset, 1));
break;
case IA2_TEXT_BOUNDARY_WORD:
textRange = m_object->positionOfRightWord(leftWordPosition(currentPosition.next(), true));
break;
case IA2_TEXT_BOUNDARY_SENTENCE:
textRange = m_object->sentenceForPosition(currentPosition);
break;
case IA2_TEXT_BOUNDARY_PARAGRAPH:
textRange = m_object->paragraphForPosition(currentPosition);
break;
case IA2_TEXT_BOUNDARY_LINE:
textRange = m_object->leftLineVisiblePositionRange(currentPosition);
break;
case IA2_TEXT_BOUNDARY_ALL:
textRange = m_object->visiblePositionRangeForRange(PlainTextRange(0, m_object->text().length()));
break;
default:
return E_INVALIDARG;
break;
}
// Obtain string and offsets associated with text range
*startOffset = textRange.start.deepEquivalent().offsetInContainerNode();
*endOffset = textRange.end.deepEquivalent().offsetInContainerNode();
if (*startOffset == *endOffset)
return S_FALSE;
WTF::String substringText = m_object->text().substring(*startOffset, *endOffset - *startOffset);
*text = BString(substringText).release();
if (substringText.length() && !*text)
return E_OUTOFMEMORY;
if (!*text)
return S_FALSE;
return S_OK;
}
示例10: method
HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::method(
/* [retval][out] */ BSTR* result)
{
ASSERT(m_element && m_element->hasTagName(formTag));
WTF::String methodString = static_cast<HTMLFormElement*>(m_element)->method();
*result = BString(methodString.characters(), methodString.length()).release();
return S_OK;
}
示例11: method
HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::method(
/* [retval][out] */ BSTR* result)
{
ASSERT(m_element && isHTMLFormElement(m_element));
WTF::String methodString = toHTMLFormElement(m_element)->method();
*result = BString(methodString.characters(), methodString.length()).release();
return S_OK;
}
示例12: innerText
HRESULT STDMETHODCALLTYPE DOMHTMLElement::innerText(
/* [retval][out] */ BSTR* result)
{
ASSERT(m_element && m_element->isHTMLElement());
WTF::String innerTextString = static_cast<HTMLElement*>(m_element)->innerText();
*result = BString(innerTextString.characters(), innerTextString.length()).release();
return S_OK;
}
示例13: SquirrelPrecompil
static PBEcode SquirrelPrecompil(WTF::String& code, Vector<UChar>& codeCache) {
PBEcode rt = EnumPBSuccess;
Vector<UChar> codeFake;
wcsncpy((wchar_t *)&codeCache[0], (const wchar_t *)code.characters(), code.length());
int x1 = wcslen((const wchar_t *)&codeCache[0]);
rt = StrReplaceCase_0((wchar_t *)&codeCache[0], code.length()); // 去掉注释
if ( rt != EnumPBSuccess )
goto Exit0;
codeFake = codeCache;
OutputDebugStringW((wchar_t *)&codeCache[0]);
int xx = wcslen((const wchar_t *)&codeFake[0]);
rt = StrReplaceCase_1((const wchar_t *)codeFake.data(), code.length(), (wchar_t *)codeCache.data(), codeCache.size()); // 识别class
if ( rt != EnumPBSuccess )
goto Exit0;
OutputDebugStringW((wchar_t *)&codeCache[0]);
rt = StrReplaceCase_2((wchar_t *)&codeCache[0], codeCache.size()); // 识别.prototype.
if ( rt != EnumPBSuccess )
goto Exit0;
OutputDebugStringW((wchar_t *)&codeCache[0]);
rt = StrReplaceCase_3((wchar_t *)&codeCache[0], codeCache.size()); // 去掉new
if ( rt != EnumPBSuccess )
goto Exit0;
rt = StrReplaceCase_4((wchar_t *)&codeCache[0], codeCache.size()); // for in
if ( rt != EnumPBSuccess )
goto Exit0;
OutputDebugStringW((wchar_t *)&codeCache[0]);
Exit0:
return rt;
}
示例14: runJavaScriptConfirm
bool ChromeClientBlackBerry::runJavaScriptConfirm(Frame* frame, const WTF::String& message)
{
if (m_webPage->d->m_dumpRenderTree)
return m_webPage->d->m_dumpRenderTree->runJavaScriptConfirm(message);
TimerBase::fireTimersInNestedEventLoop();
CString latinOrigin = frameOrigin(frame);
return m_webPage->client()->runJavaScriptConfirm(message.characters(), message.length(), latinOrigin.data(), latinOrigin.length());
}
示例15: value
HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::value(
/* [retval][out] */ BSTR* result)
{
ASSERT(is<HTMLInputElement>(m_element));
HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
WTF::String valueString = inputElement.value();
*result = BString(valueString).release();
if (valueString.length() && !*result)
return E_OUTOFMEMORY;
return S_OK;
}