void TextInputController::firstRectForCharacterRange(const CppArgumentList& arguments, CppVariant* result) { result->setNull(); WebFrame* frame = m_webView->focusedFrame(); if (!frame) return; if (arguments.size() < 2 || !arguments[0].isNumber() || !arguments[1].isNumber()) return; WebRect rect; if (!frame->firstRectForCharacterRange(arguments[0].toInt32(), arguments[1].toInt32(), rect)) return; vector<int> intArray(4); intArray[0] = rect.x; intArray[1] = rect.y; intArray[2] = rect.width; intArray[3] = rect.height; NPObject* resultArray = WebBindings::makeIntArray(intArray); result->set(resultArray); WebBindings::releaseObject(resultArray); }
void TextInputController::firstRectForCharacterRange(const CppArgumentList& arguments, CppVariant* result) { result->setNull(); WebFrame* mainFrame = getMainFrame(); if (!mainFrame) return; if (arguments.size() < 2 || !arguments[0].isNumber() || !arguments[1].isNumber()) return; WebRect rect; if (!mainFrame->firstRectForCharacterRange(arguments[0].toInt32(), arguments[1].toInt32(), rect)) return; Vector<int> intArray(4); intArray[0] = rect.x; intArray[1] = rect.y; intArray[2] = rect.width; intArray[3] = rect.height; result->set(WebBindings::makeIntArray(intArray)); }