⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 278644 in webkit


Ignore:
Timestamp:
Jun 8, 2021, 8:29:18 PM (5 years ago)
Author:
Megan Gardner
Message:

Upstream AppHighlight Observer code
https://bugs.webkit.org/show_bug.cgi?id=226794

Reviewed by Tim Horton.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::appHighlightsVisibility):
(WebKit::WebPageProxy::setUpHighlightsObserver):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setUpAppHighlightMenusIfNeeded]):

Location:
trunk/Source/WebKit
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r278633 r278644  
     12021-06-08  Megan Gardner  <megan_gardner@apple.com>
     2
     3        Upstream AppHighlight Observer code
     4        https://bugs.webkit.org/show_bug.cgi?id=226794
     5
     6        Reviewed by Tim Horton.
     7
     8        * UIProcess/Cocoa/WebPageProxyCocoa.mm:
     9        (WebKit::WebPageProxy::appHighlightsVisibility):
     10        (WebKit::WebPageProxy::setUpHighlightsObserver):
     11        * UIProcess/WebPageProxy.h:
     12        * UIProcess/ios/WKContentViewInteraction.mm:
     13        (-[WKContentView setUpAppHighlightMenusIfNeeded]):
     14
    1152021-06-08  Wenson Hsieh  <wenson_hsieh@apple.com>
    216
  • trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm

    r278575 r278644  
    5050#import <WebCore/DragItem.h>
    5151#import <WebCore/GeometryUtilities.h>
     52#import <WebCore/HighlightVisibility.h>
    5253#import <WebCore/LocalCurrentGraphicsContext.h>
    5354#import <WebCore/NetworkExtensionContentFilter.h>
     
    6566#import "MediaUsageManagerCocoa.h"
    6667#endif
     68
     69#if ENABLE(APP_HIGHLIGHTS)
     70#import <Synapse/SYNotesActivationObserver.h>
     71
     72SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL(Synapse)
     73SOFT_LINK_CLASS_OPTIONAL(Synapse, SYNotesActivationObserver)
     74#endif // ENABLE(APP_HIGHLIGHTS)
    6775
    6876#if USE(APPKIT)
     
    593601}
    594602
     603bool WebPageProxy::appHighlightsVisibility()
     604{
     605    if (!m_appHighlightsObserver)
     606        setUpHighlightsObserver();
     607    return [m_appHighlightsObserver isVisible];
     608}
     609
     610void WebPageProxy::setUpHighlightsObserver()
     611{
     612    if (m_appHighlightsObserver)
     613        return;
     614    auto updateAppHighlightsVisibility = ^(BOOL isVisible) {
     615        setAppHighlightsVisibility(isVisible ? WebCore::HighlightVisibility::Visible : WebCore::HighlightVisibility::Hidden);
     616    };
     617    m_appHighlightsObserver = adoptNS([allocSYNotesActivationObserverInstance() initWithHandler:updateAppHighlightsVisibility]);
     618    updateAppHighlightsVisibility([m_appHighlightsObserver isVisible]);
     619}
     620
    595621#endif
    596622
     
    693719} // namespace WebKit
    694720
    695 #if USE(APPLE_INTERNAL_SDK)
    696 #import <WebKitAdditions/WebPageProxyCocoaAdditionsAfter.mm>
    697 #endif
    698 
    699721#undef MESSAGE_CHECK_COMPLETION
    700722#undef MESSAGE_CHECK
  • trunk/Source/WebKit/UIProcess/WebPageProxy.h

    r278575 r278644  
    190190#endif
    191191
    192 #if USE(APPLE_INTERNAL_SDK)
    193 #import <WebKitAdditions/WebPageProxyAdditionsBefore.h>
    194 #endif
    195 
    196192namespace API {
    197193class Attachment;
     
    231227OBJC_CLASS NSView;
    232228OBJC_CLASS QLPreviewPanel;
     229OBJC_CLASS SYNotesActivationObserver;
    233230OBJC_CLASS WKQLThumbnailLoadOperation;
    234231OBJC_CLASS WKVisualSearchPreviewController;
     
    18981895    void restoreAppHighlightsAndScrollToIndex(const Vector<Ref<WebKit::SharedMemory>>& highlights, const std::optional<unsigned> index);
    18991896    void setAppHighlightsVisibility(const WebCore::HighlightVisibility);
     1897    bool appHighlightsVisibility();
    19001898#endif
    19011899
     
    24982496    void showImageInVisualSearchPreviewPanel(ShareableBitmap& imageBitmap, const String& tooltip, const URL& imageURL);
    24992497#endif
     2498       
     2499#if ENABLE(APP_HIGHLIGHTS)
     2500    void setUpHighlightsObserver();
     2501#endif
    25002502
    25012503    const Identifier m_identifier;
     
    30463048#endif
    30473049
    3048 #if USE(APPLE_INTERNAL_SDK)
    3049 #import <WebKitAdditions/WebPageProxyAdditionsAfter.h>
     3050#if ENABLE(APP_HIGHLIGHTS)
     3051    RetainPtr<SYNotesActivationObserver> m_appHighlightsObserver;
    30503052#endif
    30513053
  • trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

    r278575 r278644  
    93169316
    93179317#if ENABLE(APP_HIGHLIGHTS)
     9318- (void)setUpAppHighlightMenusIfNeeded
     9319{
     9320    if (!_page->preferences().appHighlightsEnabled() || !self.window || !_page->editorState().selectionIsRange)
     9321        return;
     9322   
     9323    for (UIMenuItem *menuItem in [[UIMenuController sharedMenuController] menuItems]) {
     9324        if ([menuItem action] == @selector(createHighlightInCurrentGroupWithRange:) || [menuItem action] == @selector(createHighlightInNewGroupWithRange:))
     9325            return;
     9326    }
     9327   
     9328    auto addHighlightCurrentGroupItem = adoptNS([[UIMenuItem alloc] initWithTitle:WebCore::contextMenuItemTagAddHighlightToCurrentGroup() action:@selector(createHighlightInCurrentGroupWithRange:)]);
     9329    auto addHighlightNewGroupItem = adoptNS([[UIMenuItem alloc] initWithTitle:WebCore::contextMenuItemTagAddHighlightToNewGroup() action:@selector(createHighlightInNewGroupWithRange:)]);
     9330    [[UIMenuController sharedMenuController] setMenuItems:@[ addHighlightCurrentGroupItem.get(), addHighlightNewGroupItem.get() ]];
     9331}
     9332
    93189333- (void)createHighlightInCurrentGroupWithRange:(id)sender
    93199334{
     
    93269341}
    93279342
    9328 #endif
     9343#endif // ENABLE(APP_HIGHLIGHTS)
    93299344
    93309345- (void)setContinuousSpellCheckingEnabled:(BOOL)enabled
     
    1023510250
    1023610251#endif // ENABLE(IMAGE_ANALYSIS)
    10237 
    10238 #if USE(APPLE_INTERNAL_SDK)
    10239 #import <WebKitAdditions/WKContentViewInteractionAdditionsAfter.mm>
    10240 #endif
    1024110252
    1024210253@end
Note: See TracChangeset for help on using the changeset viewer.