summaryrefslogtreecommitdiff
path: root/Tools/DumpRenderTree/chromium
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-09-26 10:42:44 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-09-26 10:42:44 +0200
commit33b26980cb24288b5a9f2590ccf32a949281bb79 (patch)
treecc0203dac37338b24b0b25a4694c0b76d4e4164b /Tools/DumpRenderTree/chromium
parent715be629d51174233403237bfc563cf150087dc8 (diff)
downloadqtwebkit-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.cpp48
-rw-r--r--Tools/DumpRenderTree/chromium/WebViewHost.cpp1
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)