Title: [114031] trunk/Source/WebCore
Revision
114031
Author
[email protected]
Date
2012-04-12 13:56:47 -0700 (Thu, 12 Apr 2012)

Log Message

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:]):

Modified Paths

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())];
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to