- Revision
- 120588
- Author
- ma...@webkit.org
- Date
- 2012-06-18 04:13:14 -0700 (Mon, 18 Jun 2012)
Log Message
[GTK] Get rid of DumpRenderTreeSupportGtk::{in|de}crementAccessibilityValue
https://bugs.webkit.org/show_bug.cgi?id=89226
Reviewed by Martin Robinson.
Source/WebCore:
Implement webkitAccessibleValueGetMinimumIncrement() properly,
doing something similar to what is done in AccessibilityObject's
increment() and decrement() functions.
Also, added missing bits to webkitAccessibleValueSetCurrentValue
to make sure we check the new value against range limits.
* accessibility/gtk/WebKitAccessibleInterfaceValue.cpp:
(webkitAccessibleValueGetCurrentValue):
(webkitAccessibleValueGetMaximumValue):
(webkitAccessibleValueGetMinimumValue):
(webkitAccessibleValueSetCurrentValue):
(webkitAccessibleValueGetMinimumIncrement):
Source/WebKit/gtk:
Remove unnecesary functions incrementAccessibilityValue() and
decrementAccessibilityValue() from DumpRenderTreeSupportGtk.
* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):
Tools:
Implement increment() and decrement() functions in term of the AtkValue interface,
instead of using DumpRenderTreeSupportGtk helper class.
* DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
(AccessibilityUIElement::intValue):
(AccessibilityUIElement::minValue):
(AccessibilityUIElement::maxValue):
(alterCurrentValue):
(AccessibilityUIElement::increment):
(AccessibilityUIElement::decrement):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (120587 => 120588)
--- trunk/Source/WebCore/ChangeLog 2012-06-18 11:11:12 UTC (rev 120587)
+++ trunk/Source/WebCore/ChangeLog 2012-06-18 11:13:14 UTC (rev 120588)
@@ -1,3 +1,24 @@
+2012-06-18 Mario Sanchez Prada <msanc...@igalia.com>
+
+ [GTK] Get rid of DumpRenderTreeSupportGtk::{in|de}crementAccessibilityValue
+ https://bugs.webkit.org/show_bug.cgi?id=89226
+
+ Reviewed by Martin Robinson.
+
+ Implement webkitAccessibleValueGetMinimumIncrement() properly,
+ doing something similar to what is done in AccessibilityObject's
+ increment() and decrement() functions.
+
+ Also, added missing bits to webkitAccessibleValueSetCurrentValue
+ to make sure we check the new value against range limits.
+
+ * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp:
+ (webkitAccessibleValueGetCurrentValue):
+ (webkitAccessibleValueGetMaximumValue):
+ (webkitAccessibleValueGetMinimumValue):
+ (webkitAccessibleValueSetCurrentValue):
+ (webkitAccessibleValueGetMinimumIncrement):
+
2012-06-14 Kinuko Yasuda <kin...@chromium.org>
[chromium] Cleanup: remove PlatformSupport::createAsyncFileSystem as it's no longer used
Modified: trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.cpp (120587 => 120588)
--- trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.cpp 2012-06-18 11:11:12 UTC (rev 120587)
+++ trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.cpp 2012-06-18 11:13:14 UTC (rev 120588)
@@ -21,6 +21,7 @@
#include "WebKitAccessibleInterfaceValue.h"
#include "AccessibilityObject.h"
+#include "HTMLNames.h"
#include "WebKitAccessibleWrapperAtk.h"
using namespace WebCore;
@@ -36,48 +37,73 @@
static void webkitAccessibleValueGetCurrentValue(AtkValue* value, GValue* gValue)
{
memset(gValue, 0, sizeof(GValue));
- g_value_init(gValue, G_TYPE_DOUBLE);
- g_value_set_double(gValue, core(value)->valueForRange());
+ g_value_init(gValue, G_TYPE_FLOAT);
+ g_value_set_float(gValue, core(value)->valueForRange());
}
static void webkitAccessibleValueGetMaximumValue(AtkValue* value, GValue* gValue)
{
memset(gValue, 0, sizeof(GValue));
- g_value_init(gValue, G_TYPE_DOUBLE);
- g_value_set_double(gValue, core(value)->maxValueForRange());
+ g_value_init(gValue, G_TYPE_FLOAT);
+ g_value_set_float(gValue, core(value)->maxValueForRange());
}
static void webkitAccessibleValueGetMinimumValue(AtkValue* value, GValue* gValue)
{
memset(gValue, 0, sizeof(GValue));
- g_value_init(gValue, G_TYPE_DOUBLE);
- g_value_set_double(gValue, core(value)->minValueForRange());
+ g_value_init(gValue, G_TYPE_FLOAT);
+ g_value_set_float(gValue, core(value)->minValueForRange());
}
static gboolean webkitAccessibleValueSetCurrentValue(AtkValue* value, const GValue* gValue)
{
- if (!G_VALUE_HOLDS_DOUBLE(gValue) && !G_VALUE_HOLDS_INT(gValue))
- return FALSE;
+ double newValue;
+ if (G_VALUE_HOLDS_DOUBLE(gValue))
+ newValue = g_value_get_double(gValue);
+ else if (G_VALUE_HOLDS_FLOAT(gValue))
+ newValue = g_value_get_float(gValue);
+ else if (G_VALUE_HOLDS_INT64(gValue))
+ newValue = g_value_get_int64(gValue);
+ else if (G_VALUE_HOLDS_INT(gValue))
+ newValue = g_value_get_int(gValue);
+ else if (G_VALUE_HOLDS_LONG(gValue))
+ newValue = g_value_get_long(gValue);
+ else if (G_VALUE_HOLDS_ULONG(gValue))
+ newValue = g_value_get_ulong(gValue);
+ else if (G_VALUE_HOLDS_UINT64(gValue))
+ newValue = g_value_get_uint64(gValue);
+ else if (G_VALUE_HOLDS_UINT(gValue))
+ newValue = g_value_get_uint(gValue);
+ else
+ return false;
AccessibilityObject* coreObject = core(value);
if (!coreObject->canSetValueAttribute())
return FALSE;
- if (G_VALUE_HOLDS_DOUBLE(gValue))
- coreObject->setValue(String::number(g_value_get_double(gValue)));
- else
- coreObject->setValue(String::number(g_value_get_int(gValue)));
+ // Check value against range limits
+ newValue = std::max(static_cast<double>(coreObject->minValueForRange()), newValue);
+ newValue = std::min(static_cast<double>(coreObject->maxValueForRange()), newValue);
+ coreObject->setValue(String::number(newValue));
return TRUE;
}
static void webkitAccessibleValueGetMinimumIncrement(AtkValue* value, GValue* gValue)
{
memset(gValue, 0, sizeof(GValue));
- g_value_init(gValue, G_TYPE_DOUBLE);
+ g_value_init(gValue, G_TYPE_FLOAT);
- // There's not such a thing in the WAI-ARIA specification, thus return zero.
- g_value_set_double(gValue, 0.0);
+ AccessibilityObject* coreObject = core(value);
+ if (!coreObject->getAttribute(HTMLNames::stepAttr).isEmpty()) {
+ g_value_set_float(gValue, coreObject->stepValueForRange());
+ return;
+ }
+
+ // If 'step' attribute is not defined, WebCore assumes a 5% of the
+ // range between minimum and maximum values, so return that.
+ float range = coreObject->maxValueForRange() - coreObject->minValueForRange();
+ g_value_set_float(gValue, range * 0.05);
}
void webkitAccessibleValueInterfaceInit(AtkValueIface* iface)
Modified: trunk/Source/WebKit/gtk/ChangeLog (120587 => 120588)
--- trunk/Source/WebKit/gtk/ChangeLog 2012-06-18 11:11:12 UTC (rev 120587)
+++ trunk/Source/WebKit/gtk/ChangeLog 2012-06-18 11:13:14 UTC (rev 120588)
@@ -1,3 +1,17 @@
+2012-06-18 Mario Sanchez Prada <msanc...@igalia.com>
+
+ [GTK] Get rid of DumpRenderTreeSupportGtk::{in|de}crementAccessibilityValue
+ https://bugs.webkit.org/show_bug.cgi?id=89226
+
+ Reviewed by Martin Robinson.
+
+ Remove unnecesary functions incrementAccessibilityValue() and
+ decrementAccessibilityValue() from DumpRenderTreeSupportGtk.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+ (DumpRenderTreeSupportGtk):
+
2012-06-14 Alejandro G. Castro <a...@igalia.com>
[GTK] Add TextureMapper ImageBuffer support as a fallback from the hardware accelerated path
Modified: trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp (120587 => 120588)
--- trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp 2012-06-18 11:11:12 UTC (rev 120587)
+++ trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp 2012-06-18 11:13:14 UTC (rev 120588)
@@ -660,31 +660,6 @@
core(webView)->settings()->setMinDOMTimerInterval(interval);
}
-static void modifyAccessibilityValue(AtkObject* axObject, bool increment)
-{
- if (!axObject || !WEBKIT_IS_ACCESSIBLE(axObject))
- return;
-
- AccessibilityObject* coreObject = webkitAccessibleGetAccessibilityObject(WEBKIT_ACCESSIBLE(axObject));
- if (!coreObject)
- return;
-
- if (increment)
- coreObject->increment();
- else
- coreObject->decrement();
-}
-
-void DumpRenderTreeSupportGtk::incrementAccessibilityValue(AtkObject* axObject)
-{
- modifyAccessibilityValue(axObject, true);
-}
-
-void DumpRenderTreeSupportGtk::decrementAccessibilityValue(AtkObject* axObject)
-{
- modifyAccessibilityValue(axObject, false);
-}
-
CString DumpRenderTreeSupportGtk::accessibilityHelpText(AtkObject* axObject)
{
if (!axObject || !WEBKIT_IS_ACCESSIBLE(axObject))
Modified: trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h (120587 => 120588)
--- trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h 2012-06-18 11:11:12 UTC (rev 120587)
+++ trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h 2012-06-18 11:13:14 UTC (rev 120588)
@@ -94,8 +94,6 @@
static void forceWebViewPaint(WebKitWebView*);
// Accessibility
- static void incrementAccessibilityValue(AtkObject*);
- static void decrementAccessibilityValue(AtkObject*);
static WTF::CString accessibilityHelpText(AtkObject*);
// TextInputController
Modified: trunk/Tools/ChangeLog (120587 => 120588)
--- trunk/Tools/ChangeLog 2012-06-18 11:11:12 UTC (rev 120587)
+++ trunk/Tools/ChangeLog 2012-06-18 11:13:14 UTC (rev 120588)
@@ -1,3 +1,21 @@
+2012-06-18 Mario Sanchez Prada <msanc...@igalia.com>
+
+ [GTK] Get rid of DumpRenderTreeSupportGtk::{in|de}crementAccessibilityValue
+ https://bugs.webkit.org/show_bug.cgi?id=89226
+
+ Reviewed by Martin Robinson.
+
+ Implement increment() and decrement() functions in term of the AtkValue interface,
+ instead of using DumpRenderTreeSupportGtk helper class.
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::intValue):
+ (AccessibilityUIElement::minValue):
+ (AccessibilityUIElement::maxValue):
+ (alterCurrentValue):
+ (AccessibilityUIElement::increment):
+ (AccessibilityUIElement::decrement):
+
2012-06-17 Simon Fraser <simon.fra...@apple.com>
garden-o-matic 'Results' panel is broken for the Apple platform
Modified: trunk/Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp (120587 => 120588)
--- trunk/Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp 2012-06-18 11:11:12 UTC (rev 120587)
+++ trunk/Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp 2012-06-18 11:13:14 UTC (rev 120588)
@@ -330,13 +330,9 @@
return 0.0f;
atk_value_get_current_value(ATK_VALUE(m_element), &value);
-
- if (G_VALUE_HOLDS_DOUBLE(&value))
- return g_value_get_double(&value);
- else if (G_VALUE_HOLDS_INT(&value))
- return static_cast<double>(g_value_get_int(&value));
- else
+ if (!G_VALUE_HOLDS_FLOAT(&value))
return 0.0f;
+ return g_value_get_float(&value);
}
double AccessibilityUIElement::minValue()
@@ -347,13 +343,9 @@
return 0.0f;
atk_value_get_minimum_value(ATK_VALUE(m_element), &value);
-
- if (G_VALUE_HOLDS_DOUBLE(&value))
- return g_value_get_double(&value);
- else if (G_VALUE_HOLDS_INT(&value))
- return static_cast<double>(g_value_get_int(&value));
- else
+ if (!G_VALUE_HOLDS_FLOAT(&value))
return 0.0f;
+ return g_value_get_float(&value);
}
double AccessibilityUIElement::maxValue()
@@ -364,13 +356,9 @@
return 0.0f;
atk_value_get_maximum_value(ATK_VALUE(m_element), &value);
-
- if (G_VALUE_HOLDS_DOUBLE(&value))
- return g_value_get_double(&value);
- else if (G_VALUE_HOLDS_INT(&value))
- return static_cast<double>(g_value_get_int(&value));
- else
+ if (!G_VALUE_HOLDS_FLOAT(&value))
return 0.0f;
+ return g_value_get_float(&value);
}
JSStringRef AccessibilityUIElement::valueDescription()
@@ -646,22 +634,38 @@
return false;
}
-void AccessibilityUIElement::increment()
+static void alterCurrentValue(PlatformUIElement element, int factor)
{
- if (!m_element)
+ if (!element)
return;
- ASSERT(ATK_IS_OBJECT(m_element));
- DumpRenderTreeSupportGtk::incrementAccessibilityValue(ATK_OBJECT(m_element));
+ ASSERT(ATK_IS_VALUE(element));
+
+ GValue currentValue = G_VALUE_INIT;
+ atk_value_get_current_value(ATK_VALUE(element), ¤tValue);
+
+ GValue increment = G_VALUE_INIT;
+ atk_value_get_minimum_increment(ATK_VALUE(element), &increment);
+
+ GValue newValue = G_VALUE_INIT;
+ g_value_init(&newValue, G_TYPE_FLOAT);
+
+ g_value_set_float(&newValue, g_value_get_float(¤tValue) + factor * g_value_get_float(&increment));
+ atk_value_set_current_value(ATK_VALUE(element), &newValue);
+
+ g_value_unset(&newValue);
+ g_value_unset(&increment);
+ g_value_unset(¤tValue);
}
+void AccessibilityUIElement::increment()
+{
+ alterCurrentValue(m_element, 1);
+}
+
void AccessibilityUIElement::decrement()
{
- if (!m_element)
- return;
-
- ASSERT(ATK_IS_OBJECT(m_element));
- DumpRenderTreeSupportGtk::decrementAccessibilityValue(ATK_OBJECT(m_element));
+ alterCurrentValue(m_element, -1);
}
void AccessibilityUIElement::press()