Title: [272470] trunk/Source/WebKit
Revision
272470
Author
[email protected]
Date
2021-02-06 22:08:07 -0800 (Sat, 06 Feb 2021)

Log Message

[macOS] Add support for accessibility image extraction
https://bugs.webkit.org/show_bug.cgi?id=221262
<rdar://problem/70744978>

Reviewed by Devin Rousso.

Add WebKitAdditions support for image extraction.

* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::requestImageExtraction): Deleted.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestImageExtraction):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (272469 => 272470)


--- trunk/Source/WebKit/ChangeLog	2021-02-07 06:02:35 UTC (rev 272469)
+++ trunk/Source/WebKit/ChangeLog	2021-02-07 06:08:07 UTC (rev 272470)
@@ -1,3 +1,19 @@
+2021-02-06  Wenson Hsieh  <[email protected]>
+
+        [macOS] Add support for accessibility image extraction
+        https://bugs.webkit.org/show_bug.cgi?id=221262
+        <rdar://problem/70744978>
+
+        Reviewed by Devin Rousso.
+
+        Add WebKitAdditions support for image extraction.
+
+        * UIProcess/Cocoa/WebViewImpl.h:
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::requestImageExtraction): Deleted.
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::requestImageExtraction):
+
 2021-02-06  Alex Christensen  <[email protected]>
 
         Non-special URLs should have an opaque origin

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h (272469 => 272470)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h	2021-02-07 06:02:35 UTC (rev 272469)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h	2021-02-07 06:08:07 UTC (rev 272470)
@@ -81,6 +81,10 @@
 OBJC_CLASS WKPDFHUDView;
 #endif
 
+#if USE(APPLE_INTERNAL_SDK)
+#import <WebKitAdditions/WebViewImplAdditionsBefore.h>
+#endif
+
 namespace API {
 class HitTestResult;
 class Object;
@@ -839,6 +843,10 @@
     RetainPtr<NSMenu> m_domPasteMenu;
     RetainPtr<WKDOMPasteMenuDelegate> m_domPasteMenuDelegate;
     CompletionHandler<void(WebCore::DOMPasteAccessResponse)> m_domPasteRequestHandler;
+
+#if USE(APPLE_INTERNAL_SDK)
+#import <WebKitAdditions/WebViewImplAdditionsAfter.h>
+#endif
 };
     
 } // namespace WebKit

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (272469 => 272470)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2021-02-07 06:02:35 UTC (rev 272469)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2021-02-07 06:08:07 UTC (rev 272470)
@@ -161,6 +161,10 @@
 @end
 #endif
 
+#if USE(APPLE_INTERNAL_SDK)
+#import <WebKitAdditions/WebViewImplAdditions.mm>
+#endif
+
 @interface WKAccessibilitySettingsObserver : NSObject {
     WebKit::WebViewImpl *_impl;
 }
@@ -5586,16 +5590,6 @@
     return false;
 }
 
-#if ENABLE(IMAGE_EXTRACTION)
-
-void WebViewImpl::requestImageExtraction(const ShareableBitmap::Handle& imageData, CompletionHandler<void(ImageExtractionResult&&)>&& completion)
-{
-    UNUSED_PARAM(imageData);
-    completion({ });
-}
-
-#endif // ENABLE(IMAGE_EXTRACTION)
-
 } // namespace WebKit
 
 #endif // PLATFORM(MAC)

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (272469 => 272470)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2021-02-07 06:02:35 UTC (rev 272469)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2021-02-07 06:08:07 UTC (rev 272470)
@@ -7134,6 +7134,9 @@
 
 void WebPage::requestImageExtraction(WebCore::Element& element)
 {
+    if (!is<HTMLElement>(element))
+        return;
+
     if (m_elementsWithExtractedImages.contains(element))
         return;
 
@@ -7153,8 +7156,8 @@
         return;
 
     sendWithAsyncReply(Messages::WebPageProxy::RequestImageExtraction(WTFMove(bitmapHandle)), [weakElement = makeWeakPtr(element)] (ImageExtractionResult&& result) {
-        UNUSED_PARAM(result);
-        UNUSED_PARAM(weakElement);
+        if (auto element = weakElement.get(); is<HTMLElement>(element))
+            downcast<HTMLElement>(*element).updateWithImageExtractionResult(WTFMove(result));
     });
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to