Diff
Modified: trunk/Source/WebCore/ChangeLog (114030 => 114031)
--- trunk/Source/WebCore/ChangeLog 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/ChangeLog 2012-04-12 20:56:47 UTC (rev 114031)
@@ -1,3 +1,51 @@
+2012-04-12 Levi Weintraub <[email protected]>
+
+ Make AccessibilityObject::size non-virtual and fix platform accessibility code's LayoutUnit usage
+ https://bugs.webkit.org/show_bug.cgi?id=83803
+
+ Reviewed by Eric Seidel.
+
+ AccessibilityObject::size was virtual with a number of overloads, but all the implementations were
+ redundant. Avoiding the virtual thunk and code duplication by declaring it non-virtual and only
+ implementing it in AccessibilityObject.
+
+ Also adding a pixelSnappedSize method that returns an IntSize, and using it in platform
+ accessibility code.
+
+ No new tests. No change in behavior.
+
+ * accessibility/AccessibilityMenuListOption.h:
+ (WebCore::AccessibilityMenuListOption::canHaveChildren):
+ * accessibility/AccessibilityMenuListPopup.h:
+ (WebCore::AccessibilityMenuListPopup::elementRect):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::size):
+ (WebCore::AccessibilityObject::pixelSnappedSize):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore):
+ * accessibility/AccessibilityRenderObject.h:
+ (AccessibilityRenderObject):
+ * accessibility/AccessibilitySlider.cpp:
+ (WebCore):
+ * accessibility/AccessibilitySlider.h:
+ (AccessibilitySliderThumb):
+ * accessibility/AccessibilityTableColumn.cpp:
+ (WebCore):
+ * accessibility/AccessibilityTableColumn.h:
+ (AccessibilityTableColumn):
+ * accessibility/AccessibilityTableHeaderContainer.cpp:
+ (WebCore):
+ * accessibility/AccessibilityTableHeaderContainer.h:
+ (AccessibilityTableHeaderContainer):
+ * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
+ (webkitAccessibleComponentGetExtents):
+ * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
+ (webkitAccessibleImageGetImagePosition):
+ (webkitAccessibleImageGetImageSize):
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm:
+ (-[WebAccessibilityObjectWrapper position]):
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+
2012-04-12 Anna Cavender <[email protected]>
Update HTMLMediaElement's index of cues when TextTrack.mode changes to
Modified: trunk/Source/WebCore/accessibility/AccessibilityMenuListOption.h (114030 => 114031)
--- trunk/Source/WebCore/accessibility/AccessibilityMenuListOption.h 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/AccessibilityMenuListOption.h 2012-04-12 20:56:47 UTC (rev 114031)
@@ -46,7 +46,6 @@
virtual AccessibilityRole roleValue() const { return MenuListOptionRole; }
virtual bool canHaveChildren() const { return false; }
- virtual LayoutSize size() const { return elementRect().size(); }
virtual Element* actionElement() const;
virtual bool isEnabled() const;
Modified: trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.h (114030 => 114031)
--- trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.h 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.h 2012-04-12 20:56:47 UTC (rev 114031)
@@ -50,7 +50,6 @@
virtual bool isMenuListPopup() const { return true; }
virtual LayoutRect elementRect() const { return LayoutRect(); }
- virtual LayoutSize size() const { return LayoutSize(); }
virtual AccessibilityRole roleValue() const { return MenuListPopupRole; }
virtual bool isVisible() const;
Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.h (114030 => 114031)
--- trunk/Source/WebCore/accessibility/AccessibilityObject.h 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.h 2012-04-12 20:56:47 UTC (rev 114031)
@@ -506,7 +506,8 @@
virtual LayoutRect boundingBoxRect() const { return LayoutRect(); }
IntRect pixelSnappedBoundingBoxRect() const { return pixelSnappedIntRect(boundingBoxRect()); }
virtual LayoutRect elementRect() const = 0;
- virtual LayoutSize size() const { return elementRect().size(); }
+ LayoutSize size() const { return elementRect().size(); }
+ IntSize pixelSnappedSize() const { return elementRect().pixelSnappedSize(); }
virtual IntPoint clickPoint();
static IntRect boundingBoxForQuads(RenderObject*, const Vector<FloatQuad>&);
Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (114030 => 114031)
--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2012-04-12 20:56:47 UTC (rev 114031)
@@ -1523,12 +1523,6 @@
return boundingBoxRect();
}
-LayoutSize AccessibilityRenderObject::size() const
-{
- LayoutRect rect = elementRect();
- return rect.size();
-}
-
IntPoint AccessibilityRenderObject::clickPoint()
{
// Headings are usually much wider than their textual content. If the mid point is used, often it can be wrong.
Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h (114030 => 114031)
--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h 2012-04-12 20:56:47 UTC (rev 114031)
@@ -166,7 +166,6 @@
virtual LayoutRect boundingBoxRect() const;
virtual LayoutRect elementRect() const;
- virtual LayoutSize size() const;
virtual IntPoint clickPoint();
void setRenderer(RenderObject* renderer) { m_renderer = renderer; }
Modified: trunk/Source/WebCore/accessibility/AccessibilitySlider.cpp (114030 => 114031)
--- trunk/Source/WebCore/accessibility/AccessibilitySlider.cpp 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/AccessibilitySlider.cpp 2012-04-12 20:56:47 UTC (rev 114031)
@@ -178,11 +178,6 @@
return sliderThumbElementOf(sliderRenderer->node())->getRect();
}
-LayoutSize AccessibilitySliderThumb::size() const
-{
- return elementRect().size();
-}
-
bool AccessibilitySliderThumb::accessibilityIsIgnored() const
{
AccessibilityObjectInclusion decision = accessibilityPlatformIncludesObject();
Modified: trunk/Source/WebCore/accessibility/AccessibilitySlider.h (114030 => 114031)
--- trunk/Source/WebCore/accessibility/AccessibilitySlider.h 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/AccessibilitySlider.h 2012-04-12 20:56:47 UTC (rev 114031)
@@ -75,7 +75,6 @@
virtual AccessibilityRole roleValue() const { return SliderThumbRole; }
- virtual LayoutSize size() const;
virtual LayoutRect elementRect() const;
virtual bool accessibilityIsIgnored() const;
Modified: trunk/Source/WebCore/accessibility/AccessibilityTableColumn.cpp (114030 => 114031)
--- trunk/Source/WebCore/accessibility/AccessibilityTableColumn.cpp 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/AccessibilityTableColumn.cpp 2012-04-12 20:56:47 UTC (rev 114031)
@@ -68,11 +68,6 @@
return m_columnRect;
}
-LayoutSize AccessibilityTableColumn::size() const
-{
- return elementRect().size();
-}
-
AccessibilityObject* AccessibilityTableColumn::headerObject()
{
if (!m_parent)
Modified: trunk/Source/WebCore/accessibility/AccessibilityTableColumn.h (114030 => 114031)
--- trunk/Source/WebCore/accessibility/AccessibilityTableColumn.h 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/AccessibilityTableColumn.h 2012-04-12 20:56:47 UTC (rev 114031)
@@ -57,7 +57,6 @@
virtual void addChildren();
virtual void setParent(AccessibilityObject*);
- virtual LayoutSize size() const;
virtual LayoutRect elementRect() const;
private:
Modified: trunk/Source/WebCore/accessibility/AccessibilityTableHeaderContainer.cpp (114030 => 114031)
--- trunk/Source/WebCore/accessibility/AccessibilityTableHeaderContainer.cpp 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/AccessibilityTableHeaderContainer.cpp 2012-04-12 20:56:47 UTC (rev 114031)
@@ -55,11 +55,6 @@
return m_headerRect;
}
-LayoutSize AccessibilityTableHeaderContainer::size() const
-{
- return elementRect().size();
-}
-
bool AccessibilityTableHeaderContainer::accessibilityIsIgnored() const
{
if (!m_parent)
Modified: trunk/Source/WebCore/accessibility/AccessibilityTableHeaderContainer.h (114030 => 114031)
--- trunk/Source/WebCore/accessibility/AccessibilityTableHeaderContainer.h 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/AccessibilityTableHeaderContainer.h 2012-04-12 20:56:47 UTC (rev 114031)
@@ -47,7 +47,6 @@
virtual void addChildren();
- virtual LayoutSize size() const;
virtual LayoutRect elementRect() const;
private:
Modified: trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp (114030 => 114031)
--- trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp 2012-04-12 20:56:47 UTC (rev 114031)
@@ -77,7 +77,7 @@
static void webkitAccessibleComponentGetExtents(AtkComponent* component, gint* x, gint* y, gint* width, gint* height, AtkCoordType coordType)
{
- IntRect rect = core(component)->elementRect();
+ IntRect rect = pixelSnappedIntRect(core(component)->elementRect());
contentsRelativeToAtkCoordinateType(core(component), coordType, rect, x, y, width, height);
}
Modified: trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.cpp (114030 => 114031)
--- trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.cpp 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.cpp 2012-04-12 20:56:47 UTC (rev 114031)
@@ -48,7 +48,7 @@
static void webkitAccessibleImageGetImagePosition(AtkImage* image, gint* x, gint* y, AtkCoordType coordType)
{
- IntRect rect = core(image)->elementRect();
+ IntRect rect = pixelSnappedIntRect(core(image)->elementRect());
contentsRelativeToAtkCoordinateType(core(image), coordType, rect, x, y);
}
@@ -59,7 +59,7 @@
static void webkitAccessibleImageGetImageSize(AtkImage* image, gint* width, gint* height)
{
- IntSize size = core(image)->size();
+ IntSize size = core(image)->pixelSnappedSize();
if (width)
*width = size.width();
Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.mm (114030 => 114031)
--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.mm 2012-04-12 20:55:09 UTC (rev 114030)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.mm 2012-04-12 20:56:47 UTC (rev 114031)
@@ -1409,7 +1409,7 @@
- (NSValue *)position
{
- LayoutRect rect = m_object->elementRect();
+ IntRect rect = pixelSnappedIntRect(m_object->elementRect());
NSPoint point;
FrameView* frameView = m_object->documentFrameView();
@@ -2025,7 +2025,7 @@
return [NSNumber numberWithBool: m_object->isEnabled()];
if ([attributeName isEqualToString: NSAccessibilitySizeAttribute]) {
- LayoutSize s = m_object->size();
+ IntSize s = m_object->pixelSnappedSize();
return [NSValue valueWithSize: NSMakeSize(s.width(), s.height())];
}