diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-09-26 10:42:44 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-09-26 10:42:44 +0200 |
commit | 33b26980cb24288b5a9f2590ccf32a949281bb79 (patch) | |
tree | cc0203dac37338b24b0b25a4694c0b76d4e4164b /Tools/DumpRenderTree/chromium | |
parent | 715be629d51174233403237bfc563cf150087dc8 (diff) | |
download | qtwebkit-33b26980cb24288b5a9f2590ccf32a949281bb79.tar.gz |
Imported WebKit commit c596dd7f03007fa7ed896b928106497e8784b3b5 (http://svn.webkit.org/repository/webkit/trunk@129610)
New snapshot that removes QtQuick1 support (to be moved into QtQuick1 module)
Diffstat (limited to 'Tools/DumpRenderTree/chromium')
-rw-r--r-- | Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp | 48 | ||||
-rw-r--r-- | Tools/DumpRenderTree/chromium/WebViewHost.cpp | 1 |
2 files changed, 37 insertions, 12 deletions
diff --git a/Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp b/Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp index c0278cd57..b795aeb83 100644 --- a/Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp +++ b/Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp @@ -37,6 +37,7 @@ #include "platform/WebRect.h" #include "platform/WebString.h" #include <wtf/Assertions.h> +#include <wtf/StringExtras.h> using namespace WebKit; using namespace std; @@ -495,19 +496,23 @@ void AccessibilityUIElement::childrenCountGetterCallback(CppVariant* result) void AccessibilityUIElement::insertionPointLineNumberGetterCallback(CppVariant* result) { - WebVector<int> lineBreaks; - accessibilityObject().lineBreaks(lineBreaks); - int cursor = accessibilityObject().selectionEnd(); - int line = 0; - while (line < static_cast<int>(lineBreaks.size()) && lineBreaks[line] <= cursor) - line++; - result->set(line); + if (!accessibilityObject().isFocused()) { + result->set(-1); + return; + } + + int lineNumber = accessibilityObject().selectionEndLineNumber(); + result->set(lineNumber); } void AccessibilityUIElement::selectedTextRangeGetterCallback(CppVariant* result) { - // FIXME: Implement this. - result->set(std::string()); + unsigned selectionStart = accessibilityObject().selectionStart(); + unsigned selectionEnd = accessibilityObject().selectionEnd(); + char buffer[100]; + snprintf(buffer, sizeof(buffer), "{%d, %d}", selectionStart, selectionEnd - selectionStart); + + result->set(std::string(buffer)); } void AccessibilityUIElement::isEnabledGetterCallback(CppVariant* result) @@ -628,9 +633,22 @@ void AccessibilityUIElement::parametrizedAttributeNamesCallback(const CppArgumen result->setNull(); } -void AccessibilityUIElement::lineForIndexCallback(const CppArgumentList&, CppVariant* result) +void AccessibilityUIElement::lineForIndexCallback(const CppArgumentList& arguments, CppVariant* result) { - result->setNull(); + if (!arguments.size() || !arguments[0].isNumber()) { + result->setNull(); + return; + } + + int index = arguments[0].toInt32(); + + WebVector<int> lineBreaks; + accessibilityObject().lineBreaks(lineBreaks); + int line = 0; + int vectorSize = static_cast<int>(lineBreaks.size()); + while (line < vectorSize && lineBreaks[line] <= index) + line++; + result->set(line); } void AccessibilityUIElement::boundsForRangeCallback(const CppArgumentList&, CppVariant* result) @@ -719,9 +737,15 @@ void AccessibilityUIElement::titleUIElementCallback(const CppArgumentList&, CppV result->setNull(); } -void AccessibilityUIElement::setSelectedTextRangeCallback(const CppArgumentList&, CppVariant* result) +void AccessibilityUIElement::setSelectedTextRangeCallback(const CppArgumentList&arguments, CppVariant* result) { result->setNull(); + if (arguments.size() != 2 || !arguments[0].isNumber() || !arguments[1].isNumber()) + return; + + int selectionStart = arguments[0].toInt32(); + int selectionEnd = selectionStart + arguments[1].toInt32(); + accessibilityObject().setSelectedTextRange(selectionStart, selectionEnd); } void AccessibilityUIElement::attributeValueCallback(const CppArgumentList&, CppVariant* result) diff --git a/Tools/DumpRenderTree/chromium/WebViewHost.cpp b/Tools/DumpRenderTree/chromium/WebViewHost.cpp index 87faaf248..f8d804e96 100644 --- a/Tools/DumpRenderTree/chromium/WebViewHost.cpp +++ b/Tools/DumpRenderTree/chromium/WebViewHost.cpp @@ -546,6 +546,7 @@ WebString WebViewHost::autoCorrectWord(const WebString&) void WebViewHost::runModalAlertDialog(WebFrame*, const WebString& message) { printf("ALERT: %s\n", message.utf8().data()); + fflush(stdout); } bool WebViewHost::runModalConfirmDialog(WebFrame*, const WebString& message) |