summaryrefslogtreecommitdiff
path: root/Tools/DumpRenderTree
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-10-18 10:55:06 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-10-18 10:55:06 +0200
commitee4c86d1990a9e26277a6948e7027ad8d525ebfa (patch)
tree1e2d3408cd097606571f40ab63353c27bcb7dd5c /Tools/DumpRenderTree
parentd882bec96d0d30aeeda2141bfadfca7f038ee862 (diff)
downloadqtwebkit-ee4c86d1990a9e26277a6948e7027ad8d525ebfa.tar.gz
Imported WebKit commit 795dcd25a9649fccaf1c9b685f6e2ffedaf7e620 (http://svn.webkit.org/repository/webkit/trunk@131718)
New snapshot that includes the return of -fkeep-memory at link time to reduce memory pressure as well as modularized documentation
Diffstat (limited to 'Tools/DumpRenderTree')
-rw-r--r--Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp31
-rw-r--r--Tools/DumpRenderTree/chromium/DRTTestRunner.cpp9
-rw-r--r--Tools/DumpRenderTree/chromium/TestRunner/GamepadController.cpp8
-rw-r--r--Tools/DumpRenderTree/chromium/TestWebPlugin.cpp4
-rw-r--r--Tools/DumpRenderTree/chromium/TestWebPlugin.h2
-rw-r--r--Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp115
-rw-r--r--Tools/DumpRenderTree/mac/DumpRenderTree.mm1
7 files changed, 145 insertions, 25 deletions
diff --git a/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp b/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp
index 4145b9cc0..a24051584 100644
--- a/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp
+++ b/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp
@@ -132,20 +132,22 @@
'dependencies': [
'LayoutTestHelper',
],
- 'mac_bundle_resources': [
- '<(ahem_path)',
- '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
- '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf',
- '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf',
- '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf',
- '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf',
- '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf',
- '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf',
- '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf',
- '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
- '<(SHARED_INTERMEDIATE_DIR)/webkit/missingImage.png',
- '<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png',
- ],
+ 'all_dependent_settings': {
+ 'mac_bundle_resources': [
+ '<(ahem_path)',
+ '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
+ '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf',
+ '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf',
+ '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf',
+ '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf',
+ '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf',
+ '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf',
+ '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf',
+ '<(tools_dir)/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/missingImage.png',
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png',
+ ],
+ },
}],
['use_x11 == 1', {
'copies': [{
@@ -541,7 +543,6 @@
'-DPRODUCT_DIR=<(ant_build_out)',
'--ant-args',
'-DCHROMIUM_SRC=<(ant_build_to_chromium_src)',
- '--sdk-build=<(sdk_build)',
'--app_abi',
'<(android_app_abi)',
],
diff --git a/Tools/DumpRenderTree/chromium/DRTTestRunner.cpp b/Tools/DumpRenderTree/chromium/DRTTestRunner.cpp
index 8aee7c5b2..082597a11 100644
--- a/Tools/DumpRenderTree/chromium/DRTTestRunner.cpp
+++ b/Tools/DumpRenderTree/chromium/DRTTestRunner.cpp
@@ -1392,12 +1392,13 @@ void DRTTestRunner::setIsolatedWorldSecurityOrigin(const CppArgumentList& argume
{
result->setNull();
- if (arguments.size() != 2 || !arguments[0].isNumber() || !arguments[1].isString())
+ if (arguments.size() != 2 || !arguments[0].isNumber() || !(arguments[1].isString() || arguments[1].isNull()))
return;
- m_shell->webView()->focusedFrame()->setIsolatedWorldSecurityOrigin(
- arguments[0].toInt32(),
- WebSecurityOrigin::createFromString(cppVariantToWebString(arguments[1])));
+ WebSecurityOrigin origin;
+ if (arguments[1].isString())
+ origin = WebSecurityOrigin::createFromString(cppVariantToWebString(arguments[1]));
+ m_shell->webView()->focusedFrame()->setIsolatedWorldSecurityOrigin(arguments[0].toInt32(), origin);
}
void DRTTestRunner::setAllowUniversalAccessFromFileURLs(const CppArgumentList& arguments, CppVariant* result)
diff --git a/Tools/DumpRenderTree/chromium/TestRunner/GamepadController.cpp b/Tools/DumpRenderTree/chromium/TestRunner/GamepadController.cpp
index 35b7dfa38..cb36bfdfb 100644
--- a/Tools/DumpRenderTree/chromium/TestRunner/GamepadController.cpp
+++ b/Tools/DumpRenderTree/chromium/TestRunner/GamepadController.cpp
@@ -128,6 +128,8 @@ void GamepadController::setButtonCount(const CppArgumentList& args, CppVariant*
if (index < 0 || index >= static_cast<int>(WebKit::WebGamepads::itemsLengthCap))
return;
int buttons = args[1].toInt32();
+ if (buttons < 0 || buttons >= static_cast<int>(WebKit::WebGamepad::buttonsLengthCap))
+ return;
m_gamepads.items[index].buttonsLength = buttons;
m_delegate->setGamepadData(m_gamepads);
result->setNull();
@@ -143,6 +145,8 @@ void GamepadController::setButtonData(const CppArgumentList& args, CppVariant* r
if (index < 0 || index >= static_cast<int>(WebKit::WebGamepads::itemsLengthCap))
return;
int button = args[1].toInt32();
+ if (button < 0 || button >= static_cast<int>(WebKit::WebGamepad::buttonsLengthCap))
+ return;
double data = args[2].toDouble();
m_gamepads.items[index].buttons[button] = data;
m_delegate->setGamepadData(m_gamepads);
@@ -159,6 +163,8 @@ void GamepadController::setAxisCount(const CppArgumentList& args, CppVariant* re
if (index < 0 || index >= static_cast<int>(WebKit::WebGamepads::itemsLengthCap))
return;
int axes = args[1].toInt32();
+ if (axes < 0 || axes >= static_cast<int>(WebKit::WebGamepad::axesLengthCap))
+ return;
m_gamepads.items[index].axesLength = axes;
m_delegate->setGamepadData(m_gamepads);
result->setNull();
@@ -174,6 +180,8 @@ void GamepadController::setAxisData(const CppArgumentList& args, CppVariant* res
if (index < 0 || index >= static_cast<int>(WebKit::WebGamepads::itemsLengthCap))
return;
int axis = args[1].toInt32();
+ if (axis < 0 || axis >= static_cast<int>(WebKit::WebGamepad::axesLengthCap))
+ return;
double data = args[2].toDouble();
m_gamepads.items[index].axes[axis] = data;
m_delegate->setGamepadData(m_gamepads);
diff --git a/Tools/DumpRenderTree/chromium/TestWebPlugin.cpp b/Tools/DumpRenderTree/chromium/TestWebPlugin.cpp
index c54ebedea..7080bef18 100644
--- a/Tools/DumpRenderTree/chromium/TestWebPlugin.cpp
+++ b/Tools/DumpRenderTree/chromium/TestWebPlugin.cpp
@@ -125,6 +125,7 @@ TestWebPlugin::TestWebPlugin(WebKit::WebFrame* frame,
, m_context(0)
, m_acceptsTouchEvent(false)
, m_printEventDetails(false)
+ , m_canProcessDrag(false)
{
static const WebString kAttributePrimitive = WebString::fromUTF8("primitive");
static const WebString kAttributeBackgroundColor = WebString::fromUTF8("background-color");
@@ -132,6 +133,7 @@ TestWebPlugin::TestWebPlugin(WebKit::WebFrame* frame,
static const WebString kAttributeOpacity = WebString::fromUTF8("opacity");
static const WebString kAttributeAcceptsTouch = WebString::fromUTF8("accepts-touch");
static const WebString kAttributePrintEventDetails = WebString::fromUTF8("print-event-details");
+ static const WebString kAttributeCanProcessDrag = WebString::fromUTF8("can-process-drag");
ASSERT(params.attributeNames.size() == params.attributeValues.size());
size_t size = params.attributeNames.size();
@@ -151,6 +153,8 @@ TestWebPlugin::TestWebPlugin(WebKit::WebFrame* frame,
m_acceptsTouchEvent = parseBoolean(attributeValue);
else if (attributeName == kAttributePrintEventDetails)
m_printEventDetails = parseBoolean(attributeValue);
+ else if (attributeName == kAttributeCanProcessDrag)
+ m_canProcessDrag = parseBoolean(attributeValue);
}
}
diff --git a/Tools/DumpRenderTree/chromium/TestWebPlugin.h b/Tools/DumpRenderTree/chromium/TestWebPlugin.h
index aa6533e32..49fde85aa 100644
--- a/Tools/DumpRenderTree/chromium/TestWebPlugin.h
+++ b/Tools/DumpRenderTree/chromium/TestWebPlugin.h
@@ -56,6 +56,7 @@ public:
virtual bool initialize(WebKit::WebPluginContainer*);
virtual void destroy();
virtual NPObject* scriptableObject() { return 0; }
+ virtual bool canProcessDrag() const { return m_canProcessDrag; }
virtual void paint(WebKit::WebCanvas*, const WebKit::WebRect&) { }
virtual void updateGeometry(const WebKit::WebRect& frameRect,
const WebKit::WebRect& clipRect,
@@ -132,6 +133,7 @@ private:
bool m_acceptsTouchEvent;
bool m_printEventDetails;
+ bool m_canProcessDrag;
};
#endif // TestPepperPlugin_h
diff --git a/Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp b/Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp
index 25c49e314..b00c583f0 100644
--- a/Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp
+++ b/Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp
@@ -37,6 +37,114 @@
#include <wtf/text/WTFString.h>
#include <wtf/unicode/CharacterNames.h>
+static inline String roleToString(AtkRole role)
+{
+ switch (role) {
+ case ATK_ROLE_ALERT:
+ return "AXRole: AXAlert";
+ case ATK_ROLE_CANVAS:
+ return "AXRole: AXCanvas";
+ case ATK_ROLE_CHECK_BOX:
+ return "AXRole: AXCheckBox";
+ case ATK_ROLE_COLUMN_HEADER:
+ return "AXRole: AXColumnHeader";
+ case ATK_ROLE_COMBO_BOX:
+ return "AXRole: AXComboBox";
+ case ATK_ROLE_DOCUMENT_FRAME:
+ return "AXRole: AXWebArea";
+ case ATK_ROLE_ENTRY:
+ return "AXRole: AXTextField";
+ case ATK_ROLE_FOOTER:
+ return "AXRole: AXFooter";
+ case ATK_ROLE_FORM:
+ return "AXRole: AXForm";
+ case ATK_ROLE_GROUPING:
+ return "AXRole: AXGroup";
+ case ATK_ROLE_HEADING:
+ return "AXRole: AXHeading";
+ case ATK_ROLE_IMAGE:
+ return "AXRole: AXImage";
+ case ATK_ROLE_IMAGE_MAP:
+ return "AXRole: AXImageMap";
+ case ATK_ROLE_LABEL:
+ return "AXRole: AXLabel";
+ case ATK_ROLE_LINK:
+ return "AXRole: AXLink";
+ case ATK_ROLE_LIST:
+ return "AXRole: AXList";
+ case ATK_ROLE_LIST_BOX:
+ return "AXRole: AXListBox";
+ case ATK_ROLE_LIST_ITEM:
+ return "AXRole: AXListItem";
+ case ATK_ROLE_MENU:
+ return "AXRole: AXMenu";
+ case ATK_ROLE_MENU_BAR:
+ return "AXRole: AXMenuBar";
+ case ATK_ROLE_MENU_ITEM:
+ return "AXRole: AXMenuItem";
+ case ATK_ROLE_PAGE_TAB:
+ return "AXRole: AXTab";
+ case ATK_ROLE_PAGE_TAB_LIST:
+ return "AXRole: AXTabGroup";
+ case ATK_ROLE_PANEL:
+ return "AXRole: AXGroup";
+ case ATK_ROLE_PARAGRAPH:
+ return "AXRole: AXParagraph";
+ case ATK_ROLE_PASSWORD_TEXT:
+ return "AXRole: AXPasswordField";
+ case ATK_ROLE_PUSH_BUTTON:
+ return "AXRole: AXButton";
+ case ATK_ROLE_RADIO_BUTTON:
+ return "AXRole: AXRadioButton";
+ case ATK_ROLE_ROW_HEADER:
+ return "AXRole: AXRowHeader";
+ case ATK_ROLE_RULER:
+ return "AXRole: AXRuler";
+ case ATK_ROLE_SCROLL_BAR:
+ return "AXRole: AXScrollBar";
+ case ATK_ROLE_SCROLL_PANE:
+ return "AXRole: AXScrollArea";
+ case ATK_ROLE_SECTION:
+ return "AXRole: AXDiv";
+ case ATK_ROLE_SEPARATOR:
+ return "AXRole: AXHorizontalRule";
+ case ATK_ROLE_SLIDER:
+ return "AXRole: AXSlider";
+ case ATK_ROLE_SPIN_BUTTON:
+ return "AXRole: AXSpinButton";
+ case ATK_ROLE_TABLE:
+ return "AXRole: AXTable";
+ case ATK_ROLE_TABLE_CELL:
+ return "AXRole: AXCell";
+ case ATK_ROLE_TABLE_COLUMN_HEADER:
+ return "AXRole: AXColumnHeader";
+ case ATK_ROLE_TABLE_ROW:
+ return "AXRole: AXRow";
+ case ATK_ROLE_TABLE_ROW_HEADER:
+ return "AXRole: AXRowHeader";
+ case ATK_ROLE_TOGGLE_BUTTON:
+ return "AXRole: AXToggleButton";
+ case ATK_ROLE_TOOL_BAR:
+ return "AXRole: AXToolbar";
+ case ATK_ROLE_TOOL_TIP:
+ return "AXRole: AXUserInterfaceTooltip";
+ case ATK_ROLE_TREE:
+ return "AXRole: AXTree";
+ case ATK_ROLE_TREE_TABLE:
+ return "AXRole: AXTreeGrid";
+ case ATK_ROLE_TREE_ITEM:
+ return "AXRole: AXTreeItem";
+ case ATK_ROLE_WINDOW:
+ return "AXRole: AXWindow";
+ case ATK_ROLE_UNKNOWN:
+ return "AXRole: AXUnknown";
+ default:
+ // We want to distinguish ATK_ROLE_UNKNOWN from a known AtkRole which
+ // our DRT isn't properly handling.
+ return "AXRole: FIXME not identified";
+ }
+}
+
static inline gchar* replaceCharactersForResults(gchar* str)
{
String uString = String::fromUTF8(str);
@@ -246,14 +354,11 @@ JSStringRef AccessibilityUIElement::parameterizedAttributeNames()
JSStringRef AccessibilityUIElement::role()
{
AtkRole role = atk_object_get_role(ATK_OBJECT(m_element));
-
if (!role)
return JSStringCreateWithCharacters(0, 0);
- const gchar* roleName = atk_role_get_name(role);
- GOwnPtr<gchar> axRole(g_strdup_printf("AXRole: %s", roleName));
-
- return JSStringCreateWithUTF8CString(axRole.get());
+ String roleString = roleToString(role);
+ return JSStringCreateWithUTF8CString(roleString.utf8().data());
}
JSStringRef AccessibilityUIElement::subrole()
diff --git a/Tools/DumpRenderTree/mac/DumpRenderTree.mm b/Tools/DumpRenderTree/mac/DumpRenderTree.mm
index f70e26259..029b358a0 100644
--- a/Tools/DumpRenderTree/mac/DumpRenderTree.mm
+++ b/Tools/DumpRenderTree/mac/DumpRenderTree.mm
@@ -1186,7 +1186,6 @@ void dump()
WTF::FastMallocStatistics mallocStats = WTF::fastMallocStatistics();
printf("DumpMalloc: %li\n", mallocStats.committedVMBytes);
- printf("DumpJSHeap: %li\n", JSC::HeapStatistics::usedJSHeap());
if (resultData) {
fwrite([resultData bytes], 1, [resultData length], stdout);