[AT-SPI] Do not emit BoundsChanged for all actors 89/258789/2
authorArtur Świgoń <a.swigon@samsung.com>
Tue, 25 May 2021 14:46:30 +0000 (16:46 +0200)
committerArtur Świgoń <a.swigon@samsung.com>
Mon, 31 May 2021 13:48:36 +0000 (13:48 +0000)
This patch also removes the ACCESSIBILITY_ANIMATED property (not to be
confused with AT-SPI state ANIMATED). This property was used to control
automatic emission of the BoundsChanged event (and it had only one user,
the highlight frame actor). However, we no longer emit this event, so
this property serves no purpose.

Change-Id: I8df8b9e7fb75951c9f88d5aec944f9d52f10bf06

dali-toolkit/devel-api/controls/accessible-impl.cpp
dali-toolkit/devel-api/controls/control-devel.h
dali-toolkit/internal/controls/control/control-data-impl.cpp
dali-toolkit/internal/controls/control/control-data-impl.h

index dd1fc9344e9da8b67778fe02eb9297bedb860b04..875612180360c71fa1660852b7e1c8f1af482d34 100644 (file)
@@ -168,7 +168,6 @@ Dali::Accessibility::States AccessibleImpl::CalculateStates()
   s[Dali::Accessibility::State::HIGHLIGHTED] = GetCurrentlyHighlightedActor() == self;
   s[Dali::Accessibility::State::ENABLED]     = true;
   s[Dali::Accessibility::State::SENSITIVE]   = true;
-  s[Dali::Accessibility::State::ANIMATED]    = self.GetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED).Get<bool>();
   s[Dali::Accessibility::State::VISIBLE]     = true;
   if(modal)
   {
@@ -262,7 +261,6 @@ static Dali::Actor CreateHighlightIndicatorActor()
   auto actor = Toolkit::ImageView::New(focusBorderImagePath);
   actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS);
   DevelControl::AppendAccessibilityAttribute(actor, "highlight", "");
-  actor.SetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED, true);
   actor.SetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, false);
 
   return actor;
index 3d340ec01b5ee0e8bac18ecd388298442711ec53..4978e4d577295b65f371b6db5036dcba2e82a852 100644 (file)
@@ -182,14 +182,7 @@ enum
    * @brief Set of accessibility attributes describing object in accessibility hierarchy
    * @details Name "accessibilityAttributes", type Property::MAP
    */
-  ACCESSIBILITY_ATTRIBUTES,
-
-  /**
-   * @brief Boolean flag describing object as animated
-   * @details Name "accessibilityAnimated", type Property::BOOLEAN
-   * @note Flag set to true will prevent BoundChanged accessibility signal from emiting
-   */
-  ACCESSIBILITY_ANIMATED
+  ACCESSIBILITY_ATTRIBUTES
 };
 
 } // namespace Property
index 9e69f95540e5b0c2e94ccb20c68c94fb384edbca..e9899911c42a4209ffc243315e51c6c3332716ab 100644 (file)
@@ -420,7 +420,6 @@ const PropertyRegistration Control::Impl::PROPERTY_18(typeRegistration, "accessi
 const PropertyRegistration Control::Impl::PROPERTY_19(typeRegistration, "accessibilityTranslationDomain", Toolkit::DevelControl::Property::ACCESSIBILITY_TRANSLATION_DOMAIN, Property::STRING,  &Control::Impl::SetProperty, &Control::Impl::GetProperty);
 const PropertyRegistration Control::Impl::PROPERTY_20(typeRegistration, "accessibilityRole",              Toolkit::DevelControl::Property::ACCESSIBILITY_ROLE,               Property::INTEGER, &Control::Impl::SetProperty, &Control::Impl::GetProperty);
 const PropertyRegistration Control::Impl::PROPERTY_21(typeRegistration, "accessibilityHighlightable",     Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE,      Property::BOOLEAN, &Control::Impl::SetProperty, &Control::Impl::GetProperty);
-const PropertyRegistration Control::Impl::PROPERTY_22(typeRegistration, "accessibilityAnimated",          Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED,           Property::BOOLEAN, &Control::Impl::SetProperty, &Control::Impl::GetProperty);
 // clang-format on
 
 Control::Impl::Impl(Control& controlImpl)
@@ -1234,16 +1233,6 @@ void Control::Impl::SetProperty(BaseObject* object, Property::Index index, const
         }
         break;
       }
-
-      case Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED:
-      {
-        bool animated;
-        if(value.Get(animated))
-        {
-          controlImpl.mImpl->mAccessibilityAnimated = animated;
-        }
-        break;
-      }
     }
   }
 }
@@ -1404,12 +1393,6 @@ Property::Value Control::Impl::GetProperty(BaseObject* object, Property::Index i
         value = controlImpl.mImpl->mAccessibilityAttributes;
         break;
       }
-
-      case Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED:
-      {
-        value = controlImpl.mImpl->mAccessibilityAnimated;
-        break;
-      }
     }
   }
 
@@ -1911,16 +1894,6 @@ Dali::Accessibility::Accessible* Control::Impl::GetAccessibilityObject(Dali::Act
   return nullptr;
 }
 
-void Control::Impl::PositionOrSizeChangedCallback(PropertyNotification& p)
-{
-  auto self = Dali::Actor::DownCast(p.GetTarget());
-  if(Dali::Accessibility::IsUp() && !self.GetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED).Get<bool>())
-  {
-    auto extents = DevelActor::CalculateScreenExtents(self);
-    Dali::Accessibility::Accessible::Get(self)->EmitBoundsChanged(extents);
-  }
-}
-
 void Control::Impl::CulledChangedCallback(PropertyNotification& p)
 {
   if(Dali::Accessibility::IsUp())
@@ -1934,14 +1907,6 @@ void Control::Impl::AccessibilityRegister()
 {
   if(!accessibilityNotificationSet)
   {
-    accessibilityNotificationPosition = mControlImpl.Self().AddPropertyNotification(Actor::Property::POSITION, StepCondition(0.01f));
-    accessibilityNotificationPosition.SetNotifyMode(PropertyNotification::NOTIFY_ON_CHANGED);
-    accessibilityNotificationPosition.NotifySignal().Connect(&Control::Impl::PositionOrSizeChangedCallback);
-
-    accessibilityNotificationSize = mControlImpl.Self().AddPropertyNotification(Actor::Property::SIZE, StepCondition(0.01f));
-    accessibilityNotificationSize.SetNotifyMode(PropertyNotification::NOTIFY_ON_CHANGED);
-    accessibilityNotificationSize.NotifySignal().Connect(&Control::Impl::PositionOrSizeChangedCallback);
-
     accessibilityNotificationCulled = mControlImpl.Self().AddPropertyNotification(DevelActor::Property::CULLED, LessThanCondition(0.5f));
     accessibilityNotificationCulled.SetNotifyMode(PropertyNotification::NOTIFY_ON_CHANGED);
     accessibilityNotificationCulled.NotifySignal().Connect(&Control::Impl::CulledChangedCallback);
@@ -1954,22 +1919,6 @@ void Control::Impl::AccessibilityDeregister(bool remove)
 {
   if(accessibilityNotificationSet)
   {
-    accessibilityNotificationPosition.NotifySignal().Disconnect(&Control::Impl::PositionOrSizeChangedCallback);
-    if(remove)
-    {
-      mControlImpl.Self().RemovePropertyNotification(accessibilityNotificationPosition);
-    }
-    accessibilityNotificationPosition.Reset();
-    accessibilityNotificationPosition = {};
-
-    accessibilityNotificationSize.NotifySignal().Disconnect(&Control::Impl::PositionOrSizeChangedCallback);
-    if(remove)
-    {
-      mControlImpl.Self().RemovePropertyNotification(accessibilityNotificationSize);
-    }
-    accessibilityNotificationSize.Reset();
-    accessibilityNotificationSize     = {};
-
     accessibilityNotificationCulled.NotifySignal().Disconnect(&Control::Impl::CulledChangedCallback);
     if(remove)
     {
index a3ab6c0c05573be5d84b74f5030095b295198fa5..027189bb3c3d76d4d692902fb953ed419b989039 100644 (file)
@@ -489,7 +489,6 @@ public:
   Dali::Accessibility::Role mAccessibilityRole = Dali::Accessibility::Role::UNKNOWN;
 
   std::vector<std::vector<Accessibility::Address>> mAccessibilityRelations;
-  bool                                             mAccessibilityAnimated = false;
 
   // Gesture Detection
   PinchGestureDetector     mPinchGestureDetector;
@@ -548,9 +547,8 @@ public:
 
   std::function<std::unique_ptr<Dali::Accessibility::Accessible>(Actor)> accessibilityConstructor;
   std::unique_ptr<Dali::Accessibility::Accessible>                       accessibilityObject;
-  Dali::PropertyNotification                                             accessibilityNotificationPosition, accessibilityNotificationSize, accessibilityNotificationCulled;
+  Dali::PropertyNotification                                             accessibilityNotificationCulled;
   bool                                                                   accessibilityNotificationSet = false;
-  static void                                                            PositionOrSizeChangedCallback(PropertyNotification&);
   static void                                                            CulledChangedCallback(PropertyNotification&);
 };