Title: [219695] trunk
Revision
219695
Author
beid...@apple.com
Date
2017-07-20 11:07:30 -0700 (Thu, 20 Jul 2017)

Log Message

Deprecate WebIconDatabase in WebKitLegacy/mac.
https://bugs.webkit.org/show_bug.cgi?id=174607

Reviewed by Alex Christensen.

Source/WebKitLegacy/mac:

This patch:
1 - Formally deprecates WebIconDatabase (which was never API anyways)
2 - Guts the class to where it can only return the default icon at the small size
3 - Reworks other parts of WebKitLegacy that used it for anything to either
    use something else or to not do anything.

This patch *could* go much farther. A future patch is what will remove WebCore/IconDatabase
and that patch will remove all of the last remnants of WebIconDatabase.

* History/WebHistoryItem.mm:
(-[WebHistoryItem icon]):

* Misc/WebIconDatabase.h:
* Misc/WebIconDatabase.mm:
(-[WebIconDatabase init]):
(-[WebIconDatabase iconForURL:withSize:cache:]):
(-[WebIconDatabase iconForURL:withSize:]):
(-[WebIconDatabase defaultIconWithSize:]):
(-[WebIconDatabase defaultIconForURL:withSize:]):
(-[WebIconDatabase iconURLForURL:]):
(-[WebIconDatabase retainIconForURL:]):
(-[WebIconDatabase releaseIconForURL:]):
(+[WebIconDatabase delayDatabaseCleanup]):
(+[WebIconDatabase allowDatabaseCleanup]):
(-[WebIconDatabase setDelegate:]):
(-[WebIconDatabase delegate]):
(+[WebIconDatabase initialize]): Deleted.
(-[WebIconDatabase isEnabled]): Deleted.
(-[WebIconDatabase setEnabled:]): Deleted.
(-[WebIconDatabase removeAllIcons]): Deleted.
(+[WebIconDatabase _checkIntegrityBeforeOpening]): Deleted.
(-[WebIconDatabase _sendNotificationForURL:]): Deleted.
(-[WebIconDatabase _sendDidRemoveAllIconsNotification]): Deleted.
(-[WebIconDatabase _startUpIconDatabase]): Deleted.
(-[WebIconDatabase _shutDownIconDatabase]): Deleted.
(-[WebIconDatabase _applicationWillTerminate:]): Deleted.
(-[WebIconDatabase _iconForFileURL:withSize:]): Deleted.
(-[WebIconDatabase _resetCachedWebPreferences:]): Deleted.
(-[WebIconDatabase _largestIconFromDictionary:]): Deleted.
(-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]): Deleted.
(-[WebIconDatabase _iconFromDictionary:forSize:cache:]): Deleted.
(-[WebIconDatabase _scaleIcon:toSize:]): Deleted.
(-[WebIconDatabase _databaseDirectory]): Deleted.
(webGetNSImage): Deleted.

* Misc/WebIconDatabaseDelegate.h: Removed.
* Misc/WebIconDatabaseInternal.h: Removed.
* Misc/WebIconDatabasePrivate.h: Removed.

* WebCoreSupport/WebFrameLoaderClient.mm:
(webGetNSImage):

* WebCoreSupport/WebIconDatabaseClient.mm:
(WebIconDatabaseClient::didRemoveAllIcons):
(WebIconDatabaseClient::didImportIconURLForPageURL):

* WebView/WebView.mm:
(-[WebView setFrameLoadDelegate:]):
(-[WebView mainFrameIcon]):

Tools:

* DumpRenderTree/mac/TestRunnerMac.mm:

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj (219694 => 219695)


--- trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj	2017-07-20 18:07:30 UTC (rev 219695)
@@ -137,7 +137,6 @@
 		5185F62610712B80007AA393 /* WebNavigationData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5185F62510712B80007AA393 /* WebNavigationData.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		5185F62810712B97007AA393 /* WebNavigationData.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5185F62710712B97007AA393 /* WebNavigationData.mm */; };
 		51AEDEF10CECF45700854328 /* WebDatabaseManagerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 51AEDEF00CECF45700854328 /* WebDatabaseManagerInternal.h */; };
-		51B2A1000ADB15D0002A9BEE /* WebIconDatabaseDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 51B2A0FF0ADB15D0002A9BEE /* WebIconDatabaseDelegate.h */; };
 		51C714FB0B20F79F00E5E33C /* WebBackForwardListInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 51C714FA0B20F79F00E5E33C /* WebBackForwardListInternal.h */; };
 		51CBFCAD0D10E6C5002DBF51 /* WebCachedFramePlatformData.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CBFCAC0D10E6C5002DBF51 /* WebCachedFramePlatformData.h */; };
 		51FDC4D30B0AF5C100F84EB3 /* WebHistoryItemPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FDC4D20B0AF5C100F84EB3 /* WebHistoryItemPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -176,7 +175,6 @@
 		7C1FB3C21846E8E1001A03D8 /* WebAllowDenyPolicyListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C1FB3C11846E8E1001A03D8 /* WebAllowDenyPolicyListener.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		7E6FEF0808985A7200C44C3F /* WebScriptDebugDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E6FEF0508985A7200C44C3F /* WebScriptDebugDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		7E6FEF0908985A7200C44C3F /* WebScriptDebugDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7E6FEF0608985A7200C44C3F /* WebScriptDebugDelegate.mm */; };
-		9304B3000B02341500F7850D /* WebIconDatabaseInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9304B2FF0B02341500F7850D /* WebIconDatabaseInternal.h */; };
 		931633EB0AEDFF930062B92D /* WebFrameLoaderClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 931633EA0AEDFF930062B92D /* WebFrameLoaderClient.h */; };
 		931633EF0AEDFFAE0062B92D /* WebFrameLoaderClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 931633EE0AEDFFAE0062B92D /* WebFrameLoaderClient.mm */; };
 		9321D5921A391DC3008052BE /* WebImmediateActionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 9321D5911A391DB8008052BE /* WebImmediateActionController.h */; };
@@ -195,7 +193,6 @@
 		939810150824BF01008DF038 /* WebURLsWithTitles.h in Headers */ = {isa = PBXBuildFile; fileRef = F5E0A76E02B8FEE401C1A525 /* WebURLsWithTitles.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		939810160824BF01008DF038 /* WebCoreStatistics.h in Headers */ = {isa = PBXBuildFile; fileRef = F59EAE3E0253C7EE018635CA /* WebCoreStatistics.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		939810180824BF01008DF038 /* WebIconDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = F528E3E9031E91AD01CA2ACA /* WebIconDatabase.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		939810190824BF01008DF038 /* WebIconDatabasePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = F528E3EB031E91AD01CA2ACA /* WebIconDatabasePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		9398101B0824BF01008DF038 /* WebKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 2568C72C0174912D0ECA149E /* WebKit.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		9398101C0824BF01008DF038 /* WebKitErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = F5927D4E02D26C5E01CA2DBB /* WebKitErrors.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		9398101D0824BF01008DF038 /* WebKitLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = 93AEB17D032C1735008635CE /* WebKitLogging.h */; settings = {ATTRIBUTES = (); }; };
@@ -977,7 +974,6 @@
 		51A8B57A042834F700CA2D3A /* WebView.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebView.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		51A8B57D0428353A00CA2D3A /* WebViewPrivate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebViewPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		51AEDEF00CECF45700854328 /* WebDatabaseManagerInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDatabaseManagerInternal.h; sourceTree = "<group>"; };
-		51B2A0FF0ADB15D0002A9BEE /* WebIconDatabaseDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseDelegate.h; sourceTree = "<group>"; };
 		51C714FA0B20F79F00E5E33C /* WebBackForwardListInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebBackForwardListInternal.h; sourceTree = "<group>"; };
 		51CBFCAC0D10E6C5002DBF51 /* WebCachedFramePlatformData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCachedFramePlatformData.h; sourceTree = "<group>"; };
 		51E94C3406C0321200A9B09E /* WebPDFView.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPDFView.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
@@ -1051,7 +1047,6 @@
 		848DFF860365FE6A00CA2ACA /* WebPluginViewFactory.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginViewFactory.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		84AE905F062DE6A80075BBF9 /* WebDOMOperationsPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDOMOperationsPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		84CA5F7E042685E800CA2ACA /* WebKitErrorsPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKitErrorsPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-		9304B2FF0B02341500F7850D /* WebIconDatabaseInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseInternal.h; sourceTree = "<group>"; };
 		930D02BB06275F640076701E /* WebViewInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebViewInternal.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		930D02BD06275F710076701E /* WebFrameInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameInternal.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		93154EF103A41270008635CE /* WebPanelAuthenticationHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPanelAuthenticationHandler.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
@@ -1570,7 +1565,6 @@
 		F520FB190221DEFD01C1A525 /* WebHistory.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebHistory.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		F528E3E9031E91AD01CA2ACA /* WebIconDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabase.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		F528E3EA031E91AD01CA2ACA /* WebIconDatabase.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebIconDatabase.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-		F528E3EB031E91AD01CA2ACA /* WebIconDatabasePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabasePrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		F53444CE02E87CBA018635CA /* WebKitStatistics.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKitStatistics.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		F53444CF02E87CBA018635CA /* WebKitStatistics.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebKitStatistics.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
 		F53444D202E87D4B018635CA /* WebKitStatisticsPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKitStatisticsPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
@@ -1791,9 +1785,6 @@
 				DD89681F09AA87240097E7F0 /* WebElementDictionary.mm */,
 				F528E3E9031E91AD01CA2ACA /* WebIconDatabase.h */,
 				F528E3EA031E91AD01CA2ACA /* WebIconDatabase.mm */,
-				51B2A0FF0ADB15D0002A9BEE /* WebIconDatabaseDelegate.h */,
-				9304B2FF0B02341500F7850D /* WebIconDatabaseInternal.h */,
-				F528E3EB031E91AD01CA2ACA /* WebIconDatabasePrivate.h */,
 				2568C72C0174912D0ECA149E /* WebKit.h */,
 				F5927D4E02D26C5E01CA2DBB /* WebKitErrors.h */,
 				83730F9803FB1E660004736E /* WebKitErrors.m */,
@@ -3063,9 +3054,6 @@
 				939810580824BF01008DF038 /* WebHTMLViewPrivate.h in Headers */,
 				939810180824BF01008DF038 /* WebIconDatabase.h in Headers */,
 				51494CD60C7EBDE0004178C5 /* WebIconDatabaseClient.h in Headers */,
-				51B2A1000ADB15D0002A9BEE /* WebIconDatabaseDelegate.h in Headers */,
-				9304B3000B02341500F7850D /* WebIconDatabaseInternal.h in Headers */,
-				939810190824BF01008DF038 /* WebIconDatabasePrivate.h in Headers */,
 				9321D5921A391DC3008052BE /* WebImmediateActionController.h in Headers */,
 				A560946614D8AD2600799A8A /* WebIndicateLayer.h in Headers */,
 				5D7BF8140C2A1D90008CE06D /* WebInspector.h in Headers */,
@@ -3237,7 +3225,7 @@
 				LastSwiftUpdateCheck = 0700;
 				LastUpgradeCheck = 0700;
 			};
-			buildConfigurationList = 149C283208902B0F008A9EFC /* Build configuration list for PBXProject "WebKit" */;
+			buildConfigurationList = 149C283208902B0F008A9EFC /* Build configuration list for PBXProject "WebKitLegacy" */;
 			compatibilityVersion = "Xcode 3.2";
 			developmentRegion = English;
 			hasScannedForEncodings = 1;
@@ -3810,7 +3798,7 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Production;
 		};
-		149C283208902B0F008A9EFC /* Build configuration list for PBXProject "WebKit" */ = {
+		149C283208902B0F008A9EFC /* Build configuration list for PBXProject "WebKitLegacy" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
 				149C283308902B0F008A9EFC /* Debug */,

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (219694 => 219695)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2017-07-20 18:07:30 UTC (rev 219695)
@@ -1,3 +1,70 @@
+2017-07-20  Brady Eidson  <beid...@apple.com>
+
+        Deprecate WebIconDatabase in WebKitLegacy/mac.
+        https://bugs.webkit.org/show_bug.cgi?id=174607
+
+        Reviewed by Alex Christensen.
+
+        This patch:
+        1 - Formally deprecates WebIconDatabase (which was never API anyways)
+        2 - Guts the class to where it can only return the default icon at the small size
+        3 - Reworks other parts of WebKitLegacy that used it for anything to either
+            use something else or to not do anything.
+        
+        This patch *could* go much farther. A future patch is what will remove WebCore/IconDatabase
+        and that patch will remove all of the last remnants of WebIconDatabase.
+        
+        * History/WebHistoryItem.mm:
+        (-[WebHistoryItem icon]):
+
+        * Misc/WebIconDatabase.h:
+        * Misc/WebIconDatabase.mm:
+        (-[WebIconDatabase init]):
+        (-[WebIconDatabase iconForURL:withSize:cache:]):
+        (-[WebIconDatabase iconForURL:withSize:]):
+        (-[WebIconDatabase defaultIconWithSize:]):
+        (-[WebIconDatabase defaultIconForURL:withSize:]):
+        (-[WebIconDatabase iconURLForURL:]):
+        (-[WebIconDatabase retainIconForURL:]):
+        (-[WebIconDatabase releaseIconForURL:]):
+        (+[WebIconDatabase delayDatabaseCleanup]):
+        (+[WebIconDatabase allowDatabaseCleanup]):
+        (-[WebIconDatabase setDelegate:]):
+        (-[WebIconDatabase delegate]):
+        (+[WebIconDatabase initialize]): Deleted.
+        (-[WebIconDatabase isEnabled]): Deleted.
+        (-[WebIconDatabase setEnabled:]): Deleted.
+        (-[WebIconDatabase removeAllIcons]): Deleted.
+        (+[WebIconDatabase _checkIntegrityBeforeOpening]): Deleted.
+        (-[WebIconDatabase _sendNotificationForURL:]): Deleted.
+        (-[WebIconDatabase _sendDidRemoveAllIconsNotification]): Deleted.
+        (-[WebIconDatabase _startUpIconDatabase]): Deleted.
+        (-[WebIconDatabase _shutDownIconDatabase]): Deleted.
+        (-[WebIconDatabase _applicationWillTerminate:]): Deleted.
+        (-[WebIconDatabase _iconForFileURL:withSize:]): Deleted.
+        (-[WebIconDatabase _resetCachedWebPreferences:]): Deleted.
+        (-[WebIconDatabase _largestIconFromDictionary:]): Deleted.
+        (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]): Deleted.
+        (-[WebIconDatabase _iconFromDictionary:forSize:cache:]): Deleted.
+        (-[WebIconDatabase _scaleIcon:toSize:]): Deleted.
+        (-[WebIconDatabase _databaseDirectory]): Deleted.
+        (webGetNSImage): Deleted.
+
+        * Misc/WebIconDatabaseDelegate.h: Removed.
+        * Misc/WebIconDatabaseInternal.h: Removed.
+        * Misc/WebIconDatabasePrivate.h: Removed.
+
+        * WebCoreSupport/WebFrameLoaderClient.mm:
+        (webGetNSImage):
+
+        * WebCoreSupport/WebIconDatabaseClient.mm:
+        (WebIconDatabaseClient::didRemoveAllIcons):
+        (WebIconDatabaseClient::didImportIconURLForPageURL):
+
+        * WebView/WebView.mm:
+        (-[WebView setFrameLoadDelegate:]):
+        (-[WebView mainFrameIcon]):
+
 2017-07-18  Andy Estes  <aes...@apple.com>
 
         [Xcode] Enable CLANG_WARN_RANGE_LOOP_ANALYSIS

Modified: trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig (219694 => 219695)


--- trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig	2017-07-20 18:07:30 UTC (rev 219695)
@@ -24,7 +24,7 @@
 #include "FeatureDefines.xcconfig"
 #include "Version.xcconfig"
 
-EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = *.defs *.nib *.pdf *.tiff CarbonUtils.* CarbonWindowAdapter.* CarbonWindowContentView.* CarbonWindowFrame.* HIViewAdapter.* HIWebView.* OutlookQuirksUserScript.js PopupMenuMac.* SearchPopupMenuMac.* WebClipView.* WebDashboardRegion.* WebDynamicScrollBarsView.* WebIconDatabase.* WebIconDatabasePrivate.* WebInspectorClient.* WebJavaScriptTextInputPanel.* WebNSEventExtras.* WebNSPasteboardExtras.* WebNSWindowExtras.* WebPanelAuthenticationHandler.* WebPluginsPrivate.* WebStringTruncator.* WebTextCompletionController.*;
+EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = *.defs *.nib *.pdf *.tiff CarbonUtils.* CarbonWindowAdapter.* CarbonWindowContentView.* CarbonWindowFrame.* HIViewAdapter.* HIWebView.* OutlookQuirksUserScript.js PopupMenuMac.* SearchPopupMenuMac.* WebClipView.* WebDashboardRegion.* WebDynamicScrollBarsView.* WebIconDatabase.* WebInspectorClient.* WebJavaScriptTextInputPanel.* WebNSEventExtras.* WebNSPasteboardExtras.* WebNSWindowExtras.* WebPanelAuthenticationHandler.* WebPluginsPrivate.* WebStringTruncator.* WebTextCompletionController.*;
 EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*] = *IOS.mm MemoryMeasure.h WebCaretChangeListener.h WebFixedPositionContent.h WebFrameIOS.h WebFrameIPhone.h WebGeolocationCoreLocationProvider.h WebGeolocationPrivate.h WebGeolocationProviderIOS.h WebMIMETypeRegistry.h WebNSStringExtrasIOS.h WebNSStringExtrasIPhone.h WebPDFViewIOS.h WebPDFViewIPhone.h WebPDFViewPlaceholder.h WebSelectionRect.h WebUIKitDelegate.h WebUIKitSupport.h WebVisiblePosition.h DOMHTMLTextAreaElementPrivate.h DOMUIKitExtensions.h;
 
 EXPORTED_SYMBOLS_FILE = $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy/WebKitLegacy.generated.exp;

Modified: trunk/Source/WebKitLegacy/mac/History/WebHistoryItem.mm (219694 => 219695)


--- trunk/Source/WebKitLegacy/mac/History/WebHistoryItem.mm	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/mac/History/WebHistoryItem.mm	2017-07-20 18:07:30 UTC (rev 219695)
@@ -199,7 +199,10 @@
 #if !PLATFORM(IOS)
 - (NSImage *)icon
 {
+#pragma GCC diagnostic push 
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
     return [[WebIconDatabase sharedIconDatabase] iconForURL:[self URLString] withSize:WebIconSmallSize];
+#pragma GCC diagnostic pop
 }
 #endif
 

Modified: trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabase.h (219694 => 219695)


--- trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabase.h	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabase.h	2017-07-20 18:07:30 UTC (rev 219695)
@@ -32,9 +32,8 @@
 #import <Cocoa/Cocoa.h>
 #endif
 
-// Sent whenever a site icon has changed. The object of the notification is the icon database.
-// The userInfo contains the site URL whose icon has changed.
-// It can be accessed with the key WebIconNotificationUserInfoURLKey.
+#define ICON_DATABASE_DEPRECATED __deprecated_msg("WebIconDatabase is not API and no longer handles icon loading. It will be removed in a future release.")
+
 extern NSString *WebIconDatabaseDidAddIconNotification;
 
 extern NSString *WebIconNotificationUserInfoURLKey;
@@ -65,6 +64,8 @@
     
     Retention methods can be called for icons that are not yet in the database.
 */
+
+ICON_DATABASE_DEPRECATED
 @interface WebIconDatabase : NSObject {
 
 @private
@@ -76,7 +77,7 @@
     @method sharedIconDatabase
     @abstract Returns a shared instance of the icon database
 */
-+ (WebIconDatabase *)sharedIconDatabase;
++ (WebIconDatabase *)sharedIconDatabase ICON_DATABASE_DEPRECATED;
 
 #if !TARGET_OS_IPHONE
 /*!
@@ -83,7 +84,7 @@
     @method iconForURL:withSize:
     @discussion Calls iconForURL:withSize:cache: with YES for cache.
 */
-- (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size;
+- (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size ICON_DATABASE_DEPRECATED;
 
 /*!
     @method iconForURL:withSize:cache:
@@ -92,7 +93,7 @@
     Often called by the observer of WebIconChangedNotification after the notification is sent.
     @param cache If yes, caches the returned image in memory if not already cached
 */
-- (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size cache:(BOOL)cache;
+- (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size cache:(BOOL)cache ICON_DATABASE_DEPRECATED;
 #endif
 
 /*!
@@ -99,14 +100,14 @@
     @method iconURLForURL:withSize:cache:
     @discussion Returns an icon URL for a web site URL from memory or disk. nil if none is found.
 */
-- (NSString *)iconURLForURL:(NSString *)URL;
+- (NSString *)iconURLForURL:(NSString *)URL ICON_DATABASE_DEPRECATED;
 
 #if !TARGET_OS_IPHONE
 /*!
     @method defaultIconWithSize:
 */
-- (NSImage *)defaultIconWithSize:(NSSize)size;
-- (NSImage *)defaultIconForURL:(NSString *)URL withSize:(NSSize)size;
+- (NSImage *)defaultIconWithSize:(NSSize)size ICON_DATABASE_DEPRECATED;
+- (NSImage *)defaultIconForURL:(NSString *)URL withSize:(NSSize)size ICON_DATABASE_DEPRECATED;
 #endif
 
 /*!
@@ -113,13 +114,13 @@
     @method retainIconForURL:
     @abstract Increments the retain count of the icon.
 */
-- (void)retainIconForURL:(NSString *)URL;
+- (void)retainIconForURL:(NSString *)URL ICON_DATABASE_DEPRECATED;
 
 /*!
     @method releaseIconForURL:
     @abstract Decrements the retain count of the icon.
 */
-- (void)releaseIconForURL:(NSString *)URL;
+- (void)releaseIconForURL:(NSString *)URL ICON_DATABASE_DEPRECATED;
 
 /*!
     @method delayDatabaseCleanup:
@@ -127,7 +128,7 @@
     delayDatabaseCleanUp increments an internal counter that when 0 begins the database clean-up.
     The counter equals 0 at initialization.
 */
-+ (void)delayDatabaseCleanup;
++ (void)delayDatabaseCleanup ICON_DATABASE_DEPRECATED;
 
 /*!
     @method allowDatabaseCleanup:
@@ -135,9 +136,9 @@
     allowDatabaseCleanup decrements an internal counter that when 0 begins the database clean-up.
     The counter equals 0 at initialization.
 */
-+ (void)allowDatabaseCleanup;
++ (void)allowDatabaseCleanup ICON_DATABASE_DEPRECATED;
 
-- (void)setDelegate:(id)delegate;
-- (id)delegate;
+- (void)setDelegate:(id)delegate ICON_DATABASE_DEPRECATED;
+- (id)delegate ICON_DATABASE_DEPRECATED;
 
 @end

Modified: trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabase.mm (219694 => 219695)


--- trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabase.mm	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabase.mm	2017-07-20 18:07:30 UTC (rev 219695)
@@ -28,24 +28,14 @@
 
 #if !PLATFORM(IOS)
 
-#import "WebIconDatabaseInternal.h"
+#import "WebIconDatabase.h"
 
-#import "WebIconDatabaseClient.h"
-#import "WebIconDatabaseDelegate.h"
-#import "WebKitLogging.h"
-#import "WebKitNSStringExtras.h"
 #import "WebKitVersionChecks.h"
-#import "WebNSFileManagerExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebPreferencesPrivate.h"
-#import "WebTypesInternal.h"
-#import <WebCore/IconDatabase.h>
 #import <WebCore/Image.h>
-#import <WebCore/IntSize.h>
-#import <WebCore/SharedBuffer.h>
 #import <WebCore/ThreadCheck.h>
 #import <runtime/InitializeThreading.h>
 #import <wtf/MainThread.h>
+#import <wtf/NeverDestroyed.h>
 #import <wtf/RunLoop.h>
 
 using namespace WebCore;
@@ -63,30 +53,44 @@
 NSSize WebIconMediumSize = {32, 32};
 NSSize WebIconLargeSize = {128, 128};
 
-#define UniqueFilePathSize (34)
+static const unsigned char defaultIconData[] = { 0x4D, 0x4D, 0x00, 0x2A, 0x00, 0x00, 0x03, 0x32, 0x80, 0x00, 0x20, 0x50, 0x38, 0x24, 0x16, 0x0D, 0x07, 0x84, 0x42, 0x61, 0x50, 0xB8,
+    0x64, 0x08, 0x18, 0x0D, 0x0A, 0x0B, 0x84, 0xA2, 0xA1, 0xE2, 0x08, 0x5E, 0x39, 0x28, 0xAF, 0x48, 0x24, 0xD3, 0x53, 0x9A, 0x37, 0x1D, 0x18, 0x0E, 0x8A, 0x4B, 0xD1, 0x38, 
+    0xB0, 0x7C, 0x82, 0x07, 0x03, 0x82, 0xA2, 0xE8, 0x6C, 0x2C, 0x03, 0x2F, 0x02, 0x82, 0x41, 0xA1, 0xE2, 0xF8, 0xC8, 0x84, 0x68, 0x6D, 0x1C, 0x11, 0x0A, 0xB7, 0xFA, 0x91, 
+    0x6E, 0xD1, 0x7F, 0xAF, 0x9A, 0x4E, 0x87, 0xFB, 0x19, 0xB0, 0xEA, 0x7F, 0xA4, 0x95, 0x8C, 0xB7, 0xF9, 0xA9, 0x0A, 0xA9, 0x7F, 0x8C, 0x88, 0x66, 0x96, 0xD4, 0xCA, 0x69, 
+    0x2F, 0x00, 0x81, 0x65, 0xB0, 0x29, 0x90, 0x7C, 0xBA, 0x2B, 0x21, 0x1E, 0x5C, 0xE6, 0xB4, 0xBD, 0x31, 0xB6, 0xE7, 0x7A, 0xBF, 0xDD, 0x6F, 0x37, 0xD3, 0xFD, 0xD8, 0xF2, 
+    0xB6, 0xDB, 0xED, 0xAC, 0xF7, 0x03, 0xC5, 0xFE, 0x77, 0x53, 0xB6, 0x1F, 0xE6, 0x24, 0x8B, 0x1D, 0xFE, 0x26, 0x20, 0x9E, 0x1C, 0xE0, 0x80, 0x65, 0x7A, 0x18, 0x02, 0x01, 
+    0x82, 0xC5, 0xA0, 0xC0, 0xF1, 0x89, 0xBA, 0x23, 0x30, 0xAD, 0x1F, 0xE7, 0xE5, 0x5B, 0x6D, 0xFE, 0xE7, 0x78, 0x3E, 0x1F, 0xEE, 0x97, 0x8B, 0xE7, 0x37, 0x9D, 0xCF, 0xE7, 
+    0x92, 0x8B, 0x87, 0x0B, 0xFC, 0xA0, 0x8E, 0x68, 0x3F, 0xC6, 0x27, 0xA6, 0x33, 0xFC, 0x36, 0x5B, 0x59, 0x3F, 0xC1, 0x02, 0x63, 0x3B, 0x74, 0x00, 0x03, 0x07, 0x0B, 0x61, 
+    0x00, 0x20, 0x60, 0xC9, 0x08, 0x00, 0x1C, 0x25, 0x9F, 0xE0, 0x12, 0x8A, 0xD5, 0xFE, 0x6B, 0x4F, 0x35, 0x9F, 0xED, 0xD7, 0x4B, 0xD9, 0xFE, 0x8A, 0x59, 0xB8, 0x1F, 0xEC, 
+    0x56, 0xD3, 0xC1, 0xFE, 0x63, 0x4D, 0xF2, 0x83, 0xC6, 0xB6, 0x1B, 0xFC, 0x34, 0x68, 0x61, 0x3F, 0xC1, 0xA6, 0x25, 0xEB, 0xFC, 0x06, 0x58, 0x5C, 0x3F, 0xC0, 0x03, 0xE4, 
+    0xC3, 0xFC, 0x04, 0x0F, 0x1A, 0x6F, 0xE0, 0xE0, 0x20, 0xF9, 0x61, 0x7A, 0x02, 0x28, 0x2B, 0xBC, 0x46, 0x25, 0xF3, 0xFC, 0x66, 0x3D, 0x99, 0x27, 0xF9, 0x7E, 0x6B, 0x1D, 
+    0xC7, 0xF9, 0x2C, 0x5E, 0x1C, 0x87, 0xF8, 0xC0, 0x4D, 0x9A, 0xE7, 0xF8, 0xDA, 0x51, 0xB2, 0xC1, 0x68, 0xF2, 0x64, 0x1F, 0xE1, 0x50, 0xED, 0x0A, 0x04, 0x23, 0x79, 0x8A, 
+    0x7F, 0x82, 0xA3, 0x39, 0x80, 0x7F, 0x80, 0xC2, 0xB1, 0x5E, 0xF7, 0x04, 0x2F, 0xB2, 0x10, 0x02, 0x86, 0x63, 0xC9, 0xCC, 0x07, 0xBF, 0x87, 0xF8, 0x4A, 0x38, 0xAF, 0xC1, 
+    0x88, 0xF8, 0x66, 0x1F, 0xE1, 0xD9, 0x08, 0xD4, 0x8F, 0x25, 0x5B, 0x4A, 0x49, 0x97, 0x87, 0x39, 0xFE, 0x25, 0x12, 0x10, 0x68, 0xAA, 0x4A, 0x2F, 0x42, 0x29, 0x12, 0x69, 
+    0x9F, 0xE1, 0xC1, 0x00, 0x67, 0x1F, 0xE1, 0x58, 0xED, 0x00, 0x83, 0x23, 0x49, 0x82, 0x7F, 0x81, 0x21, 0xE0, 0xFC, 0x73, 0x21, 0x00, 0x50, 0x7D, 0x2B, 0x84, 0x03, 0x83, 
+    0xC2, 0x1B, 0x90, 0x06, 0x69, 0xFE, 0x23, 0x91, 0xAE, 0x50, 0x9A, 0x49, 0x32, 0xC2, 0x89, 0x30, 0xE9, 0x0A, 0xC4, 0xD9, 0xC4, 0x7F, 0x94, 0xA6, 0x51, 0xDE, 0x7F, 0x9D, 
+    0x07, 0x89, 0xF6, 0x7F, 0x91, 0x85, 0xCA, 0x88, 0x25, 0x11, 0xEE, 0x50, 0x7C, 0x43, 0x35, 0x21, 0x60, 0xF1, 0x0D, 0x82, 0x62, 0x39, 0x07, 0x2C, 0x20, 0xE0, 0x80, 0x72, 
+    0x34, 0x17, 0xA1, 0x80, 0xEE, 0xF0, 0x89, 0x24, 0x74, 0x1A, 0x2C, 0x93, 0xB3, 0x78, 0xCC, 0x52, 0x9D, 0x6A, 0x69, 0x56, 0xBB, 0x0D, 0x85, 0x69, 0xE6, 0x7F, 0x9E, 0x27, 
+    0xB9, 0xFD, 0x50, 0x54, 0x47, 0xF9, 0xCC, 0x78, 0x9F, 0x87, 0xF9, 0x98, 0x70, 0xB9, 0xC2, 0x91, 0x2C, 0x6D, 0x1F, 0xE1, 0xE1, 0x00, 0xBF, 0x02, 0xC1, 0xF5, 0x18, 0x84,
+    0x01, 0xE1, 0x48, 0x8C, 0x42, 0x07, 0x43, 0xC9, 0x76, 0x7F, 0x8B, 0x04, 0xE4, 0xDE, 0x35, 0x95, 0xAB, 0xB0, 0xF0, 0x5C, 0x55, 0x23, 0xF9, 0x7E, 0x7E, 0x9F, 0xE4, 0x0C, 
+    0xA7, 0x55, 0x47, 0xC7, 0xF9, 0xE6, 0xCF, 0x1F, 0xE7, 0x93, 0x35, 0x52, 0x54, 0x63, 0x19, 0x46, 0x73, 0x1F, 0xE2, 0x61, 0x08, 0xF0, 0x82, 0xE1, 0x80, 0x92, 0xF9, 0x20, 
+    0xC0, 0x28, 0x18, 0x0A, 0x05, 0xA1, 0xA2, 0xF8, 0x6E, 0xDB, 0x47, 0x49, 0xFE, 0x3E, 0x17, 0xB6, 0x61, 0x13, 0x1A, 0x29, 0x26, 0xA9, 0xFE, 0x7F, 0x92, 0x70, 0x69, 0xFE, 
+    0x4C, 0x2F, 0x55, 0x01, 0xF1, 0x54, 0xD4, 0x35, 0x49, 0x4A, 0x69, 0x59, 0x83, 0x81, 0x58, 0x76, 0x9F, 0xE2, 0x20, 0xD6, 0x4C, 0x9B, 0xA0, 0x48, 0x1E, 0x0B, 0xB7, 0x48, 
+    0x58, 0x26, 0x11, 0x06, 0x42, 0xE8, 0xA4, 0x40, 0x17, 0x27, 0x39, 0x00, 0x60, 0x2D, 0xA4, 0xC3, 0x2C, 0x7F, 0x94, 0x56, 0xE4, 0xE1, 0x77, 0x1F, 0xE5, 0xB9, 0xD7, 0x66, 
+    0x1E, 0x07, 0xB3, 0x3C, 0x63, 0x1D, 0x35, 0x49, 0x0E, 0x63, 0x2D, 0xA2, 0xF1, 0x12, 0x60, 0x1C, 0xE0, 0xE0, 0x52, 0x1B, 0x8B, 0xAC, 0x38, 0x0E, 0x07, 0x03, 0x60, 0x28, 
+    0x1C, 0x0E, 0x87, 0x00, 0xF0, 0x66, 0x27, 0x11, 0xA2, 0xC1, 0x02, 0x5A, 0x1C, 0xE4, 0x21, 0x83, 0x1F, 0x13, 0x86, 0xFA, 0xD2, 0x55, 0x1D, 0xD6, 0x61, 0xBC, 0x77, 0xD3, 
+    0xE6, 0x91, 0xCB, 0x4C, 0x90, 0xA6, 0x25, 0xB8, 0x2F, 0x90, 0xC5, 0xA9, 0xCE, 0x12, 0x07, 0x02, 0x91, 0x1B, 0x9F, 0x68, 0x00, 0x16, 0x76, 0x0D, 0xA1, 0x00, 0x08, 0x06, 
+    0x03, 0x81, 0xA0, 0x20, 0x1A, 0x0D, 0x06, 0x80, 0x30, 0x24, 0x12, 0x89, 0x20, 0x98, 0x4A, 0x1F, 0x0F, 0x21, 0xA0, 0x9E, 0x36, 0x16, 0xC2, 0x88, 0xE6, 0x48, 0x9B, 0x83, 
+    0x31, 0x1C, 0x55, 0x1E, 0x43, 0x59, 0x1A, 0x56, 0x1E, 0x42, 0xF0, 0xFA, 0x4D, 0x1B, 0x9B, 0x08, 0xDC, 0x5B, 0x02, 0xA1, 0x30, 0x7E, 0x3C, 0xEE, 0x5B, 0xA6, 0xDD, 0xB8, 
+    0x6D, 0x5B, 0x62, 0xB7, 0xCD, 0xF3, 0x9C, 0xEA, 0x04, 0x80, 0x80, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x01, 0x01, 
+    0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x01, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x03, 0xE0, 0x01, 0x03, 0x00, 0x03, 0x00, 0x00, 
+    0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x01, 0x06, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x01, 0x11, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 
+    0x00, 0x08, 0x01, 0x15, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x01, 0x16, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x01, 0x17, 
+    0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x29, 0x01, 0x1A, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0xE8, 0x01, 0x1B, 0x00, 0x05, 0x00, 0x00, 
+    0x00, 0x01, 0x00, 0x00, 0x03, 0xF0, 0x01, 0x1C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x28, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 
+    0x00, 0x00, 0x01, 0x52, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0A, 
+    0xFC, 0x80, 0x00, 0x00, 0x27, 0x10, 0x00, 0x0A, 0xFC, 0x80, 0x00, 0x00, 0x27, 0x10 };
 
-static WebIconDatabaseClient* defaultClient()
-{
-#if ENABLE(ICONDATABASE)
-    static WebIconDatabaseClient* defaultClient = new WebIconDatabaseClient();
-    return defaultClient;
-#else
-    return 0;
-#endif
-}
-
-@interface WebIconDatabase (WebReallyInternal)
-- (void)_sendNotificationForURL:(NSString *)URL;
-- (void)_sendDidRemoveAllIconsNotification;
-- (NSImage *)_iconForFileURL:(NSString *)fileURL withSize:(NSSize)size;
-- (void)_resetCachedWebPreferences:(NSNotification *)notification;
-- (NSImage *)_largestIconFromDictionary:(NSMutableDictionary *)icons;
-- (NSMutableDictionary *)_iconsBySplittingRepresentationsOfIcon:(NSImage *)icon;
-- (NSImage *)_iconFromDictionary:(NSMutableDictionary *)icons forSize:(NSSize)size cache:(BOOL)cache;
-- (void)_scaleIcon:(NSImage *)icon toSize:(NSSize)size;
-- (NSString *)_databaseDirectory;
-@end
-
 @implementation WebIconDatabase
 
 + (void)initialize
@@ -112,382 +116,69 @@
 
 - (id)init
 {
-    self = [super init];
-    if (!self)
-        return nil;
     WebCoreThreadViolationCheckRoundOne();
-        
-    _private = [[WebIconDatabasePrivate alloc] init];
-    
-    // Check the user defaults and see if the icon database should even be enabled.
-    // Inform the bridge and, if we're disabled, bail from init right here
-    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
-    // <rdar://problem/4741419> - IconDatabase should be disabled by default
-    NSDictionary *initialDefaults = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithBool:YES], WebIconDatabaseEnabledDefaultsKey, nil];
-    [defaults registerDefaults:initialDefaults];
-    [initialDefaults release];
-    BOOL enabled = [defaults boolForKey:WebIconDatabaseEnabledDefaultsKey];
-    iconDatabase().setEnabled(enabled);
-    if (enabled)
-        [self _startUpIconDatabase];
-    return self;
+
+    return [super init];
 }
 
 - (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size cache:(BOOL)cache
 {
-    ASSERT(size.width);
-    ASSERT(size.height);
-
-    if (!URL || ![self isEnabled])
-        return [self defaultIconForURL:URL withSize:size];
-
-    // FIXME - <rdar://problem/4697934> - Move the handling of FileURLs to WebCore and implement in ObjC++
-    if ([URL _webkit_isFileURL])
-        return [self _iconForFileURL:URL withSize:size];
-    
-    if (Image* image = iconDatabase().synchronousIconForPageURL(URL, IntSize(size)))
-        if (NSImage *icon = webGetNSImage(image, size))
-            return icon;
-    return [self defaultIconForURL:URL withSize:size];
+    return [self defaultIconWithSize:size];
 }
 
 - (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size
 {
-    return [self iconForURL:URL withSize:size cache:YES];
+    return [self defaultIconWithSize:size];
 }
 
-- (NSString *)iconURLForURL:(NSString *)URL
+- (NSImage *)defaultIconWithSize:(NSSize)size
 {
-    if (![self isEnabled])
-        return nil;
+    static NeverDestroyed<RetainPtr<NSImage>> defaultImage;
 
-    return iconDatabase().synchronousIconURLForPageURL(URL);
-}
-
-- (NSImage *)defaultIconWithSize:(NSSize)size
-{
-    ASSERT(size.width);
-    ASSERT(size.height);
+    static dispatch_once_t once;
+    dispatch_once(&once, ^ {
+        auto imageData = adoptNS([[NSData alloc] initWithBytes:defaultIconData length:sizeof(defaultIconData)]);
+        defaultImage.get() = adoptNS([[NSImage alloc] initWithData:imageData.get()]);
+    });
     
-    Image* image = iconDatabase().defaultIcon(IntSize(size));
-    return image ? image->snapshotNSImage().autorelease() : nil;
+    return defaultImage.get().get();
 }
 
 - (NSImage *)defaultIconForURL:(NSString *)URL withSize:(NSSize)size
 {
-    if (_private->delegateImplementsDefaultIconForURL)
-        return [_private->delegate webIconDatabase:self defaultIconForURL:URL withSize:size];
     return [self defaultIconWithSize:size];
 }
 
+- (NSString *)iconURLForURL:(NSString *)URL
+{
+    return nil;
+}
+
 - (void)retainIconForURL:(NSString *)URL
 {
-    ASSERT(URL);
-    if (![self isEnabled])
-        return;
-
-    iconDatabase().retainIconForPageURL(URL);
 }
 
 - (void)releaseIconForURL:(NSString *)pageURL
 {
-    ASSERT(pageURL);
-    if (![self isEnabled])
-        return;
-
-    iconDatabase().releaseIconForPageURL(pageURL);
 }
 
 + (void)delayDatabaseCleanup
 {
-    IconDatabase::delayDatabaseCleanup();
 }
 
 + (void)allowDatabaseCleanup
 {
-    IconDatabase::allowDatabaseCleanup();
 }
 
 - (void)setDelegate:(id)delegate
 {
-    _private->delegate = delegate;
-    _private->delegateImplementsDefaultIconForURL = [delegate respondsToSelector:@selector(webIconDatabase:defaultIconForURL:withSize:)];
 }
 
 - (id)delegate
 {
-    return _private->delegate;
-}
-
-@end
-
-
-@implementation WebIconDatabase (WebPendingPublic)
-
-- (BOOL)isEnabled
-{
-    return iconDatabase().isEnabled();
-}
-
-- (void)setEnabled:(BOOL)flag
-{
-    BOOL currentlyEnabled = [self isEnabled];
-    if (currentlyEnabled && !flag) {
-        iconDatabase().setEnabled(false);
-        [self _shutDownIconDatabase];
-    } else if (!currentlyEnabled && flag) {
-        iconDatabase().setEnabled(true);
-        [self _startUpIconDatabase];
-    }
-}
-
-- (void)removeAllIcons
-{
-    if (![self isEnabled])
-        return;
-
-    // Via the IconDatabaseClient interface, removeAllIcons() will send the WebIconDatabaseDidRemoveAllIconsNotification
-    iconDatabase().removeAllIcons();
-}
-
-@end
-
-@implementation WebIconDatabase (WebPrivate)
-
-+ (void)_checkIntegrityBeforeOpening
-{
-    IconDatabase::checkIntegrityBeforeOpening();
-}
-
-@end
-
-@implementation WebIconDatabase (WebInternal)
-
-- (void)_sendNotificationForURL:(NSString *)URL
-{
-    ASSERT(URL);
-    
-    dispatch_async(dispatch_get_main_queue(), ^{
-        NSDictionary *userInfo = @{ WebIconNotificationUserInfoURLKey : URL };
-        [[NSNotificationCenter defaultCenter] postNotificationName:WebIconDatabaseDidAddIconNotification object:self userInfo:userInfo];
-    });
-}
-
-- (void)_sendDidRemoveAllIconsNotification
-{
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [[NSNotificationCenter defaultCenter] postNotificationName:WebIconDatabaseDidRemoveAllIconsNotification object:self];
-    });
-}
-
-- (void)_startUpIconDatabase
-{
-    iconDatabase().setClient(defaultClient());
-    
-    // Figure out the directory we should be using for the icon.db
-    NSString *databaseDirectory = [self _databaseDirectory];
-    
-    // Rename legacy icon database files to the new icon database name
-    BOOL isDirectory = NO;
-    NSString *legacyDB = [databaseDirectory stringByAppendingPathComponent:@"icon.db"];
-    NSFileManager *defaultManager = [NSFileManager defaultManager];
-    if ([defaultManager fileExistsAtPath:legacyDB isDirectory:&isDirectory] && !isDirectory) {
-        NSString *newDB = [databaseDirectory stringByAppendingPathComponent:IconDatabase::defaultDatabaseFilename()];
-        if (![defaultManager fileExistsAtPath:newDB])
-            rename([legacyDB fileSystemRepresentation], [newDB fileSystemRepresentation]);
-    }
-    
-    // Set the private browsing pref then open the WebCore icon database
-    iconDatabase().setPrivateBrowsingEnabled([[WebPreferences standardPreferences] privateBrowsingEnabled]);
-    if (!iconDatabase().open(databaseDirectory, IconDatabase::defaultDatabaseFilename()))
-        LOG_ERROR("Unable to open icon database");
-    
-    // Register for important notifications
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(_applicationWillTerminate:)
-                                                 name:NSApplicationWillTerminateNotification
-                                               object:NSApp];
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(_resetCachedWebPreferences:)
-                                                 name:WebPreferencesChangedInternalNotification
-                                               object:nil];
-}
-
-- (void)_shutDownIconDatabase
-{
-    // Unregister for important notifications
-    [[NSNotificationCenter defaultCenter] removeObserver:self
-                                                    name:NSApplicationWillTerminateNotification
-                                                  object:NSApp];
-    [[NSNotificationCenter defaultCenter] removeObserver:self
-                                                    name:WebPreferencesChangedInternalNotification
-                                                  object:nil];
-}
-
-- (void)_applicationWillTerminate:(NSNotification *)notification
-{
-    iconDatabase().close();
-}
-
-- (NSImage *)_iconForFileURL:(NSString *)file withSize:(NSSize)size
-{
-    ASSERT(size.width);
-    ASSERT(size.height);
-
-    NSWorkspace *workspace = [NSWorkspace sharedWorkspace];
-    NSString *path = [[NSURL _web_URLWithDataAsString:file] path];
-    NSString *suffix = [path pathExtension];
-    NSImage *icon = nil;
-    
-    if ([suffix _webkit_isCaseInsensitiveEqualToString:@"htm"] || [suffix _webkit_isCaseInsensitiveEqualToString:@"html"]) {
-        if (!_private->htmlIcons) {
-            icon = [workspace iconForFileType:@"html"];
-            _private->htmlIcons = [[self _iconsBySplittingRepresentationsOfIcon:icon] retain];
-        }
-        icon = [self _iconFromDictionary:_private->htmlIcons forSize:size cache:YES];
-    } else {
-        if (!path || ![path isAbsolutePath]) {
-            // Return the generic icon when there is no path.
-            icon = [workspace iconForFileType:NSFileTypeForHFSTypeCode(kGenericDocumentIcon)];
-        } else {
-            icon = [workspace iconForFile:path];
-        }
-        [self _scaleIcon:icon toSize:size];
-    }
-
-    return icon;
-}
-
-- (void)_resetCachedWebPreferences:(NSNotification *)notification
-{
-    BOOL privateBrowsingEnabledNow = [[WebPreferences standardPreferences] privateBrowsingEnabled];
-    iconDatabase().setPrivateBrowsingEnabled(privateBrowsingEnabledNow);
-}
-
-- (NSImage *)_largestIconFromDictionary:(NSMutableDictionary *)icons
-{
-    ASSERT(icons);
-    
-    NSEnumerator *enumerator = [icons keyEnumerator];
-    NSValue *currentSize, *largestSize=nil;
-    float largestSizeArea=0;
-
-    while ((currentSize = [enumerator nextObject]) != nil) {
-        NSSize currentSizeSize = [currentSize sizeValue];
-        float currentSizeArea = currentSizeSize.width * currentSizeSize.height;
-        if(!largestSizeArea || (currentSizeArea > largestSizeArea)){
-            largestSize = currentSize;
-            largestSizeArea = currentSizeArea;
-        }
-    }
-
-    return [icons objectForKey:largestSize];
-}
-
-- (NSMutableDictionary *)_iconsBySplittingRepresentationsOfIcon:(NSImage *)icon
-{
-    ASSERT(icon);
-
-    NSMutableDictionary *icons = [NSMutableDictionary dictionary];
-    NSEnumerator *enumerator = [[icon representations] objectEnumerator];
-    NSImageRep *rep;
-
-    while ((rep = [enumerator nextObject]) != nil) {
-        NSSize size = [rep size];
-        NSImage *subIcon = [[NSImage alloc] initWithSize:size];
-        [subIcon addRepresentation:rep];
-        [icons setObject:subIcon forKey:[NSValue valueWithSize:size]];
-        [subIcon release];
-    }
-
-    if([icons count] > 0)
-        return icons;
-
-    LOG_ERROR("icon has no representations");
-    
     return nil;
 }
 
-- (NSImage *)_iconFromDictionary:(NSMutableDictionary *)icons forSize:(NSSize)size cache:(BOOL)cache
-{
-    ASSERT(size.width);
-    ASSERT(size.height);
-
-    NSImage *icon = [icons objectForKey:[NSValue valueWithSize:size]];
-
-    if(!icon){
-        icon = [[[self _largestIconFromDictionary:icons] copy] autorelease];
-        [self _scaleIcon:icon toSize:size];
-
-        if(cache){
-            [icons setObject:icon forKey:[NSValue valueWithSize:size]];
-        }
-    }
-
-    return icon;
-}
-
-- (void)_scaleIcon:(NSImage *)icon toSize:(NSSize)size
-{
-    ASSERT(size.width);
-    ASSERT(size.height);
-    
-#if !LOG_DISABLED
-    double start = CFAbsoluteTimeGetCurrent();
-#endif
-    
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-    [icon setScalesWhenResized:YES];
-#pragma clang diagnostic pop
-    [icon setSize:size];
-    
-#if !LOG_DISABLED
-    double duration = CFAbsoluteTimeGetCurrent() - start;
-    LOG(Timing, "scaling icon took %f seconds.", duration);
-#endif
-}
-
-- (NSString *)_databaseDirectory
-{
-    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
-
-    // Figure out the directory we should be using for the icon.db
-    NSString *databaseDirectory = [defaults objectForKey:WebIconDatabaseDirectoryDefaultsKey];
-    if (!databaseDirectory) {
-        databaseDirectory = WebIconDatabasePath;
-        [defaults setObject:databaseDirectory forKey:WebIconDatabaseDirectoryDefaultsKey];
-    }
-    
-    return [[databaseDirectory stringByExpandingTildeInPath] stringByStandardizingPath];
-}
-
 @end
 
-@implementation WebIconDatabasePrivate
-@end
-
-NSImage *webGetNSImage(Image* image, NSSize size)
-{
-    ASSERT(size.width);
-    ASSERT(size.height);
-
-    // FIXME: We're doing the resize here for now because WebCore::Image doesn't yet support resizing/multiple representations
-    // This makes it so there's effectively only one size of a particular icon in the system at a time. We should move this
-    // to WebCore::Image at some point.
-    if (!image)
-        return nil;
-    NSImage* nsImage = image->nsImage();
-    if (!nsImage)
-        return nil;
-    if (!NSEqualSizes([nsImage size], size)) {
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-        [nsImage setScalesWhenResized:YES];
-#pragma clang diagnostic pop
-        [nsImage setSize:size];
-    }
-    return nsImage;
-}
-
 #endif // !PLATFORM(IOS)

Deleted: trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabaseDelegate.h (219694 => 219695)


--- trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabaseDelegate.h	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabaseDelegate.h	2017-07-20 18:07:30 UTC (rev 219695)
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Inc.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1.  Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer. 
- * 2.  Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution. 
- * 3.  Neither the name of Apple Inc. ("Apple") nor the names of
- *     its contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission. 
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-@interface NSObject (WebIconDatabaseDelegate)
-
-- (NSImage *)webIconDatabase:(WebIconDatabase *)webIconDatabase defaultIconForURL:(NSString *)URL withSize:(NSSize)size;
-
-@end
-
-

Deleted: trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabaseInternal.h (219694 => 219695)


--- trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabaseInternal.h	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabaseInternal.h	2017-07-20 18:07:30 UTC (rev 219695)
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1.  Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer. 
- * 2.  Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution. 
- * 3.  Neither the name of Apple Inc. ("Apple") nor the names of
- *     its contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission. 
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !PLATFORM(IOS)
-
-#import "WebIconDatabasePrivate.h"
-
-namespace WebCore {
-    class Image;
-}
-
-@interface WebIconDatabasePrivate : NSObject {
-@public
-    id delegate;
-    BOOL delegateImplementsDefaultIconForURL;
-    NSMutableDictionary *htmlIcons;
-}
-@end
-
-@interface WebIconDatabase (WebInternal)
-- (void)_sendNotificationForURL:(NSString *)URL;
-- (void)_sendDidRemoveAllIconsNotification;
-- (void)_shutDownIconDatabase;
-- (void)_startUpIconDatabase;
-@end
-
-NSImage *webGetNSImage(WebCore::Image*, NSSize);
-
-#endif

Deleted: trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabasePrivate.h (219694 => 219695)


--- trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabasePrivate.h	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabasePrivate.h	2017-07-20 18:07:30 UTC (rev 219695)
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1.  Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer. 
- * 2.  Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution. 
- * 3.  Neither the name of Apple Inc. ("Apple") nor the names of
- *     its contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission. 
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKitLegacy/WebIconDatabase.h>
-
-// FIXME: Some of the following is not API and should be moved
-// either inside WebIconDatabase.mm, or to WebIconDatabaseInternal.h.
-
-// Sent when all icons are removed from the database. The object of the notification is 
-// the icon database. There is no userInfo. Clients should react by removing any cached
-// icon images from the user interface. Clients need not and should not call 
-// releaseIconForURL: in response to this notification.
-extern NSString *WebIconDatabaseDidRemoveAllIconsNotification;
-
-@interface WebIconDatabase (WebPendingPublic)
-
-/*!
-   @method isEnabled
-   @discussion Returns true if the icon database is currently enabled, or false if it
-   is disabled.
-*/
-- (BOOL)isEnabled;
-
-/*!
-   @method setEnabled:
-   @discussion Enables or disables the icon database based on the flag passed in.
-   @param flag Pass true to enable the icon database, or false to disable it.
-*/
-- (void)setEnabled:(BOOL)flag;
-
-/*!
-   @method removeAllIcons
-   @discussion Causes the icon database to delete all of the images that it has stored,
-   and to send out the notification WebIconDatabaseDidRemoveAllIconsNotification.
-*/
-- (void)removeAllIcons;
-
-@end
-
-@interface WebIconDatabase (WebPrivate)
-
-+ (void)_checkIntegrityBeforeOpening;
-
-@end

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm (219694 => 219695)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm	2017-07-20 18:07:30 UTC (rev 219695)
@@ -51,7 +51,6 @@
 #import "WebHTMLViewInternal.h"
 #import "WebHistoryInternal.h"
 #import "WebHistoryItemInternal.h"
-#import "WebIconDatabaseInternal.h"
 #import "WebKitErrorsPrivate.h"
 #import "WebKitLogging.h"
 #import "WebKitNSStringExtras.h"
@@ -2314,6 +2313,31 @@
 #endif
 }
 
+#if !PLATFORM(IOS)
+static NSImage *webGetNSImage(Image* image, NSSize size)
+{
+    ASSERT(size.width);
+    ASSERT(size.height);
+
+    // FIXME: We're doing the resize here for now because WebCore::Image doesn't yet support resizing/multiple representations
+    // This makes it so there's effectively only one size of a particular icon in the system at a time. We should move this
+    // to WebCore::Image at some point.
+    if (!image)
+        return nil;
+    NSImage* nsImage = image->nsImage();
+    if (!nsImage)
+        return nil;
+    if (!NSEqualSizes([nsImage size], size)) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+        [nsImage setScalesWhenResized:YES];
+#pragma clang diagnostic pop
+        [nsImage setSize:size];
+    }
+    return nsImage;
+}
+#endif // !PLATFORM(IOS)
+
 void WebFrameLoaderClient::finishedLoadingIcon(uint64_t callbackID, SharedBuffer* iconData)
 {
 #if !PLATFORM(IOS)

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebIconDatabaseClient.mm (219694 => 219695)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebIconDatabaseClient.mm	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebIconDatabaseClient.mm	2017-07-20 18:07:30 UTC (rev 219695)
@@ -28,7 +28,6 @@
 
 #import "WebIconDatabaseClient.h"
 
-#import "WebIconDatabaseInternal.h"
 #import <wtf/text/WTFString.h>
 
 #if ENABLE(ICONDATABASE)
@@ -35,17 +34,10 @@
 
 void WebIconDatabaseClient::didRemoveAllIcons()
 {
-    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-    [[WebIconDatabase sharedIconDatabase] _sendDidRemoveAllIconsNotification];
-    [pool drain];
 }
 
 void WebIconDatabaseClient::didImportIconURLForPageURL(const String& pageURL)
 {
-    // This is a quick notification that is likely to fire in a rapidly iterating loop
-    // Therefore we let WebCore handle autorelease by draining its pool "from time to time"
-    // instead of us doing it every iteration
-    [[WebIconDatabase sharedIconDatabase] _sendNotificationForURL:pageURL];
 }
 
 void WebIconDatabaseClient::didImportIconDataForPageURL(const String& pageURL)

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (219694 => 219695)


--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2017-07-20 18:07:30 UTC (rev 219695)
@@ -73,7 +73,7 @@
 #import "WebHTMLRepresentation.h"
 #import "WebHTMLViewInternal.h"
 #import "WebHistoryItemInternal.h"
-#import "WebIconDatabaseInternal.h"
+#import "WebIconDatabase.h"
 #import "WebInspector.h"
 #import "WebInspectorClient.h"
 #import "WebKitErrors.h"
@@ -6224,12 +6224,6 @@
 
     _private->frameLoadDelegate = delegate;
     [self _cacheFrameLoadDelegateImplementations];
-
-#if ENABLE(ICONDATABASE)
-    // If this delegate wants callbacks for icons, fire up the icon database.
-    if (_private->frameLoadDelegateImplementations.didReceiveIconForFrameFunc)
-        [WebIconDatabase sharedIconDatabase];
-#endif
 }
 
 - (id)frameLoadDelegate
@@ -6986,8 +6980,11 @@
 
     if (auto *icon = _private->_mainFrameIcon.get())
         return icon;
-    
+
+#pragma GCC diagnostic push 
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
     return [[WebIconDatabase sharedIconDatabase] defaultIconWithSize:WebIconSmallSize];
+#pragma GCC diagnostic pop
 }
 
 - (void)_setMainFrameIcon:(NSImage *)icon

Modified: trunk/Tools/ChangeLog (219694 => 219695)


--- trunk/Tools/ChangeLog	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Tools/ChangeLog	2017-07-20 18:07:30 UTC (rev 219695)
@@ -1,3 +1,12 @@
+2017-07-20  Brady Eidson  <beid...@apple.com>
+
+        Deprecate WebIconDatabase in WebKitLegacy/mac.
+        https://bugs.webkit.org/show_bug.cgi?id=174607
+
+        Reviewed by Alex Christensen.
+
+        * DumpRenderTree/mac/TestRunnerMac.mm:
+
 2017-07-20  Jonathan Bedard  <jbed...@apple.com>
 
         lint-test-expectations should be run during style checking

Modified: trunk/Tools/DumpRenderTree/mac/TestRunnerMac.mm (219694 => 219695)


--- trunk/Tools/DumpRenderTree/mac/TestRunnerMac.mm	2017-07-20 17:45:46 UTC (rev 219694)
+++ trunk/Tools/DumpRenderTree/mac/TestRunnerMac.mm	2017-07-20 18:07:30 UTC (rev 219695)
@@ -79,7 +79,6 @@
 #import <wtf/RetainPtr.h>
 
 #if !PLATFORM(IOS)
-#import <WebKit/WebIconDatabasePrivate.h>
 #import <wtf/SoftLinking.h>
 #endif
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to