Title: [269865] trunk/Source
Revision
269865
Author
[email protected]
Date
2020-11-16 11:32:48 -0800 (Mon, 16 Nov 2020)

Log Message

Add menu support for app highlights for books
https://bugs.webkit.org/show_bug.cgi?id=218879
<rdar://problem/71352113>

Reviewed by Alex Christensen.

Source/WebCore:

Add menu items and associated plubling for support for books highlights in modern webkit.

* WebCore.xcodeproj/project.pbxproj:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):
* platform/ContextMenuItem.cpp:
(WebCore::isValidContextMenuAction):
* platform/ContextMenuItem.h:
* platform/LocalizedStrings.h:
* platform/cocoa/LocalizedStringsCocoa.mm:
(WebCore::contextMenuItemTagAddHighlightToCurrentGroup):
(WebCore::contextMenuItemTagAddHighlightToNewGroup):

Source/WebKit:

Add menu items and associated plumbing for support for books highlights in modern WebKit.

* FeatureFlags/WebKit.plist:
* Shared/API/c/WKContextMenuItemTypes.h:
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
* Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:
(WebKit::isFeatureFlagEnabled):
* Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultAppHighlightsEnabled):
* Shared/WebPreferencesDefaultValues.h:
* UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
* UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::menuItemIdentifier):

Source/WebKitLegacy/mac:

* WebView/WebHTMLView.mm:
(toTag):

Source/WTF:

* Scripts/Preferences/WebPreferencesInternal.yaml:

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (269864 => 269865)


--- trunk/Source/WTF/ChangeLog	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WTF/ChangeLog	2020-11-16 19:32:48 UTC (rev 269865)
@@ -1,3 +1,13 @@
+2020-11-16  Megan Gardner  <[email protected]>
+
+        Add menu support for app highlights for books
+        https://bugs.webkit.org/show_bug.cgi?id=218879
+        <rdar://problem/71352113>
+
+        Reviewed by Alex Christensen.
+
+        * Scripts/Preferences/WebPreferencesInternal.yaml:
+
 2020-11-16  Zan Dobersek  <[email protected]>
 
         Re-disable async overflow scrolling for USE(NICOSIA)

Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml (269864 => 269865)


--- trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2020-11-16 19:32:48 UTC (rev 269865)
@@ -50,6 +50,19 @@
   defaultValue:
     WebKit:
       default: false
+      
+AppHighlightsEnabled:
+  type: bool
+  humanReadableName: "App Highlights"
+  humanReadableDescription: "Enable persistant highlights for apps"
+  exposed: [ WebKit ]
+  defaultValue:
+    WebKitLegacy:
+      default: false
+    WebKit:
+      default: WebKit::defaultAppHighlightsEnabled()
+    WebCore:
+      default: false
 
 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
 ApplePayRemoteUIEnabled:

Modified: trunk/Source/WebCore/ChangeLog (269864 => 269865)


--- trunk/Source/WebCore/ChangeLog	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebCore/ChangeLog	2020-11-16 19:32:48 UTC (rev 269865)
@@ -1,3 +1,26 @@
+2020-11-16  Megan Gardner  <[email protected]>
+
+        Add menu support for app highlights for books
+        https://bugs.webkit.org/show_bug.cgi?id=218879
+        <rdar://problem/71352113>
+
+        Reviewed by Alex Christensen.
+
+        Add menu items and associated plubling for support for books highlights in modern webkit.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * page/ContextMenuController.cpp:
+        (WebCore::ContextMenuController::contextMenuItemSelected):
+        (WebCore::ContextMenuController::populate):
+        (WebCore::ContextMenuController::checkOrEnableIfNeeded const):
+        * platform/ContextMenuItem.cpp:
+        (WebCore::isValidContextMenuAction):
+        * platform/ContextMenuItem.h:
+        * platform/LocalizedStrings.h:
+        * platform/cocoa/LocalizedStringsCocoa.mm:
+        (WebCore::contextMenuItemTagAddHighlightToCurrentGroup):
+        (WebCore::contextMenuItemTagAddHighlightToNewGroup):
+
 2020-11-16  Rob Buis  <[email protected]>
 
         Add CSS aspect ratio to feature status page

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (269864 => 269865)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2020-11-16 19:32:48 UTC (rev 269865)
@@ -1208,6 +1208,7 @@
 		43B85ED418CBEC5200E31AF4 /* SelectorPseudoClassAndCompatibilityElementMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43B85ED218CBEC5200E31AF4 /* SelectorPseudoClassAndCompatibilityElementMap.cpp */; };
 		43C092BC12D9E4EE00A989C3 /* RenderSVGForeignObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C092BA12D9E4EE00A989C3 /* RenderSVGForeignObject.h */; };
 		43EDD67F1B485DBF00640E75 /* CombinedFiltersAlphabet.h in Headers */ = {isa = PBXBuildFile; fileRef = 43EDD67D1B485DBF00640E75 /* CombinedFiltersAlphabet.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		440EDBD1255E116C00300BA7 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 446EE4E8255E0D9200454463 /* Localizable.strings */; };
 		4415292E0E1AE8A000C4A2D0 /* HTMLPlugInImageElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 4415292C0E1AE8A000C4A2D0 /* HTMLPlugInImageElement.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		445775E520472F73008DCE5D /* LocalDefaultSystemAppearance.h in Headers */ = {isa = PBXBuildFile; fileRef = 445775E420472F73008DCE5D /* LocalDefaultSystemAppearance.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		4463CF682212FA68001A8577 /* DataDetectorsCoreSoftLink.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C7941E21C56C29300A4C58E /* DataDetectorsCoreSoftLink.mm */; };
@@ -3994,7 +3995,6 @@
 		BCAA487014A052530088FAC4 /* PlatformEventFactoryMac.h in Headers */ = {isa = PBXBuildFile; fileRef = BCAA486E14A052530088FAC4 /* PlatformEventFactoryMac.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		BCAB418213E356E800D8AAF3 /* Region.h in Headers */ = {isa = PBXBuildFile; fileRef = BCAB418013E356E800D8AAF3 /* Region.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		BCACF3BD1072921A00C0C8A3 /* UserContentURLPattern.h in Headers */ = {isa = PBXBuildFile; fileRef = BCACF3BB1072921A00C0C8A3 /* UserContentURLPattern.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		BCAD180A131C7A0D00990406 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = BCAD1808131C7A0D00990406 /* Localizable.strings */; };
 		BCAE1FA712939DB7004CB026 /* ScrollAnimatorMac.h in Headers */ = {isa = PBXBuildFile; fileRef = BCAE1FA512939DB7004CB026 /* ScrollAnimatorMac.h */; };
 		BCB16C180979C3BD00467741 /* MemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB16BFF0979C3BD00467741 /* MemoryCache.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		BCB16C1A0979C3BD00467741 /* CachedCSSStyleSheet.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB16C010979C3BD00467741 /* CachedCSSStyleSheet.h */; };
@@ -7985,6 +7985,7 @@
 		445775E420472F73008DCE5D /* LocalDefaultSystemAppearance.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LocalDefaultSystemAppearance.h; sourceTree = "<group>"; };
 		445775E92047303B008DCE5D /* LocalDefaultSystemAppearance.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LocalDefaultSystemAppearance.mm; sourceTree = "<group>"; };
 		446DC64624A29D9B0061F390 /* PlaybackTargetClientContextIdentifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PlaybackTargetClientContextIdentifier.h; sourceTree = "<group>"; };
+		446EE4E8255E0D9200454463 /* Localizable.strings */ = {isa = PBXFileReference; explicitFileType = text.plist.strings; fileEncoding = 4; name = Localizable.strings; path = DerivedSources/WebCore/Localizable.strings; sourceTree = BUILT_PRODUCTS_DIR; };
 		4471710B205AF945000A116E /* MediaQueryParserContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MediaQueryParserContext.cpp; sourceTree = "<group>"; };
 		4471710C205AF945000A116E /* MediaQueryParserContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaQueryParserContext.h; sourceTree = "<group>"; };
 		447958021643B47B001E0A7F /* ParsedContentType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParsedContentType.cpp; sourceTree = "<group>"; };
@@ -21461,6 +21462,7 @@
 				AA61BB5423167474002FE25A /* JSMathMLElementWrapperFactory.h */,
 				8574D1F10ADE6122004CBA11 /* JSSVGElementWrapperFactory.cpp */,
 				8574D1F20ADE6122004CBA11 /* JSSVGElementWrapperFactory.h */,
+				446EE4E8255E0D9200454463 /* Localizable.strings */,
 				FABE72FB1059C21100D999DD /* MathMLElementFactory.cpp */,
 				44A28AAB12DFB8AC00AE923B /* MathMLElementFactory.h */,
 				FABE72FC1059C21100D999DD /* MathMLNames.cpp */,
@@ -35235,6 +35237,7 @@
 				93F198A608245E59001E9ABC /* Headers */,
 				1C11CCB40AA6093700DADB20 /* Copy Generated Headers */,
 				3717D7E717ECC573003C276D /* Copy Scripts */,
+				446EE4E7255DF00D00454463 /* Concatenate Localizable.strings */,
 				93F199FD08245E59001E9ABC /* Resources */,
 				CD0DBF001422765700280263 /* Copy Audio Resources */,
 				93F19A0C08245E59001E9ABC /* Sources */,
@@ -35350,7 +35353,7 @@
 				2D9F0E1314FF1CBF00BA0FF7 /* linearSRGB.icc in Resources */,
 				E59DD4B821098287003C8B47 /* ListButtonArrow.png in Resources */,
 				E516699120FF9918009D2C27 /* [email protected] in Resources */,
-				BCAD180A131C7A0D00990406 /* Localizable.strings in Resources */,
+				440EDBD1255E116C00300BA7 /* Localizable.strings in Resources */,
 				837A80131E1E127300026B9F /* Localizable.stringsdict in Resources */,
 				311C08BD18EB7CAF00B65615 /* mediaControlsApple.css in Resources */,
 				311C08BE18EB7CAF00B65615 /* mediaControlsApple.js in Resources */,
@@ -35387,8 +35390,26 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "if [ \"${ACTION}\" = \"installhdrs\" -o \"${ACTION}\" = \"installapi\" ]; then\n    exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-objc-class-names ]; then\n    ../../Tools/Scripts/check-for-inappropriate-objc-class-names Web || exit $?\nfi";
+			shellScript = "if [ \"${ACTION}\" = \"installhdrs\" -o \"${ACTION}\" = \"installapi\" ]; then\n    exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-objc-class-names ]; then\n    ../../Tools/Scripts/check-for-inappropriate-objc-class-names Web || exit $?\nfi\n";
 		};
+		446EE4E7255DF00D00454463 /* Concatenate Localizable.strings */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Concatenate Localizable.strings";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "if [ -e $BUILT_PRODUCTS_DIR/usr/local/include/WebKitAdditions/LocalizableAdditions.strings ] ; then\n    cat $BUILT_PRODUCTS_DIR/usr/local/include/WebKitAdditions/LocalizableAdditions.strings $SRCROOT/en.lproj/Localizable.strings > $BUILT_PRODUCTS_DIR/DerivedSources/WebCore/Localizable.strings\nelif [ -e $SDKROOT/usr/local/include/WebKitAdditions/LocalizableAdditions.strings ] ; then\n    cat $SDKROOT/usr/local/include/WebKitAdditions/LocalizableAdditions.strings $SRCROOT/en.lproj/Localizable.strings > $BUILT_PRODUCTS_DIR/DerivedSources/WebCore/Localizable.strings\nelse\n    cp $SRCROOT/en.lproj/Localizable.strings $BUILT_PRODUCTS_DIR/DerivedSources/WebCore/Localizable.strings\nfi\n";
+		};
 		5325BDCC21DFF33E00A0DEE1 /* ShellScript */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;

Modified: trunk/Source/WebCore/page/ContextMenuController.cpp (269864 => 269865)


--- trunk/Source/WebCore/page/ContextMenuController.cpp	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebCore/page/ContextMenuController.cpp	2020-11-16 19:32:48 UTC (rev 269865)
@@ -461,6 +461,12 @@
         frame->editor().command("MakeTextWritingDirectionRightToLeft").execute();
         break;
 #if PLATFORM(COCOA)
+    case ContextMenuItemTagAddHighlightToCurrentGroup:
+        // FIXME: Add Highlight Logic
+        break;
+    case ContextMenuItemTagAddHighlightToNewGroup:
+        // FIXME: Add Highlight Logic
+        break;
     case ContextMenuItemTagSearchInSpotlight:
         m_client.searchWithSpotlight();
         break;
@@ -796,6 +802,8 @@
 #if PLATFORM(COCOA)
     ContextMenuItem SearchSpotlightItem(ActionType, ContextMenuItemTagSearchInSpotlight, 
         contextMenuItemTagSearchInSpotlight());
+    ContextMenuItem AddHighlightItem(ActionType, ContextMenuItemTagAddHighlightToCurrentGroup, contextMenuItemTagAddHighlightToCurrentGroup());
+    ContextMenuItem AddHighlightToNewGroupItem(ActionType, ContextMenuItemTagAddHighlightToNewGroup, contextMenuItemTagAddHighlightToNewGroup());
 #endif
 #if !PLATFORM(GTK)
     ContextMenuItem SearchWebItem(ActionType, ContextMenuItemTagSearchWeb, contextMenuItemTagSearchWeb());
@@ -919,6 +927,14 @@
                 appendItem(CopyItem, m_contextMenu.get());
 #if PLATFORM(COCOA)
                 appendItem(*separatorItem(), m_contextMenu.get());
+                
+                if (auto* page = frame->page()) {
+                    if (page->settings().appHighlightsEnabled()) {
+                        appendItem(AddHighlightToNewGroupItem, m_contextMenu.get());
+                        appendItem(AddHighlightItem, m_contextMenu.get());
+                        appendItem(*separatorItem(), m_contextMenu.get());
+                    }
+                }
 
                 appendItem(ShareMenuItem, m_contextMenu.get());
                 appendItem(*separatorItem(), m_contextMenu.get());
@@ -1276,6 +1292,12 @@
             shouldCheck = frame->editor().isContinuousSpellCheckingEnabled();
             break;
 #if PLATFORM(COCOA)
+        case ContextMenuItemTagAddHighlightToCurrentGroup:
+            shouldEnable = frame->selection().isRange();
+            break;
+        case ContextMenuItemTagAddHighlightToNewGroup:
+            shouldEnable = frame->selection().isRange();
+            break;
         case ContextMenuItemTagSubstitutionsMenu:
         case ContextMenuItemTagTransformationsMenu:
             break;

Modified: trunk/Source/WebCore/platform/ContextMenuItem.cpp (269864 => 269865)


--- trunk/Source/WebCore/platform/ContextMenuItem.cpp	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebCore/platform/ContextMenuItem.cpp	2020-11-16 19:32:48 UTC (rev 269865)
@@ -216,6 +216,8 @@
     case ContextMenuAction::ContextMenuItemTagTextDirectionLeftToRight:
     case ContextMenuAction::ContextMenuItemTagTextDirectionRightToLeft:
 #if PLATFORM(COCOA)
+    case ContextMenuAction::ContextMenuItemTagAddHighlightToCurrentGroup:
+    case ContextMenuAction::ContextMenuItemTagAddHighlightToNewGroup:
     case ContextMenuAction::ContextMenuItemTagCorrectSpellingAutomatically:
     case ContextMenuAction::ContextMenuItemTagSubstitutionsMenu:
     case ContextMenuAction::ContextMenuItemTagShowSubstitutions:

Modified: trunk/Source/WebCore/platform/ContextMenuItem.h (269864 => 269865)


--- trunk/Source/WebCore/platform/ContextMenuItem.h	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebCore/platform/ContextMenuItem.h	2020-11-16 19:32:48 UTC (rev 269865)
@@ -119,6 +119,8 @@
     ContextMenuItemTagTextDirectionLeftToRight,
     ContextMenuItemTagTextDirectionRightToLeft,
 #if PLATFORM(COCOA)
+    ContextMenuItemTagAddHighlightToCurrentGroup,
+    ContextMenuItemTagAddHighlightToNewGroup,
     ContextMenuItemTagCorrectSpellingAutomatically,
     ContextMenuItemTagSubstitutionsMenu,
     ContextMenuItemTagShowSubstitutions,

Modified: trunk/Source/WebCore/platform/LocalizedStrings.h (269864 => 269865)


--- trunk/Source/WebCore/platform/LocalizedStrings.h	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebCore/platform/LocalizedStrings.h	2020-11-16 19:32:48 UTC (rev 269865)
@@ -49,6 +49,8 @@
 
 #if PLATFORM(COCOA)
     String copyImageUnknownFileLabel();
+    WEBCORE_EXPORT String contextMenuItemTagAddHighlightToCurrentGroup();
+    WEBCORE_EXPORT String contextMenuItemTagAddHighlightToNewGroup();
 #endif
 
 #if ENABLE(CONTEXT_MENUS)

Modified: trunk/Source/WebCore/platform/cocoa/LocalizedStringsCocoa.mm (269864 => 269865)


--- trunk/Source/WebCore/platform/cocoa/LocalizedStringsCocoa.mm	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebCore/platform/cocoa/LocalizedStringsCocoa.mm	2020-11-16 19:32:48 UTC (rev 269865)
@@ -58,6 +58,16 @@
     return WEB_UI_STRING("unknown", "Unknown filename");
 }
 
+String contextMenuItemTagAddHighlightToCurrentGroup()
+{
+    return localizedNSString(@"Add Highlight To Current Group");
+}
+
+String contextMenuItemTagAddHighlightToNewGroup()
+{
+    return localizedNSString(@"Add Highlight To New Group");
+}
+
 #if ENABLE(CONTEXT_MENUS)
 String contextMenuItemTagSearchInSpotlight()
 {

Modified: trunk/Source/WebKit/ChangeLog (269864 => 269865)


--- trunk/Source/WebKit/ChangeLog	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebKit/ChangeLog	2020-11-16 19:32:48 UTC (rev 269865)
@@ -1,3 +1,28 @@
+2020-11-16  Megan Gardner  <[email protected]>
+
+        Add menu support for app highlights for books
+        https://bugs.webkit.org/show_bug.cgi?id=218879
+        <rdar://problem/71352113>
+
+        Reviewed by Alex Christensen.
+
+        Add menu items and associated plumbing for support for books highlights in modern WebKit.
+
+        * FeatureFlags/WebKit.plist:
+        * Shared/API/c/WKContextMenuItemTypes.h:
+        * Shared/API/c/WKSharedAPICast.h:
+        (WebKit::toAPI):
+        (WebKit::toImpl):
+        * Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:
+        (WebKit::isFeatureFlagEnabled):
+        * Shared/WebPreferencesDefaultValues.cpp:
+        (WebKit::defaultAppHighlightsEnabled):
+        * Shared/WebPreferencesDefaultValues.h:
+        * UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
+        * UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
+        * UIProcess/mac/WebContextMenuProxyMac.mm:
+        (WebKit::menuItemIdentifier):
+
 2020-11-16  Trevor Stevenson  <[email protected]>
 
         Add didReceiveResponseForResource to WKWebProcessPlugInLoadDelegate

Modified: trunk/Source/WebKit/FeatureFlags/WebKit.plist (269864 => 269865)


--- trunk/Source/WebKit/FeatureFlags/WebKit.plist	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebKit/FeatureFlags/WebKit.plist	2020-11-16 19:32:48 UTC (rev 269865)
@@ -2,6 +2,11 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+    <key>app_highlights</key>
+    <dict>
+        <key>Enabled</key>
+        <true/>
+    </dict>
     <key>async_frame_and_overflow_scrolling</key>
     <dict>
         <key>Enabled</key>

Modified: trunk/Source/WebKit/Shared/API/c/WKContextMenuItemTypes.h (269864 => 269865)


--- trunk/Source/WebKit/Shared/API/c/WKContextMenuItemTypes.h	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebKit/Shared/API/c/WKContextMenuItemTypes.h	2020-11-16 19:32:48 UTC (rev 269865)
@@ -56,6 +56,8 @@
     kWKContextMenuItemTagSearchInSpotlight,
     kWKContextMenuItemTagSearchWeb,
     kWKContextMenuItemTagLookUpInDictionary,
+    kWKContextMenuItemTagAddHighlightToCurrentGroup,
+    kWKContextMenuItemTagAddHighlightToNewGroup,
     kWKContextMenuItemTagOpenWithDefaultApplication,
     kWKContextMenuItemTagPDFActualSize,
     kWKContextMenuItemTagPDFZoomIn,

Modified: trunk/Source/WebKit/Shared/API/c/WKSharedAPICast.h (269864 => 269865)


--- trunk/Source/WebKit/Shared/API/c/WKSharedAPICast.h	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebKit/Shared/API/c/WKSharedAPICast.h	2020-11-16 19:32:48 UTC (rev 269865)
@@ -504,6 +504,10 @@
     case WebCore::ContextMenuItemTagMediaMute:
         return kWKContextMenuItemTagMediaMute;
 #if PLATFORM(COCOA)
+    case WebCore::ContextMenuItemTagAddHighlightToCurrentGroup:
+        return kWKContextMenuItemTagAddHighlightToCurrentGroup;
+    case WebCore::ContextMenuItemTagAddHighlightToNewGroup:
+        return kWKContextMenuItemTagAddHighlightToNewGroup;
     case WebCore::ContextMenuItemTagCorrectSpellingAutomatically:
         return kWKContextMenuItemTagCorrectSpellingAutomatically;
     case WebCore::ContextMenuItemTagSubstitutionsMenu:
@@ -698,6 +702,10 @@
     case kWKContextMenuItemTagMediaMute:
         return WebCore::ContextMenuItemTagMediaMute;
 #if PLATFORM(COCOA)
+    case kWKContextMenuItemTagAddHighlightToCurrentGroup:
+        return WebCore::ContextMenuItemTagAddHighlightToCurrentGroup;
+    case kWKContextMenuItemTagAddHighlightToNewGroup:
+        return WebCore::ContextMenuItemTagAddHighlightToNewGroup;
     case kWKContextMenuItemTagCorrectSpellingAutomatically:
         return WebCore::ContextMenuItemTagCorrectSpellingAutomatically;
     case kWKContextMenuItemTagSubstitutionsMenu:

Modified: trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp (269864 => 269865)


--- trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp	2020-11-16 19:32:48 UTC (rev 269865)
@@ -122,6 +122,19 @@
     return defaultAsyncFrameAndOverflowScrollingEnabled();
 }
 
+bool defaultAppHighlightsEnabled()
+{
+#if HAVE(SYSTEM_FEATURE_FLAGS)
+    return isFeatureFlagEnabled("app_highlights");
+#endif
+
+#if ENABLE(APP_HIGHLIGHTS)
+    return true;
+#endif
+    
+    return false;
+}
+
 #if ENABLE(GPU_PROCESS)
 
 bool defaultUseGPUProcessForCanvasRenderingEnabled()

Modified: trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.h (269864 => 269865)


--- trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.h	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.h	2020-11-16 19:32:48 UTC (rev 269865)
@@ -65,6 +65,7 @@
 
 bool defaultAsyncFrameScrollingEnabled();
 bool defaultAsyncOverflowScrollingEnabled();
+bool defaultAppHighlightsEnabled();
 
 #if ENABLE(GPU_PROCESS)
 bool defaultUseGPUProcessForCanvasRenderingEnabled();

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm (269864 => 269865)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm	2020-11-16 19:32:48 UTC (rev 269865)
@@ -37,6 +37,9 @@
 NSString * const _WKMenuItemIdentifierGoForward = @"WKMenuItemIdentifierGoForward";
 NSString * const _WKMenuItemIdentifierInspectElement = @"WKMenuItemIdentifierInspectElement";
 NSString * const _WKMenuItemIdentifierLookUp = @"WKMenuItemIdentifierLookUp";
+NSString * const _WKMenuItemIdentifierAddHighlightToCurrentGroup = @"WKMenuItemIdentifierAddHighlightToCurrentGroup";
+NSString * const _WKMenuItemIdentifierAddHighlightToNewGroup = @"WKMenuItemIdentifierAddHighlightToNewGroup";
+
 NSString * const _WKMenuItemIdentifierOpenFrameInNewWindow = @"WKMenuItemIdentifierOpenFrameInNewWindow";
 NSString * const _WKMenuItemIdentifierOpenImageInNewWindow = @"WKMenuItemIdentifierOpenImageInNewWindow";
 NSString * const _WKMenuItemIdentifierOpenLink = @"WKMenuItemIdentifierOpenLink";

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h (269864 => 269865)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h	2020-11-16 19:32:48 UTC (rev 269865)
@@ -53,3 +53,6 @@
 
 WK_EXPORT extern NSString * const _WKMenuItemIdentifierShareMenu WK_API_AVAILABLE(macos(10.12), ios(10.0));
 WK_EXPORT extern NSString * const _WKMenuItemIdentifierSpeechMenu WK_API_AVAILABLE(macos(10.12), ios(10.0));
+
+WK_EXPORT extern NSString * const _WKMenuItemIdentifierAddHighlightToCurrentGroup WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
+WK_EXPORT extern NSString * const _WKMenuItemIdentifierAddHighlightToNewGroup WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));

Modified: trunk/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm (269864 => 269865)


--- trunk/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm	2020-11-16 19:32:48 UTC (rev 269865)
@@ -415,6 +415,12 @@
 
     case ContextMenuItemTagLookUpInDictionary:
         return _WKMenuItemIdentifierLookUp;
+            
+    case ContextMenuItemTagAddHighlightToCurrentGroup:
+        return _WKMenuItemIdentifierAddHighlightToCurrentGroup;
+        
+    case ContextMenuItemTagAddHighlightToNewGroup:
+        return _WKMenuItemIdentifierAddHighlightToNewGroup;
 
     case ContextMenuItemTagOpenFrameInNewWindow:
         return _WKMenuItemIdentifierOpenFrameInNewWindow;

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (269864 => 269865)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2020-11-16 19:32:48 UTC (rev 269865)
@@ -1,3 +1,14 @@
+2020-11-16  Megan Gardner  <[email protected]>
+
+        Add menu support for app highlights for books
+        https://bugs.webkit.org/show_bug.cgi?id=218879
+        <rdar://problem/71352113>
+
+        Reviewed by Alex Christensen.
+
+        * WebView/WebHTMLView.mm:
+        (toTag):
+
 2020-11-13  Sam Weinig  <[email protected]>
 
         Move some more WebKit and WebKitLegacy preferences bound to Settings to WebPreferences.yaml

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm (269864 => 269865)


--- trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm	2020-11-16 18:59:50 UTC (rev 269864)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm	2020-11-16 19:32:48 UTC (rev 269865)
@@ -605,6 +605,9 @@
         return WebMenuItemTagDictationAlternative;
     case ContextMenuItemTagToggleVideoFullscreen:
         return WebMenuItemTagToggleVideoFullscreen;
+    case ContextMenuItemTagAddHighlightToCurrentGroup:
+    case ContextMenuItemTagAddHighlightToNewGroup:
+        return WTF::nullopt;
     case ContextMenuItemTagShareMenu:
         return WebMenuItemTagShareMenu;
     case ContextMenuItemTagToggleVideoEnhancedFullscreen:
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to