void TestRunner::findString(const CppArgumentList& arguments, CppVariant* result) { if (arguments.size() < 1 || !arguments[0].isString()) return; WebFindOptions findOptions; bool wrapAround = false; if (arguments.size() >= 2) { Vector<std::string> optionsArray = arguments[1].toStringVector(); findOptions.matchCase = true; for (size_t i = 0; i < optionsArray.size(); ++i) { const std::string& option = optionsArray[i]; // FIXME: Support all the options, so we can run findString.html too. if (option == "CaseInsensitive") findOptions.matchCase = false; else if (option == "Backwards") findOptions.forward = false; else if (option == "WrapAround") wrapAround = true; } } WebFrame* frame = m_webView->mainFrame(); const bool findResult = frame->find(0, cppVariantToWebString(arguments[0]), findOptions, wrapAround, 0); result->set(findResult); }