Title: [279983] trunk/Source/WebKit
- Revision
- 279983
- Author
- [email protected]
- Date
- 2021-07-16 04:16:13 -0700 (Fri, 16 Jul 2021)
Log Message
[GTK][WPE] PSON: accessibility doesn't work after a cross site navigation
https://bugs.webkit.org/show_bug.cgi?id=228021
Reviewed by Adrian Perez de Castro.
The provisional page is not handling the BindAccessibilityTree message and we never embed the new web process
plug into the UI process socket.
* UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::bindAccessibilityTree): Save the a11y plug ID.
(WebKit::ProvisionalPageProxy::didReceiveMessage): Handle BindAccessibilityTree message.
* UIProcess/ProvisionalPageProxy.h:
(WebKit::ProvisionalPageProxy::accessibilityPlugID): Returns the a11y plug ID.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::swapToProvisionalPage): If the provisional page has a plug ID, bind the a11y tree.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (279982 => 279983)
--- trunk/Source/WebKit/ChangeLog 2021-07-16 08:43:04 UTC (rev 279982)
+++ trunk/Source/WebKit/ChangeLog 2021-07-16 11:16:13 UTC (rev 279983)
@@ -1,3 +1,21 @@
+2021-07-16 Carlos Garcia Campos <[email protected]>
+
+ [GTK][WPE] PSON: accessibility doesn't work after a cross site navigation
+ https://bugs.webkit.org/show_bug.cgi?id=228021
+
+ Reviewed by Adrian Perez de Castro.
+
+ The provisional page is not handling the BindAccessibilityTree message and we never embed the new web process
+ plug into the UI process socket.
+
+ * UIProcess/ProvisionalPageProxy.cpp:
+ (WebKit::ProvisionalPageProxy::bindAccessibilityTree): Save the a11y plug ID.
+ (WebKit::ProvisionalPageProxy::didReceiveMessage): Handle BindAccessibilityTree message.
+ * UIProcess/ProvisionalPageProxy.h:
+ (WebKit::ProvisionalPageProxy::accessibilityPlugID): Returns the a11y plug ID.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::swapToProvisionalPage): If the provisional page has a plug ID, bind the a11y tree.
+
2021-07-15 Wenson Hsieh <[email protected]>
[iOS] WKMouseGestureRecognizer should not have failure requirements on WKDeferringGestureRecognizer
Modified: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp (279982 => 279983)
--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp 2021-07-16 08:43:04 UTC (rev 279982)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp 2021-07-16 11:16:13 UTC (rev 279983)
@@ -411,6 +411,13 @@
}
#endif
+#if PLATFORM(GTK) || PLATFORM(WPE)
+void ProvisionalPageProxy::bindAccessibilityTree(const String& plugID)
+{
+ m_accessibilityPlugID = plugID;
+}
+#endif
+
#if ENABLE(CONTENT_FILTERING)
void ProvisionalPageProxy::contentFilterDidBlockLoadForFrame(const WebCore::ContentFilterUnblockHandler& unblockHandler, FrameIdentifier frameID)
{
@@ -470,6 +477,13 @@
}
#endif
+#if PLATFORM(GTK) || PLATFORM(WPE)
+ if (decoder.messageName() == Messages::WebPageProxy::BindAccessibilityTree::name()) {
+ IPC::handleMessage<Messages::WebPageProxy::BindAccessibilityTree>(decoder, this, &ProvisionalPageProxy::bindAccessibilityTree);
+ return;
+ }
+#endif
+
if (decoder.messageName() == Messages::WebPageProxy::LogDiagnosticMessageFromWebProcess::name()) {
IPC::handleMessage<Messages::WebPageProxy::LogDiagnosticMessageFromWebProcess>(decoder, this, &ProvisionalPageProxy::logDiagnosticMessageFromWebProcess);
return;
Modified: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h (279982 => 279983)
--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h 2021-07-16 08:43:04 UTC (rev 279982)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h 2021-07-16 11:16:13 UTC (rev 279983)
@@ -90,6 +90,9 @@
#if PLATFORM(COCOA)
Vector<uint8_t> takeAccessibilityToken() { return WTFMove(m_accessibilityToken); }
#endif
+#if PLATFORM(GTK) || PLATFORM(WPE)
+ const String& accessibilityPlugID() { return m_accessibilityPlugID; }
+#endif
#if HAVE(VISIBILITY_PROPAGATION_VIEW)
LayerHostingContextID contextIDForVisibilityPropagationInWebProcess() const { return m_contextIDForVisibilityPropagationInWebProcess; }
#if ENABLE(GPU_PROCESS)
@@ -145,6 +148,9 @@
#if PLATFORM(COCOA)
void registerWebProcessAccessibilityToken(const IPC::DataReference&);
#endif
+#if PLATFORM(GTK) || PLATFORM(WPE)
+ void bindAccessibilityTree(const String&);
+#endif
#if ENABLE(CONTENT_FILTERING)
void contentFilterDidBlockLoadForFrame(const WebCore::ContentFilterUnblockHandler&, WebCore::FrameIdentifier);
#endif
@@ -170,6 +176,9 @@
#if PLATFORM(COCOA)
Vector<uint8_t> m_accessibilityToken;
#endif
+#if PLATFORM(GTK) || PLATFORM(WPE)
+ String m_accessibilityPlugID;
+#endif
#if PLATFORM(IOS_FAMILY)
UniqueRef<ProcessThrottler::ForegroundActivity> m_provisionalLoadActivity;
#endif
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (279982 => 279983)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2021-07-16 08:43:04 UTC (rev 279982)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2021-07-16 11:16:13 UTC (rev 279983)
@@ -969,6 +969,11 @@
if (!accessibilityToken.isEmpty())
registerWebProcessAccessibilityToken({ accessibilityToken.data(), accessibilityToken.size() });
#endif
+#if PLATFORM(GTK) || PLATFORM(WPE)
+ auto accessibilityPlugID = provisionalPage->accessibilityPlugID();
+ if (!accessibilityPlugID.isEmpty())
+ bindAccessibilityTree(accessibilityPlugID);
+#endif
}
void WebPageProxy::finishAttachingToWebProcess(ProcessLaunchReason reason)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes