From: Artur Świgoń Date: Fri, 29 Apr 2022 17:12:36 +0000 (+0200) Subject: [AT-SPI] Call EmbedAtkSocket() from WebViewAccessible X-Git-Tag: dali_2.1.22~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=refs%2Fchanges%2F15%2F274515%2F4;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [AT-SPI] Call EmbedAtkSocket() from WebViewAccessible This is necessary for the ATK-based AT-SPI subtree of the web content to know the address of its parent. Change-Id: I98ad98bc5d016df9a827d733451a4ceda5b429c3 --- diff --git a/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.cpp b/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.cpp index 843a26c..c6499b0 100644 --- a/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.cpp +++ b/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.cpp @@ -52,6 +52,12 @@ namespace Accessibility wr->Encode(reply, std::tuple
{ {"bus", "root"} }); return reply; }; + wr->testMethods[std::tuple{"/org/a11y/atspi/accessible/root", "org.a11y.atspi.Socket", "Unembed", MethodType::Method}] = [wr](const MessagePtr &m) -> MessagePtr { + return wr->newReplyMessage(m); + }; + wr->testMethods[std::tuple{"/org/a11y/atspi/accessible/root", "org.a11y.atspi.Socket", "Embedded", MethodType::Method}] = [wr](const MessagePtr &m) -> MessagePtr { + return wr->newReplyMessage(m); + }; wr->testMethods[std::tuple{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "PropertyChange", MethodType::Method}] = [wr](const MessagePtr &m) -> MessagePtr { return wr->newReplyMessage(m); diff --git a/dali-toolkit/internal/controls/web-view/web-view-impl.cpp b/dali-toolkit/internal/controls/web-view/web-view-impl.cpp index e3f2406..09bea45 100755 --- a/dali-toolkit/internal/controls/web-view/web-view-impl.cpp +++ b/dali-toolkit/internal/controls/web-view/web-view-impl.cpp @@ -1293,8 +1293,13 @@ void WebView::WebViewAccessible::OnAccessibilityDisabled() void WebView::WebViewAccessible::SetRemoteChildAddress(Dali::Accessibility::Address address) { - mRemoteChild.SetAddress(std::move(address)); + mRemoteChild.SetAddress(address); OnChildrenChanged(); + + if(address) + { + Accessibility::Bridge::GetCurrentBridge()->EmbedAtkSocket(GetAddress(), address); + } } #undef GET_ENUM_STRING