Exemplo n.º 1
0
CachedImage* TextFieldDecoratorImpl::imageForNormalState()
{
    if (!m_cachedImageForNormalState) {
        WebCString imageName = m_client->imageNameForNormalState();
        ASSERT(!imageName.isEmpty());
        RefPtr<Image> image = Image::loadPlatformResource(imageName.data());
        m_cachedImageForNormalState = new CachedImage(image.get());
        // The CachedImage owns a RefPtr to the Image.
    }
    return m_cachedImageForNormalState.get();
}
Exemplo n.º 2
0
String ChromiumBridge::getFontFamilyForCharacters(const UChar* characters, size_t numCharacters)
{
    if (webKitClient()->sandboxSupport())
        return webKitClient()->sandboxSupport()->getFontFamilyForCharacters(characters, numCharacters);

    WebCString family = WebFontInfo::familyForChars(characters, numCharacters);
    if (family.data())
        return WebString::fromUTF8(family.data());

    return WebString();
}
Exemplo n.º 3
0
CachedImage* TextFieldDecoratorImpl::imageForDisabledState()
{
    if (!m_cachedImageForDisabledState) {
        WebCString imageName = m_client->imageNameForDisabledState();
        if (imageName.isEmpty())
            m_cachedImageForDisabledState = imageForNormalState();
        else {
            RefPtr<Image> image = Image::loadPlatformResource(imageName.data());
            m_cachedImageForDisabledState = new CachedImage(image.get());
        }
    }
    return m_cachedImageForDisabledState.get();
}
Exemplo n.º 4
0
void WebDevToolsAgentImpl::attach()
{
    if (m_attached)
        return;

    if (!m_client->exposeV8DebuggerProtocol())
        ClientMessageLoopAdapter::ensureClientMessageLoopCreated(m_client);

    m_debuggerAgentImpl.set(
        new DebuggerAgentImpl(m_webViewImpl, this, m_client));
    WebCString debuggerScriptJs = m_client->debuggerScriptSource();
    WebCore::ScriptDebugServer::shared().setDebuggerScriptSource(
        WTF::String(debuggerScriptJs.data(), debuggerScriptJs.length()));
    m_attached = true;
}
Exemplo n.º 5
0
int WebCString::compare(const WebCString& other) const {
  // A null string is always less than a non null one.
  if (isNull() != other.isNull())
    return isNull() ? -1 : 1;

  if (isNull())
    return 0;  // Both WebStrings are null.

  return strcmp(m_private->data(), other.m_private->data());
}
TEST_F(WebPageNewSerializeTest, TestMHTMLEncodingWithMorphingDataURL)
{
    // Load a page with some data urls.
    WebURL topFrameURL = toKURL(m_baseURL);
    registerMockedURLLoad(topFrameURL, WebString::fromUTF8("page_with_morphing_data.html"), WebString::fromUTF8("pageserializer/"), htmlMimeType());
    loadURLInTopFrame(topFrameURL);

    WebCString mhtmlData = WebPageSerializer::serializeToMHTML(webView());
    ASSERT_FALSE(mhtmlData.isEmpty());

    // Read the MHTML data line and check that the string data:image is found
    // exactly two times.
    size_t nbDataURLs = 0;
    LineReader lineReader(std::string(mhtmlData.data()));
    std::string line;
    while (lineReader.getNextLine(&line)) {
        if (line.find("data:text") != std::string::npos)
            nbDataURLs++;
    }
    EXPECT_EQ(2u, nbDataURLs);
}
Exemplo n.º 7
0
void TestRunner::sendWebIntentResponse(const CppArgumentList& arguments, CppVariant* result)
{
    v8::HandleScope scope;
    v8::Local<v8::Context> ctx = m_webView->mainFrame()->mainWorldScriptContext();
    result->set(m_webView->mainFrame()->selectionAsMarkup().utf8());
    v8::Context::Scope cscope(ctx);

    WebIntentRequest* request = m_delegate->currentWebIntentRequest();
    if (request->isNull())
        return;

    if (arguments.size() == 1) {
        WebCString reply = cppVariantToWebString(arguments[0]).utf8();
        v8::Handle<v8::Value> v8value = v8::String::New(reply.data(), reply.length());
        request->postResult(WebSerializedScriptValue::serialize(v8value));
    } else {
        v8::Handle<v8::Value> v8value = v8::String::New("ERROR");
        request->postFailure(WebSerializedScriptValue::serialize(v8value));
    }
    result->setNull();
}
Exemplo n.º 8
0
void TestRunner::deliverWebIntent(const CppArgumentList& arguments, CppVariant* result)
{
    if (arguments.size() <  3)
        return;

    v8::HandleScope scope;
    v8::Local<v8::Context> ctx = m_webView->mainFrame()->mainWorldScriptContext();
    result->set(m_webView->mainFrame()->selectionAsMarkup().utf8());
    v8::Context::Scope cscope(ctx);

    WebString action = cppVariantToWebString(arguments[0]);
    WebString type = cppVariantToWebString(arguments[1]);
    WebCString data = cppVariantToWebString(arguments[2]).utf8();
    WebSerializedScriptValue serializedData = WebSerializedScriptValue::serialize(v8::String::New(data.data(), data.length()));

    WebIntent intent = WebIntent::create(action, type, serializedData.toString(), WebVector<WebString>(), WebVector<WebString>());

    m_webView->mainFrame()->deliverIntent(intent, 0, m_intentClient.get());
}
void WebDevToolsAgentImpl::compileUtilityScripts()
{
    v8::HandleScope handleScope;
    v8::Context::Scope contextScope(m_utilityContext);
    // Inject javascript into the context.
    WebCString injectedScriptJs = m_client->injectedScriptSource();
    v8::Script::Compile(v8::String::New(
        injectedScriptJs.data(),
        injectedScriptJs.length()))->Run();
    WebCString injectDispatchJs = m_client->injectedScriptDispatcherSource();
    v8::Script::Compile(v8::String::New(
        injectDispatchJs.data(),
        injectDispatchJs.length()))->Run();
}