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
- trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
- trunk/Source/WebKitLegacy/mac/ChangeLog
- trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig
- trunk/Source/WebKitLegacy/mac/History/WebHistoryItem.mm
- trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabase.h
- trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabase.mm
- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm
- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebIconDatabaseClient.mm
- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm
- trunk/Tools/ChangeLog
- trunk/Tools/DumpRenderTree/mac/TestRunnerMac.mm
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