Title: [262826] trunk/Source
Revision
262826
Author
[email protected]
Date
2020-06-09 17:05:48 -0700 (Tue, 09 Jun 2020)

Log Message

Stop using discriminatory names for WebGL and Plugin blocking
https://bugs.webkit.org/show_bug.cgi?id=213000

Reviewed by Simon Fraser.

Source/WebCore:

* SourcesCocoa.txt:
* WebCore.xcodeproj/project.pbxproj:
* platform/mac/BlocklistUpdater.h: Renamed from Source/WebCore/platform/mac/BlacklistUpdater.h.
(WebCore::BlocklistUpdater::pluginBlocklist):
(WebCore::BlocklistUpdater::webGLBlocklist):
* platform/mac/BlocklistUpdater.mm: Renamed from Source/WebCore/platform/mac/BlacklistUpdater.mm.
(WebCore::BlocklistUpdater::readBlocklistData):
(WebCore::BlocklistUpdater::reloadIfNecessary):
(WebCore::BlocklistUpdater::initializeQueue):
* platform/mac/PluginBlocklist.h: Renamed from Source/WebCore/platform/mac/PluginBlacklist.h.
* platform/mac/PluginBlocklist.mm: Renamed from Source/WebCore/platform/mac/PluginBlacklist.mm.
(WebCore::PluginBlocklist::loadPolicyForPluginVersion):
(WebCore::PluginBlocklist::isPluginUpdateAvailable):
(WebCore::PluginBlocklist::create):
(WebCore::PluginBlocklist::~PluginBlocklist):
(WebCore::PluginBlocklist::splitOSVersion):
(WebCore::PluginBlocklist::loadPolicyForPlugin const):
(WebCore::PluginBlocklist::isUpdateAvailable const):
(WebCore::PluginBlocklist::PluginBlocklist):
* platform/mac/WebGLBlocklist.h: Renamed from Source/WebCore/platform/mac/WebGLBlacklist.h.
* platform/mac/WebGLBlocklist.mm: Renamed from Source/WebCore/platform/mac/WebGLBlacklist.mm.
(WebCore::buildInfoFromOSBuildString):
(WebCore::WebGLBlocklist::shouldBlockWebGL):
(WebCore::WebGLBlocklist::shouldSuggestBlockingWebGL):
(WebCore::matchesBuildInfo):
(WebCore::WebGLBlocklist::create):
(WebCore::WebGLBlocklist::shouldBlock const):
(WebCore::WebGLBlocklist::shouldSuggestBlocking const):
(WebCore::WebGLBlocklist::WebGLBlocklist):
(WebCore::WebGLBlocklist::~WebGLBlocklist):

Source/WebKit:

* Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
(WebKit::getPlatformPluginModuleInformation):
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextIsPlugInUpdateAvailable):
(WKContextShouldBlockWebGL):
(WKContextShouldSuggestBlockWebGL):
* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):

Source/WebKitLegacy/mac:

* WebCoreSupport/WebFrameLoaderClient.mm:
(shouldBlockPlugin):
(shouldBlockWebGL):

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (262825 => 262826)


--- trunk/Source/WebCore/ChangeLog	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebCore/ChangeLog	2020-06-10 00:05:48 UTC (rev 262826)
@@ -1,3 +1,41 @@
+2020-06-09  Dean Jackson  <[email protected]>
+
+        Stop using discriminatory names for WebGL and Plugin blocking
+        https://bugs.webkit.org/show_bug.cgi?id=213000
+
+        Reviewed by Simon Fraser.
+
+        * SourcesCocoa.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * platform/mac/BlocklistUpdater.h: Renamed from Source/WebCore/platform/mac/BlacklistUpdater.h.
+        (WebCore::BlocklistUpdater::pluginBlocklist):
+        (WebCore::BlocklistUpdater::webGLBlocklist):
+        * platform/mac/BlocklistUpdater.mm: Renamed from Source/WebCore/platform/mac/BlacklistUpdater.mm.
+        (WebCore::BlocklistUpdater::readBlocklistData):
+        (WebCore::BlocklistUpdater::reloadIfNecessary):
+        (WebCore::BlocklistUpdater::initializeQueue):
+        * platform/mac/PluginBlocklist.h: Renamed from Source/WebCore/platform/mac/PluginBlacklist.h.
+        * platform/mac/PluginBlocklist.mm: Renamed from Source/WebCore/platform/mac/PluginBlacklist.mm.
+        (WebCore::PluginBlocklist::loadPolicyForPluginVersion):
+        (WebCore::PluginBlocklist::isPluginUpdateAvailable):
+        (WebCore::PluginBlocklist::create):
+        (WebCore::PluginBlocklist::~PluginBlocklist):
+        (WebCore::PluginBlocklist::splitOSVersion):
+        (WebCore::PluginBlocklist::loadPolicyForPlugin const):
+        (WebCore::PluginBlocklist::isUpdateAvailable const):
+        (WebCore::PluginBlocklist::PluginBlocklist):
+        * platform/mac/WebGLBlocklist.h: Renamed from Source/WebCore/platform/mac/WebGLBlacklist.h.
+        * platform/mac/WebGLBlocklist.mm: Renamed from Source/WebCore/platform/mac/WebGLBlacklist.mm.
+        (WebCore::buildInfoFromOSBuildString):
+        (WebCore::WebGLBlocklist::shouldBlockWebGL):
+        (WebCore::WebGLBlocklist::shouldSuggestBlockingWebGL):
+        (WebCore::matchesBuildInfo):
+        (WebCore::WebGLBlocklist::create):
+        (WebCore::WebGLBlocklist::shouldBlock const):
+        (WebCore::WebGLBlocklist::shouldSuggestBlocking const):
+        (WebCore::WebGLBlocklist::WebGLBlocklist):
+        (WebCore::WebGLBlocklist::~WebGLBlocklist):
+
 2020-06-09  Simon Fraser  <[email protected]>
 
         Logging and tree dumping crash fix

Modified: trunk/Source/WebCore/SourcesCocoa.txt (262825 => 262826)


--- trunk/Source/WebCore/SourcesCocoa.txt	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebCore/SourcesCocoa.txt	2020-06-10 00:05:48 UTC (rev 262826)
@@ -448,7 +448,7 @@
 platform/ios/wak/WKGraphics.mm
 platform/ios/wak/WKView.mm
 
-platform/mac/BlacklistUpdater.mm
+platform/mac/BlocklistUpdater.mm
 platform/mac/CursorMac.mm @no-unify
 platform/mac/KeyEventMac.mm @no-unify
 platform/mac/PlaybackSessionInterfaceMac.mm @no-unify
@@ -463,7 +463,7 @@
 platform/mac/PlatformPasteboardMac.mm
 platform/mac/PlatformScreenMac.mm
 platform/mac/PlatformSpeechSynthesizerMac.mm
-platform/mac/PluginBlacklist.mm
+platform/mac/PluginBlocklist.mm
 platform/mac/PublicSuffixMac.mm
 platform/mac/PowerObserverMac.cpp
 platform/mac/RemoteCommandListenerMac.mm
@@ -486,7 +486,7 @@
 platform/mac/WebCoreNSFontManagerExtras.mm
 platform/mac/WebCoreNSURLExtras.mm
 platform/mac/WebCoreObjCExtras.mm
-platform/mac/WebGLBlacklist.mm
+platform/mac/WebGLBlocklist.mm
 platform/mac/WebNSAttributedStringExtras.mm
 platform/mac/WebPlaybackControlsManager.mm
 platform/mac/WidgetMac.mm

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (262825 => 262826)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2020-06-10 00:05:48 UTC (rev 262826)
@@ -75,9 +75,7 @@
 		066C772B0AB603B700238CC4 /* FileChooser.h in Headers */ = {isa = PBXBuildFile; fileRef = 066C772A0AB603B700238CC4 /* FileChooser.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		066C77310AB603FD00238CC4 /* RenderFileUploadControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 066C772F0AB603FD00238CC4 /* RenderFileUploadControl.h */; };
 		06E81ED70AB5D5E900C87837 /* LocalCurrentGraphicsContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 06E81ED60AB5D5E900C87837 /* LocalCurrentGraphicsContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		070334D31459FFAD008D8D45 /* TrackEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 070334D01459FFAC008D8D45 /* TrackEvent.cpp */; };
 		070334D71459FFD5008D8D45 /* TrackBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 070334D61459FFD5008D8D45 /* TrackBase.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		070334D9145A006F008D8D45 /* TrackBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 070334D8145A006F008D8D45 /* TrackBase.cpp */; };
 		070363E2181A1CDC00C074A5 /* AVCaptureDeviceManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 070363DA181A1CDC00C074A5 /* AVCaptureDeviceManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		070363E3181A1CDC00C074A5 /* AVCaptureDeviceManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 070363DB181A1CDC00C074A5 /* AVCaptureDeviceManager.mm */; };
 		070363E6181A1CDC00C074A5 /* AVVideoCaptureSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 070363DE181A1CDC00C074A5 /* AVVideoCaptureSource.h */; };
@@ -100,7 +98,6 @@
 		070E81D11BF27656001FDA48 /* VideoTrackPrivateMediaStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 070E81D01BF27656001FDA48 /* VideoTrackPrivateMediaStream.h */; };
 		070F549817F12F6B00169E04 /* MediaStreamConstraintsValidationClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 070F549717F12F6B00169E04 /* MediaStreamConstraintsValidationClient.h */; };
 		0719427F1D088F21002AA51D /* AVAssetMIMETypeCache.mm in Sources */ = {isa = PBXBuildFile; fileRef = 07C8AD111D073D630087C5CE /* AVAssetMIMETypeCache.mm */; };
-		071A9EC2168FBC43002629F9 /* TextTrackCueGeneric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 071A9EC0168FB56C002629F9 /* TextTrackCueGeneric.cpp */; };
 		071A9EC3168FBC55002629F9 /* TextTrackCueGeneric.h in Headers */ = {isa = PBXBuildFile; fileRef = 071A9EC1168FB56C002629F9 /* TextTrackCueGeneric.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		071E496E1AD5AA0D008A50B4 /* MediaPlaybackTargetCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 071E496D1AD5AA0D008A50B4 /* MediaPlaybackTargetCocoa.mm */; };
 		071E49701AD5AB5E008A50B4 /* MediaPlaybackTargetCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 071E496F1AD5AB5E008A50B4 /* MediaPlaybackTargetCocoa.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -124,9 +121,7 @@
 		073A15542177A42600EA08F2 /* RemoteVideoSample.h in Headers */ = {isa = PBXBuildFile; fileRef = 073A15532177A39A00EA08F2 /* RemoteVideoSample.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		073B87671E4385AC0071C0EC /* AudioSampleBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 073B87631E43859D0071C0EC /* AudioSampleBufferList.h */; };
 		073B87691E4385AC0071C0EC /* AudioSampleDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 073B87651E43859D0071C0EC /* AudioSampleDataSource.h */; };
-		073BDC051F68436100EE34ED /* TrackPrivateBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 076E11BE1F683E0D00177395 /* TrackPrivateBase.cpp */; };
 		074E82BB18A69F0E007EF54C /* PlatformTimeRanges.h in Headers */ = {isa = PBXBuildFile; fileRef = 074E82B918A69F0E007EF54C /* PlatformTimeRanges.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		0753860214489E9800B78452 /* CachedTextTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0753860014489E9800B78452 /* CachedTextTrack.cpp */; };
 		0753860314489E9800B78452 /* CachedTextTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 0753860114489E9800B78452 /* CachedTextTrack.h */; };
 		0754A5EA215EA3B8002D3A99 /* RealtimeMediaSourceFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 0754A5E8215EA3B7002D3A99 /* RealtimeMediaSourceFactory.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0757B13E214AE79900794B0D /* VideoPreset.h in Headers */ = {isa = PBXBuildFile; fileRef = 0757B13C214AE79700794B0D /* VideoPreset.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -133,7 +128,6 @@
 		07611DC12440E59B00D80704 /* MediaUsageInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 07611DB8243FB75C00D80704 /* MediaUsageInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		07638A991884487200E15A1B /* MediaSessionManagerIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 07638A971884487200E15A1B /* MediaSessionManagerIOS.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		07638A9A1884487200E15A1B /* MediaSessionManagerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 07638A981884487200E15A1B /* MediaSessionManagerIOS.mm */; };
-		076970861463AD8700F502CF /* TextTrackList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 076970841463AD8700F502CF /* TextTrackList.cpp */; };
 		076970871463AD8700F502CF /* TextTrackList.h in Headers */ = {isa = PBXBuildFile; fileRef = 076970851463AD8700F502CF /* TextTrackList.h */; };
 		076D1C1F23F6EB5B00D95B06 /* SerializedPlatformDataCueValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 076D1C1D23F6D9D800D95B06 /* SerializedPlatformDataCueValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		076F0D0E12B8192700C26AA4 /* MediaPlayerPrivateAVFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 076F0D0A12B8192700C26AA4 /* MediaPlayerPrivateAVFoundation.h */; };
@@ -178,7 +172,6 @@
 		078E43DE1ABB6F6F001C2FA6 /* MediaPlaybackTargetPickerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 078E43DC1ABB6F6F001C2FA6 /* MediaPlaybackTargetPickerMac.mm */; };
 		078ED193216D079500775B33 /* ImageTransferSessionVT.h in Headers */ = {isa = PBXBuildFile; fileRef = 0746D30C2146EA38003DDF84 /* ImageTransferSessionVT.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		079216551AA560AA00A3C049 /* MediaPlaybackTargetClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 079216531AA560AA00A3C049 /* MediaPlaybackTargetClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		07941791166E855F009416C2 /* InbandTextTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0794178F166E855F009416C2 /* InbandTextTrack.cpp */; };
 		07941792166E855F009416C2 /* InbandTextTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 07941790166E855F009416C2 /* InbandTextTrack.h */; };
 		07941794166EA04E009416C2 /* InbandTextTrackPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 07941793166EA04E009416C2 /* InbandTextTrackPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		07969DAC17D14151007FF842 /* JSRTCDataChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 07969D9217D14151007FF842 /* JSRTCDataChannel.h */; };
@@ -602,8 +595,8 @@
 		1AF89A421518FDEA00E547B5 /* TiledBacking.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AF89A411518FDEA00E547B5 /* TiledBacking.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		1AF8E11A1256592600230FF7 /* ProxyServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AF8E1191256592600230FF7 /* ProxyServer.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		1AFE119A0CBFFCC4003017FA /* JSSQLResultSetRowList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AFE11980CBFFCC4003017FA /* JSSQLResultSetRowList.h */; };
-		1AFFC4581D5E865500267A66 /* WebGLBlacklist.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AFFC4511D5E7EC700267A66 /* WebGLBlacklist.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		1AFFC4591D5E866100267A66 /* PluginBlacklist.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AFFC44F1D5E7EC700267A66 /* PluginBlacklist.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		1AFFC4581D5E865500267A66 /* WebGLBlocklist.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AFFC4511D5E7EC700267A66 /* WebGLBlocklist.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		1AFFC4591D5E866100267A66 /* PluginBlocklist.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AFFC44F1D5E7EC700267A66 /* PluginBlocklist.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		1B124D8D1D380B7000ECDFB0 /* MediaSampleAVFObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B124D8C1D380B7000ECDFB0 /* MediaSampleAVFObjC.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		1B124D8F1D380BB600ECDFB0 /* MediaSampleAVFObjC.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1B124D8E1D380BB600ECDFB0 /* MediaSampleAVFObjC.mm */; };
 		1BF9DB3C1D3973AD0026AEB7 /* MediaSample.h in Headers */ = {isa = PBXBuildFile; fileRef = CD641EC7181ED60100EE4C41 /* MediaSample.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -1919,7 +1912,6 @@
 		5CDD83641E4325A000621E92 /* LibWebRTCDataChannelHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CDD833F1E43253D00621E92 /* LibWebRTCDataChannelHandler.cpp */; };
 		5CDFA6C81AA4F2DA00EA8746 /* ContentExtensionActions.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CDFA6C71AA4F2DA00EA8746 /* ContentExtensionActions.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		5CEEE4361F5F8F210014A5F5 /* RectEdges.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C97A3361F5F7A6500105207 /* RectEdges.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		5D21A80213ECE5DF00BB7064 /* WebVTTParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D21A80013ECE5DF00BB7064 /* WebVTTParser.cpp */; };
 		5D21A80313ECE5DF00BB7064 /* WebVTTParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D21A80113ECE5DF00BB7064 /* WebVTTParser.h */; };
 		5D5975B319635F1100D00878 /* SystemVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D5975B119635F1100D00878 /* SystemVersion.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		5D925B680F64D4DD00B847F0 /* ScrollAlignment.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D925B660F64D4DD00B847F0 /* ScrollAlignment.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -2191,7 +2183,6 @@
 		7A1D7FCB18F85F0F00C385AD /* mediaControlsLocalizedStrings.js in Resources */ = {isa = PBXBuildFile; fileRef = 7A1D7FC918F85F0F00C385AD /* mediaControlsLocalizedStrings.js */; };
 		7A22732120C9FAFE00DB1DEF /* WebKitNSImageExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A22731F20C9F9DA00DB1DEF /* WebKitNSImageExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		7A29F57218C69514004D0F81 /* OutOfBandTextTrackPrivateAVF.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A29F57118C69514004D0F81 /* OutOfBandTextTrackPrivateAVF.h */; };
-		7A45032F18DB717200377B34 /* BufferedLineReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A45032D18DB717200377B34 /* BufferedLineReader.cpp */; };
 		7A45033018DB717200377B34 /* BufferedLineReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A45032E18DB717200377B34 /* BufferedLineReader.h */; };
 		7A54858014E02D51006AE05A /* InspectorHistory.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A54857E14E02D51006AE05A /* InspectorHistory.h */; };
 		7A54881714E432A1006AE05A /* DOMPatchSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A54881514E432A1006AE05A /* DOMPatchSupport.h */; };
@@ -2199,7 +2190,6 @@
 		7A5699702086C619000E0433 /* CookieRequestHeaderFieldProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A56996E2086C618000E0433 /* CookieRequestHeaderFieldProxy.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		7A674BDC0F9EBF4E006CF099 /* PageGroupLoadDeferrer.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A674BDA0F9EBF4E006CF099 /* PageGroupLoadDeferrer.h */; };
 		7A929CA71C598AA9004DF226 /* ResourceLoadStatistics.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A929CA21C598378004DF226 /* ResourceLoadStatistics.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		7A93868518DCC14500B8263D /* VTTScanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A93868218DCC14500B8263D /* VTTScanner.cpp */; };
 		7A93868618DCC14500B8263D /* VTTScanner.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A93868318DCC14500B8263D /* VTTScanner.h */; };
 		7AA3A69A194A64E7001CBD24 /* TileController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AA3A696194A64E7001CBD24 /* TileController.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		7AA3A69C194A64E7001CBD24 /* TileGrid.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AA3A698194A64E7001CBD24 /* TileGrid.h */; };
@@ -2210,9 +2200,7 @@
 		7ADE722610CBBB9B006B3B3A /* ContextMenuProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ADE722510CBBB9B006B3B3A /* ContextMenuProvider.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		7AE335F21ACB09E200E401EF /* WheelEventTestMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AE335F01ACB09E200E401EF /* WheelEventTestMonitor.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		7AE6C93C1BE0C60100E19E03 /* MainThreadSharedTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AE6C93A1BE0C60100E19E03 /* MainThreadSharedTimer.h */; };
-		7AF9B20218CFB2DF00C64BEF /* VTTRegion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7AF9B1FC18CFB2DF00C64BEF /* VTTRegion.cpp */; };
 		7AF9B20318CFB2DF00C64BEF /* VTTRegion.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF9B1FD18CFB2DF00C64BEF /* VTTRegion.h */; };
-		7AF9B20518CFB2DF00C64BEF /* VTTRegionList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7AF9B1FF18CFB2DF00C64BEF /* VTTRegionList.cpp */; };
 		7AF9B20618CFB2DF00C64BEF /* VTTRegionList.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF9B20018CFB2DF00C64BEF /* VTTRegionList.h */; };
 		7AF9B20D18CFB5F400C64BEF /* JSVTTRegion.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF9B20918CFB5F200C64BEF /* JSVTTRegion.h */; };
 		7AF9B20F18CFB5F400C64BEF /* JSVTTRegionList.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF9B20B18CFB5F300C64BEF /* JSVTTRegionList.h */; };
@@ -2823,12 +2811,8 @@
 		974A862314B7ADBB003FDC76 /* FrameDestructionObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 974A862114B7ADBB003FDC76 /* FrameDestructionObserver.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		974D2DA5146A535D00D51F8B /* SecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 974D2DA3146A535D00D51F8B /* SecurityPolicy.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		9752D38E1413104B003305BD /* JSHTMLSpanElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 9752D38C1413104B003305BD /* JSHTMLSpanElement.h */; };
-		9759E93E14EF1CF80026A2DD /* LoadableTextTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9759E93414EF1CF80026A2DD /* LoadableTextTrack.cpp */; };
-		9759E93F14EF1CF80026A2DD /* TextTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9759E93514EF1CF80026A2DD /* TextTrack.cpp */; };
 		9759E94014EF1CF80026A2DD /* TextTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 9759E93614EF1CF80026A2DD /* TextTrack.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		9759E94214EF1CF80026A2DD /* TextTrackCue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9759E93814EF1CF80026A2DD /* TextTrackCue.cpp */; };
 		9759E94314EF1CF80026A2DD /* TextTrackCue.h in Headers */ = {isa = PBXBuildFile; fileRef = 9759E93914EF1CF80026A2DD /* TextTrackCue.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		9759E94514EF1CF80026A2DD /* TextTrackCueList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9759E93B14EF1CF80026A2DD /* TextTrackCueList.cpp */; };
 		9759E94614EF1CF80026A2DD /* TextTrackCueList.h in Headers */ = {isa = PBXBuildFile; fileRef = 9759E93C14EF1CF80026A2DD /* TextTrackCueList.h */; };
 		9759E94914EF1D490026A2DD /* LoadableTextTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 9759E94814EF1D490026A2DD /* LoadableTextTrack.h */; };
 		975CA28B130365F800E99AD9 /* Crypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 975CA288130365F800E99AD9 /* Crypto.h */; };
@@ -3471,7 +3455,6 @@
 		ADDF1AD71257CD9A0003A759 /* RenderSVGPath.h in Headers */ = {isa = PBXBuildFile; fileRef = ADDF1AD51257CD9A0003A759 /* RenderSVGPath.h */; };
 		ADEC78F818EE5308001315C2 /* JSElementCustom.h in Headers */ = {isa = PBXBuildFile; fileRef = ADEC78F718EE5308001315C2 /* JSElementCustom.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		B10B6980140C174000BC1C26 /* WebVTTToken.h in Headers */ = {isa = PBXBuildFile; fileRef = B10B697D140C174000BC1C26 /* WebVTTToken.h */; };
-		B10B6981140C174000BC1C26 /* WebVTTTokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B10B697E140C174000BC1C26 /* WebVTTTokenizer.cpp */; };
 		B10B6982140C174000BC1C26 /* WebVTTTokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = B10B697F140C174000BC1C26 /* WebVTTTokenizer.h */; };
 		B1AD4E7413A12A4600846B27 /* TextTrackLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = B1AD4E7213A12A4600846B27 /* TextTrackLoader.h */; };
 		B20111080AB7740500DB0E68 /* JSSVGAElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B20111060AB7740500DB0E68 /* JSSVGAElement.h */; };
@@ -3973,26 +3956,17 @@
 		BCFB2E5E0979E46400BA703D /* CachedResourceClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BCFB2E5D0979E46400BA703D /* CachedResourceClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		BCFF64910EAD15C200C1D6F7 /* LengthBox.h in Headers */ = {isa = PBXBuildFile; fileRef = BCFF648F0EAD15C200C1D6F7 /* LengthBox.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		BCFF64920EAD15C200C1D6F7 /* LengthSize.h in Headers */ = {isa = PBXBuildFile; fileRef = BCFF64900EAD15C200C1D6F7 /* LengthSize.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		BE16C59217CFE17200852C04 /* InbandGenericTextTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE16C58E17CFE17200852C04 /* InbandGenericTextTrack.cpp */; };
 		BE16C59317CFE17200852C04 /* InbandGenericTextTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = BE16C58F17CFE17200852C04 /* InbandGenericTextTrack.h */; };
-		BE16C59417CFE17200852C04 /* InbandWebVTTTextTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE16C59017CFE17200852C04 /* InbandWebVTTTextTrack.cpp */; };
 		BE16C59517CFE17200852C04 /* InbandWebVTTTextTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = BE16C59117CFE17200852C04 /* InbandWebVTTTextTrack.h */; };
-		BE20507918A458680080647E /* VTTCue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE20507618A458460080647E /* VTTCue.cpp */; };
 		BE20507A18A4586B0080647E /* VTTCue.h in Headers */ = {isa = PBXBuildFile; fileRef = BE20507718A458460080647E /* VTTCue.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		BE20507E18A458C20080647E /* RenderVTTCue.h in Headers */ = {isa = PBXBuildFile; fileRef = BE20507C18A458B10080647E /* RenderVTTCue.h */; };
 		BE20508218A460C30080647E /* JSVTTCue.h in Headers */ = {isa = PBXBuildFile; fileRef = BE20508018A460AA0080647E /* JSVTTCue.h */; };
-		BE23480C18A9870B00E4B6E8 /* DataCue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE23480918A9870300E4B6E8 /* DataCue.cpp */; };
 		BE23480D18A9871400E4B6E8 /* DataCue.h in Headers */ = {isa = PBXBuildFile; fileRef = BE23480A18A9870300E4B6E8 /* DataCue.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		BE61039E18A9D65A00DD50D7 /* JSDataCue.h in Headers */ = {isa = PBXBuildFile; fileRef = BE61039C18A9D61200DD50D7 /* JSDataCue.h */; };
-		BE88E0C11715CE2600658D98 /* TrackListBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE88E0BF1715CE2600658D98 /* TrackListBase.cpp */; };
 		BE88E0C21715CE2600658D98 /* TrackListBase.h in Headers */ = {isa = PBXBuildFile; fileRef = BE88E0C01715CE2600658D98 /* TrackListBase.h */; };
-		BE88E0D81715D2A200658D98 /* AudioTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE88E0CC1715D2A200658D98 /* AudioTrack.cpp */; };
 		BE88E0D91715D2A200658D98 /* AudioTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = BE88E0CD1715D2A200658D98 /* AudioTrack.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		BE88E0DB1715D2A200658D98 /* AudioTrackList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE88E0CF1715D2A200658D98 /* AudioTrackList.cpp */; };
 		BE88E0DC1715D2A200658D98 /* AudioTrackList.h in Headers */ = {isa = PBXBuildFile; fileRef = BE88E0D01715D2A200658D98 /* AudioTrackList.h */; };
-		BE88E0DE1715D2A200658D98 /* VideoTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE88E0D21715D2A200658D98 /* VideoTrack.cpp */; };
 		BE88E0DF1715D2A200658D98 /* VideoTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = BE88E0D31715D2A200658D98 /* VideoTrack.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		BE88E0E11715D2A200658D98 /* VideoTrackList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE88E0D51715D2A200658D98 /* VideoTrackList.cpp */; };
 		BE88E0E21715D2A200658D98 /* VideoTrackList.h in Headers */ = {isa = PBXBuildFile; fileRef = BE88E0D61715D2A200658D98 /* VideoTrackList.h */; };
 		BE8EF043171C8FF9009B48C3 /* JSAudioTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = BE8EF03F171C8FF9009B48C3 /* JSAudioTrack.h */; };
 		BE8EF045171C8FF9009B48C3 /* JSAudioTrackList.h in Headers */ = {isa = PBXBuildFile; fileRef = BE8EF041171C8FF9009B48C3 /* JSAudioTrackList.h */; };
@@ -3999,7 +3973,6 @@
 		BE8EF04B171C9014009B48C3 /* JSVideoTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = BE8EF047171C9014009B48C3 /* JSVideoTrack.h */; };
 		BE8EF04D171C9014009B48C3 /* JSVideoTrackList.h in Headers */ = {isa = PBXBuildFile; fileRef = BE8EF049171C9014009B48C3 /* JSVideoTrackList.h */; };
 		BE913D80181EF92400DCB09E /* TrackPrivateBase.h in Headers */ = {isa = PBXBuildFile; fileRef = BE913D7F181EF8E500DCB09E /* TrackPrivateBase.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		BE961C5418AD338500D07DC5 /* InbandDataTextTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE961C5218AD337C00D07DC5 /* InbandDataTextTrack.cpp */; };
 		BE961C5518AD338C00D07DC5 /* InbandDataTextTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = BE961C5318AD337C00D07DC5 /* InbandDataTextTrack.h */; };
 		BEA807C90F714A0300524199 /* SelectionRect.h in Headers */ = {isa = PBXBuildFile; fileRef = BEA807C70F714A0300524199 /* SelectionRect.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		BEF29EEB1715DD0900C4B4C9 /* AudioTrackPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = BEF29EE91715DD0900C4B4C9 /* AudioTrackPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -4096,7 +4069,6 @@
 		CD19FEA81F573972000C42FB /* ImageDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = CD19FEA61F573972000C42FB /* ImageDecoder.h */; };
 		CD19FEAE1F574B6D000C42FB /* ImageDecoderAVFObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = CD19FEAC1F574B6D000C42FB /* ImageDecoderAVFObjC.h */; };
 		CD19FEAF1F574B6D000C42FB /* ImageDecoderAVFObjC.mm in Sources */ = {isa = PBXBuildFile; fileRef = CD19FEAD1F574B6D000C42FB /* ImageDecoderAVFObjC.mm */; };
-		CD1E7347167BC78E009A885D /* TextTrackRepresentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD1E7346167BC78E009A885D /* TextTrackRepresentation.cpp */; };
 		CD225C0B1C46FBF400140761 /* WebCoreNSURLSession.mm in Sources */ = {isa = PBXBuildFile; fileRef = CD225C091C46FBF400140761 /* WebCoreNSURLSession.mm */; };
 		CD225C0C1C46FBF400140761 /* WebCoreNSURLSession.h in Headers */ = {isa = PBXBuildFile; fileRef = CD225C0A1C46FBF400140761 /* WebCoreNSURLSession.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		CD27AE5022A9868700947FF9 /* ImageRotationSessionVT.h in Headers */ = {isa = PBXBuildFile; fileRef = CD27AE4E22A9868700947FF9 /* ImageRotationSessionVT.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -5058,7 +5030,6 @@
 		EDE3A5000C7A430600956A37 /* ColorMac.h in Headers */ = {isa = PBXBuildFile; fileRef = EDE3A4FF0C7A430600956A37 /* ColorMac.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		EDEC98030AED7E170059137F /* WebCorePrefix.h in Headers */ = {isa = PBXBuildFile; fileRef = EDEC98020AED7E170059137F /* WebCorePrefix.h */; };
 		EFCC6C8F20FE914400A2321B /* CanvasActivityRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = EFCC6C8D20FE914000A2321B /* CanvasActivityRecord.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		F12171F516A8CED2000053CA /* WebVTTElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F12171F316A8BC63000053CA /* WebVTTElement.cpp */; };
 		F12171F616A8CF0B000053CA /* WebVTTElement.h in Headers */ = {isa = PBXBuildFile; fileRef = F12171F416A8BC63000053CA /* WebVTTElement.h */; };
 		F32BDCD92363AACA0073B6AE /* UserGestureEmulationScope.h in Headers */ = {isa = PBXBuildFile; fileRef = F32BDCD72363AACA0073B6AE /* UserGestureEmulationScope.h */; };
 		F344C7141125B82C00F26EEE /* InspectorFrontendClient.h in Headers */ = {isa = PBXBuildFile; fileRef = F344C7121125B82C00F26EEE /* InspectorFrontendClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -6533,12 +6504,12 @@
 		1AF8E1C1125673E000230FF7 /* ProxyServerCFNet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProxyServerCFNet.cpp; sourceTree = "<group>"; };
 		1AFE11970CBFFCC4003017FA /* JSSQLResultSetRowList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSQLResultSetRowList.cpp; sourceTree = "<group>"; };
 		1AFE11980CBFFCC4003017FA /* JSSQLResultSetRowList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSQLResultSetRowList.h; sourceTree = "<group>"; };
-		1AFFC44D1D5E7EC700267A66 /* BlacklistUpdater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlacklistUpdater.h; sourceTree = "<group>"; };
-		1AFFC44E1D5E7EC700267A66 /* BlacklistUpdater.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BlacklistUpdater.mm; sourceTree = "<group>"; };
-		1AFFC44F1D5E7EC700267A66 /* PluginBlacklist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginBlacklist.h; sourceTree = "<group>"; };
-		1AFFC4501D5E7EC700267A66 /* PluginBlacklist.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PluginBlacklist.mm; sourceTree = "<group>"; };
-		1AFFC4511D5E7EC700267A66 /* WebGLBlacklist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGLBlacklist.h; sourceTree = "<group>"; };
-		1AFFC4521D5E7EC700267A66 /* WebGLBlacklist.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebGLBlacklist.mm; sourceTree = "<group>"; };
+		1AFFC44D1D5E7EC700267A66 /* BlocklistUpdater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlocklistUpdater.h; sourceTree = "<group>"; };
+		1AFFC44E1D5E7EC700267A66 /* BlocklistUpdater.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BlocklistUpdater.mm; sourceTree = "<group>"; };
+		1AFFC44F1D5E7EC700267A66 /* PluginBlocklist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginBlocklist.h; sourceTree = "<group>"; };
+		1AFFC4501D5E7EC700267A66 /* PluginBlocklist.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PluginBlocklist.mm; sourceTree = "<group>"; };
+		1AFFC4511D5E7EC700267A66 /* WebGLBlocklist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGLBlocklist.h; sourceTree = "<group>"; };
+		1AFFC4521D5E7EC700267A66 /* WebGLBlocklist.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebGLBlocklist.mm; sourceTree = "<group>"; };
 		1B124D8C1D380B7000ECDFB0 /* MediaSampleAVFObjC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSampleAVFObjC.h; sourceTree = "<group>"; };
 		1B124D8E1D380BB600ECDFB0 /* MediaSampleAVFObjC.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MediaSampleAVFObjC.mm; sourceTree = "<group>"; };
 		1BE5BFC11D515715001666D9 /* MediaConstraints.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaConstraints.cpp; sourceTree = "<group>"; };
@@ -20915,8 +20886,8 @@
 		6582A14809999D6C00BEEB6D /* mac */ = {
 			isa = PBXGroup;
 			children = (
-				1AFFC44D1D5E7EC700267A66 /* BlacklistUpdater.h */,
-				1AFFC44E1D5E7EC700267A66 /* BlacklistUpdater.mm */,
+				1AFFC44D1D5E7EC700267A66 /* BlocklistUpdater.h */,
+				1AFFC44E1D5E7EC700267A66 /* BlocklistUpdater.mm */,
 				F58784F002DE375901EA4122 /* CursorMac.mm */,
 				E1BA66F01742BD8600C20251 /* DynamicLinkerInterposing.h */,
 				935C476E09AC4D7300A6AAB4 /* KeyEventMac.mm */,
@@ -20939,8 +20910,8 @@
 				29E4D8E016B0959800C84704 /* PlatformSpeechSynthesizerMac.mm */,
 				CDA29A151CBDA56C00901CCF /* PlaybackSessionInterfaceMac.h */,
 				CDA29A141CBDA56C00901CCF /* PlaybackSessionInterfaceMac.mm */,
-				1AFFC44F1D5E7EC700267A66 /* PluginBlacklist.h */,
-				1AFFC4501D5E7EC700267A66 /* PluginBlacklist.mm */,
+				1AFFC44F1D5E7EC700267A66 /* PluginBlocklist.h */,
+				1AFFC4501D5E7EC700267A66 /* PluginBlocklist.mm */,
 				4634592B1AC2271000ECB71C /* PowerObserverMac.cpp */,
 				46DBB64E1AB8C96F00D9A813 /* PowerObserverMac.h */,
 				0081FEFE16B0A2B6008AAA7A /* PublicSuffixMac.mm */,
@@ -20980,8 +20951,8 @@
 				B50F5B800E96CD9900AD71A6 /* WebCoreObjCExtras.mm */,
 				BE855F7F0701E83500239769 /* WebCoreView.h */,
 				BE8560510701F91100239769 /* WebCoreView.m */,
-				1AFFC4511D5E7EC700267A66 /* WebGLBlacklist.h */,
-				1AFFC4521D5E7EC700267A66 /* WebGLBlacklist.mm */,
+				1AFFC4511D5E7EC700267A66 /* WebGLBlocklist.h */,
+				1AFFC4521D5E7EC700267A66 /* WebGLBlocklist.mm */,
 				E1A3162B134BC32D007C9A4F /* WebNSAttributedStringExtras.h */,
 				E1A3162C134BC32D007C9A4F /* WebNSAttributedStringExtras.mm */,
 				CD5896E01CD2B15100B3BCC8 /* WebPlaybackControlsManager.h */,
@@ -32536,7 +32507,7 @@
 				CDA29A171CBDA56C00901CCF /* PlaybackSessionInterfaceMac.h in Headers */,
 				CDA29A0B1CBD9A7400901CCF /* PlaybackSessionModel.h in Headers */,
 				CDA29A0F1CBD9CFE00901CCF /* PlaybackSessionModelMediaElement.h in Headers */,
-				1AFFC4591D5E866100267A66 /* PluginBlacklist.h in Headers */,
+				1AFFC4591D5E866100267A66 /* PluginBlocklist.h in Headers */,
 				31D591B316697A6C00E6BF02 /* PlugInClient.h in Headers */,
 				A9C6E4F40D745E48006442E9 /* PluginData.h in Headers */,
 				97205ABC1239292700B17380 /* PluginDocument.h in Headers */,
@@ -33703,7 +33674,7 @@
 				D3F3D36E1A69B7E00059FC2B /* WebGL2RenderingContext.h in Headers */,
 				A7D20F6D107F438B00A80392 /* WebGLActiveInfo.h in Headers */,
 				6E47E66110B7944B00B186C8 /* WebGLAny.h in Headers */,
-				1AFFC4581D5E865500267A66 /* WebGLBlacklist.h in Headers */,
+				1AFFC4581D5E865500267A66 /* WebGLBlocklist.h in Headers */,
 				49C7B9C91042D32F0009D447 /* WebGLBuffer.h in Headers */,
 				D08B00E420A282590004BC0A /* WebGLCompressedTextureASTC.h in Headers */,
 				7E66E23416D6EB6C00F7E7FF /* WebGLCompressedTextureATC.h in Headers */,

Deleted: trunk/Source/WebCore/platform/mac/BlacklistUpdater.h (262825 => 262826)


--- trunk/Source/WebCore/platform/mac/BlacklistUpdater.h	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebCore/platform/mac/BlacklistUpdater.h	2020-06-10 00:05:48 UTC (rev 262826)
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2014-2016 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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.
- */
-
-#pragma once
-
-#if PLATFORM(MAC)
-
-#import <dispatch/dispatch.h>
-
-namespace WebCore {
-
-class PluginBlacklist;
-class WebGLBlacklist;
-
-class BlacklistUpdater {
-public:
-    static void initializeQueue();
-    static void reloadIfNecessary();
-
-    static dispatch_queue_t queue() { return s_queue; }
-    static PluginBlacklist* pluginBlacklist() { return s_pluginBlacklist; }
-    static WebGLBlacklist* webGLBlacklist() { return s_webGLBlacklist; };
-
-private:
-
-    static NSDictionary *readBlacklistData();
-
-    static dispatch_queue_t s_queue;
-    static PluginBlacklist* s_pluginBlacklist;
-    static WebGLBlacklist* s_webGLBlacklist;
-};
-
-}
-
-#endif

Deleted: trunk/Source/WebCore/platform/mac/BlacklistUpdater.mm (262825 => 262826)


--- trunk/Source/WebCore/platform/mac/BlacklistUpdater.mm	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebCore/platform/mac/BlacklistUpdater.mm	2020-06-10 00:05:48 UTC (rev 262826)
@@ -1,114 +0,0 @@
-/*
- * Copyright (C) 2014-2016 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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 "config.h"
-#import "BlacklistUpdater.h"
-
-#if PLATFORM(MAC)
-
-#import "PluginBlacklist.h"
-#import "WebGLBlacklist.h"
-#import <sys/stat.h>
-#import <sys/time.h>
-#import <wtf/RetainPtr.h>
-
-// The time after which we'll check the blacklist data.
-static time_t blacklistNextCheckTime;
-
-// The number of seconds before we'll check if the blacklist data has changed.
-const time_t blacklistCheckTimeInterval = 60 * 10;
-
-// The time when we last re-parsed the blacklist file.
-static time_t blacklistUpdateTime;
-
-#if HAVE(READ_ONLY_SYSTEM_VOLUME)
-NSString * const blacklistPath = @"/Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Resources/XProtect.meta.plist";
-#else
-NSString * const blacklistPath = @"/System/Library/CoreServices/XProtect.bundle/Contents/Resources/XProtect.meta.plist";
-#endif
-
-namespace WebCore {
-
-dispatch_queue_t BlacklistUpdater::s_queue;
-
-PluginBlacklist* BlacklistUpdater::s_pluginBlacklist = nullptr;
-WebGLBlacklist* BlacklistUpdater::s_webGLBlacklist = nullptr;
-
-NSDictionary * BlacklistUpdater::readBlacklistData()
-{
-    NSData *data = "" dataWithContentsOfFile:blacklistPath];
-    if (!data)
-        return nil;
-
-    return dynamic_objc_cast<NSDictionary>([NSPropertyListSerialization propertyListWithData:data options:NSPropertyListImmutable format:nullptr error:nullptr]);
-}
-
-void BlacklistUpdater::reloadIfNecessary()
-{
-    struct timeval timeVal;
-    if (!gettimeofday(&timeVal, NULL)) {
-        if (timeVal.tv_sec < blacklistNextCheckTime)
-            return;
-    }
-
-    blacklistNextCheckTime = timeVal.tv_sec + blacklistCheckTimeInterval;
-
-    struct stat statBuf;
-    if (stat([blacklistPath fileSystemRepresentation], &statBuf) == -1)
-        return;
-
-    if (statBuf.st_mtimespec.tv_sec == blacklistUpdateTime)
-        return;
-    NSDictionary *propertyList = readBlacklistData();
-    if (!propertyList)
-        return;
-
-    if (s_pluginBlacklist) {
-        delete s_pluginBlacklist;
-        s_pluginBlacklist = 0;
-    }
-
-    if (s_webGLBlacklist) {
-        delete s_webGLBlacklist;
-        s_webGLBlacklist = 0;
-    }
-
-    s_pluginBlacklist = PluginBlacklist::create(propertyList).release();
-    s_webGLBlacklist = WebGLBlacklist::create(propertyList).release();
-
-    blacklistUpdateTime = statBuf.st_mtimespec.tv_sec;
-}
-
-void BlacklistUpdater::initializeQueue()
-{
-    static dispatch_once_t once;
-    dispatch_once(&once, ^{
-        s_queue = dispatch_queue_create("com.apple.WebKit.Blacklist", 0);
-    });
-}
-
-}
-
-#endif

Copied: trunk/Source/WebCore/platform/mac/BlocklistUpdater.h (from rev 262825, trunk/Source/WebCore/platform/mac/BlacklistUpdater.h) (0 => 262826)


--- trunk/Source/WebCore/platform/mac/BlocklistUpdater.h	                        (rev 0)
+++ trunk/Source/WebCore/platform/mac/BlocklistUpdater.h	2020-06-10 00:05:48 UTC (rev 262826)
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2014-2020 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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.
+ */
+
+#pragma once
+
+#if PLATFORM(MAC)
+
+#import <dispatch/dispatch.h>
+
+namespace WebCore {
+
+class PluginBlocklist;
+class WebGLBlocklist;
+
+class BlocklistUpdater {
+public:
+    static void initializeQueue();
+    static void reloadIfNecessary();
+
+    static dispatch_queue_t queue() { return s_queue; }
+    static PluginBlocklist* pluginBlocklist() { return s_pluginBlocklist; }
+    static WebGLBlocklist* webGLBlocklist() { return s_webGLBlocklist; };
+
+private:
+
+    static NSDictionary *readBlocklistData();
+
+    static dispatch_queue_t s_queue;
+    static PluginBlocklist* s_pluginBlocklist;
+    static WebGLBlocklist* s_webGLBlocklist;
+};
+
+}
+
+#endif

Property changes: trunk/Source/WebCore/platform/mac/BlocklistUpdater.h


Added: svn:eol-style

+native \ No newline at end of property

Added: svn:keywords

+Date Author Id Revision HeadURL \ No newline at end of property

Copied: trunk/Source/WebCore/platform/mac/BlocklistUpdater.mm (from rev 262825, trunk/Source/WebCore/platform/mac/BlacklistUpdater.mm) (0 => 262826)


--- trunk/Source/WebCore/platform/mac/BlocklistUpdater.mm	                        (rev 0)
+++ trunk/Source/WebCore/platform/mac/BlocklistUpdater.mm	2020-06-10 00:05:48 UTC (rev 262826)
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) 2014-2016 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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 "config.h"
+#import "BlocklistUpdater.h"
+
+#if PLATFORM(MAC)
+
+#import "PluginBlocklist.h"
+#import "WebGLBlocklist.h"
+#import <sys/stat.h>
+#import <sys/time.h>
+#import <wtf/RetainPtr.h>
+
+// The time after which we'll check the blocklist data.
+static time_t blocklistNextCheckTime;
+
+// The number of seconds before we'll check if the blocklist data has changed.
+const time_t blocklistCheckTimeInterval = 60 * 10;
+
+// The time when we last re-parsed the blocklist file.
+static time_t blocklistUpdateTime;
+
+#if HAVE(READ_ONLY_SYSTEM_VOLUME)
+NSString * const blocklistPath = @"/Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Resources/XProtect.meta.plist";
+#else
+NSString * const blocklistPath = @"/System/Library/CoreServices/XProtect.bundle/Contents/Resources/XProtect.meta.plist";
+#endif
+
+namespace WebCore {
+
+dispatch_queue_t BlocklistUpdater::s_queue;
+
+PluginBlocklist* BlocklistUpdater::s_pluginBlocklist = nullptr;
+WebGLBlocklist* BlocklistUpdater::s_webGLBlocklist = nullptr;
+
+NSDictionary * BlocklistUpdater::readBlocklistData()
+{
+    NSData *data = "" dataWithContentsOfFile:blocklistPath];
+    if (!data)
+        return nil;
+
+    return dynamic_objc_cast<NSDictionary>([NSPropertyListSerialization propertyListWithData:data options:NSPropertyListImmutable format:nullptr error:nullptr]);
+}
+
+void BlocklistUpdater::reloadIfNecessary()
+{
+    struct timeval timeVal;
+    if (!gettimeofday(&timeVal, NULL)) {
+        if (timeVal.tv_sec < blocklistNextCheckTime)
+            return;
+    }
+
+    blocklistNextCheckTime = timeVal.tv_sec + blocklistCheckTimeInterval;
+
+    struct stat statBuf;
+    if (stat([blocklistPath fileSystemRepresentation], &statBuf) == -1)
+        return;
+
+    if (statBuf.st_mtimespec.tv_sec == blocklistUpdateTime)
+        return;
+    NSDictionary *propertyList = readBlocklistData();
+    if (!propertyList)
+        return;
+
+    if (s_pluginBlocklist) {
+        delete s_pluginBlocklist;
+        s_pluginBlocklist = 0;
+    }
+
+    if (s_webGLBlocklist) {
+        delete s_webGLBlocklist;
+        s_webGLBlocklist = 0;
+    }
+
+    s_pluginBlocklist = PluginBlocklist::create(propertyList).release();
+    s_webGLBlocklist = WebGLBlocklist::create(propertyList).release();
+
+    blocklistUpdateTime = statBuf.st_mtimespec.tv_sec;
+}
+
+void BlocklistUpdater::initializeQueue()
+{
+    static dispatch_once_t once;
+    dispatch_once(&once, ^{
+        s_queue = dispatch_queue_create("com.apple.WebKit.Blocklist", 0);
+    });
+}
+
+}
+
+#endif

Deleted: trunk/Source/WebCore/platform/mac/PluginBlacklist.h (262825 => 262826)


--- trunk/Source/WebCore/platform/mac/PluginBlacklist.h	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebCore/platform/mac/PluginBlacklist.h	2020-06-10 00:05:48 UTC (rev 262826)
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2012-2018 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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.
- */
-
-#pragma once
-
-#if PLATFORM(MAC)
-
-#include <memory>
-#include <wtf/RetainPtr.h>
-
-OBJC_CLASS NSArray;
-OBJC_CLASS NSDictionary;
-OBJC_CLASS NSSet;
-OBJC_CLASS NSString;
-
-namespace WebCore {
-
-class PluginBlacklist {
-public:
-    enum class LoadPolicy {
-        LoadNormally,
-        BlockedForSecurity,
-        BlockedForCompatibility,
-    };
-
-    WEBCORE_EXPORT static LoadPolicy loadPolicyForPluginVersion(NSString *bundleIdentifier, NSString *bundleVersionString);
-    WEBCORE_EXPORT static bool isPluginUpdateAvailable(NSString *bundleIdentifier);
-
-    static std::unique_ptr<PluginBlacklist> create(NSDictionary *);
-    ~PluginBlacklist();
-
-    static NSArray *splitOSVersion(NSString *osVersion);
-
-    LoadPolicy loadPolicyForPlugin(NSString *bundleIdentifier, NSString *bundleVersionString) const;
-    bool isUpdateAvailable(NSString *bundleIdentifier) const;
-
-private:
-    PluginBlacklist(NSDictionary *bundleIDToMinimumSecureVersion, NSDictionary *bundleIDToMinimumCompatibleVersion, NSDictionary *bundleIDToBlockedVersions, NSSet *bundleIDsWithAvailableUpdates);
-
-    RetainPtr<NSDictionary> m_bundleIDToMinimumSecureVersion;
-    RetainPtr<NSDictionary> m_bundleIDToMinimumCompatibleVersion;
-    RetainPtr<NSDictionary> m_bundleIDToBlockedVersions;
-    RetainPtr<NSSet> m_bundleIDsWithAvailableUpdates;
-};
-
-}
-
-#endif

Deleted: trunk/Source/WebCore/platform/mac/PluginBlacklist.mm (262825 => 262826)


--- trunk/Source/WebCore/platform/mac/PluginBlacklist.mm	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebCore/platform/mac/PluginBlacklist.mm	2020-06-10 00:05:48 UTC (rev 262826)
@@ -1,181 +0,0 @@
-/*
- * Copyright (C) 2012-2018 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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 "config.h"
-#import "PluginBlacklist.h"
-
-#if PLATFORM(MAC)
-
-#import "BlacklistUpdater.h"
-#import <pal/spi/cf/CFUtilitiesSPI.h>
-#import <sys/stat.h>
-#import <sys/time.h>
-
-namespace WebCore {
-
-PluginBlacklist::LoadPolicy PluginBlacklist::loadPolicyForPluginVersion(NSString *bundleIdentifier, NSString *bundleVersionString)
-{
-    BlacklistUpdater::initializeQueue();
-
-    __block PluginBlacklist::LoadPolicy loadPolicy = LoadPolicy::LoadNormally;
-    dispatch_sync(BlacklistUpdater::queue(), ^{
-        BlacklistUpdater::reloadIfNecessary();
-
-        PluginBlacklist* pluginBlacklist = BlacklistUpdater::pluginBlacklist();
-        if (pluginBlacklist)
-            loadPolicy = pluginBlacklist->loadPolicyForPlugin(bundleIdentifier, bundleVersionString);
-    });
-
-    return loadPolicy;
-}
-
-bool PluginBlacklist::isPluginUpdateAvailable(NSString *bundleIdentifier)
-{
-    BlacklistUpdater::initializeQueue();
-
-    __block bool isPluginUpdateAvailable = false;
-    dispatch_sync(BlacklistUpdater::queue(), ^{
-        BlacklistUpdater::reloadIfNecessary();
-
-        PluginBlacklist* pluginBlacklist = BlacklistUpdater::pluginBlacklist();
-        if (pluginBlacklist)
-            isPluginUpdateAvailable = pluginBlacklist->isUpdateAvailable(bundleIdentifier);
-    });
-
-    return isPluginUpdateAvailable;
-}
-
-std::unique_ptr<PluginBlacklist> PluginBlacklist::create(NSDictionary *propertyList)
-{
-    CFDictionaryRef systemVersionDictionary = _CFCopySystemVersionDictionary();
-    CFStringRef osVersion = static_cast<CFStringRef>(CFDictionaryGetValue(systemVersionDictionary, _kCFSystemVersionProductVersionKey));
-
-    NSDictionary *dictionary = [propertyList objectForKey:@"PlugInBlacklist"];
-
-    NSMutableDictionary *bundleIDToMinimumSecureVersion = [NSMutableDictionary dictionary];
-    NSMutableDictionary *bundleIDToMinimumCompatibleVersion = [NSMutableDictionary dictionary];
-    NSMutableDictionary *bundleIDToBlockedVersions = [NSMutableDictionary dictionary];
-    NSMutableSet *bundleIDsWithAvailableUpdates = [NSMutableSet set];
-    
-    for (NSString *osVersionComponent in splitOSVersion((__bridge NSString *)osVersion)) {
-        NSDictionary *bundleIDs = [dictionary objectForKey:osVersionComponent];
-        if (!bundleIDs)
-            continue;
-
-        for (NSString *bundleID in bundleIDs) {
-            NSDictionary *versionInfo = [bundleIDs objectForKey:bundleID];
-            assert(versionInfo);
-
-            if (![versionInfo isKindOfClass:[NSDictionary class]])
-                continue;
-
-            [bundleIDToMinimumSecureVersion removeObjectForKey:bundleID];
-            [bundleIDToMinimumCompatibleVersion removeObjectForKey:bundleID];
-            [bundleIDToBlockedVersions removeObjectForKey:bundleID];
-
-            if (NSArray *blockedVersions = [versionInfo objectForKey:@"BlockedPlugInBundleVersions"])
-                [bundleIDToBlockedVersions setObject:blockedVersions forKey:bundleID];
-
-            if (NSString *minimumSecureVersion = [versionInfo objectForKey:@"MinimumPlugInBundleVersion"])
-                [bundleIDToMinimumSecureVersion setObject:minimumSecureVersion forKey:bundleID];
-
-            if (NSString *minimumCompatibleVersion = [versionInfo objectForKey:@"MinimumCompatiblePlugInBundleVersion"])
-                [bundleIDToMinimumCompatibleVersion setObject:minimumCompatibleVersion forKey:bundleID];
-
-            if (NSNumber *updateAvailable = [versionInfo objectForKey:@"PlugInUpdateAvailable"]) {
-                // A missing PlugInUpdateAvailable key means that there is a plug-in update available.
-                if (!updateAvailable || [updateAvailable boolValue])
-                    [bundleIDsWithAvailableUpdates addObject:bundleID];
-            }
-        }
-    }
-
-    CFRelease(systemVersionDictionary);
-
-    return std::unique_ptr<PluginBlacklist>(new PluginBlacklist(bundleIDToMinimumSecureVersion, bundleIDToMinimumCompatibleVersion, bundleIDToBlockedVersions, bundleIDsWithAvailableUpdates));
-}
-
-PluginBlacklist::~PluginBlacklist()
-{
-}
-
-NSArray *PluginBlacklist::splitOSVersion(NSString *osVersion)
-{
-    NSArray *components = [osVersion componentsSeparatedByString:@"."];
-
-    NSMutableArray *result = [NSMutableArray array];
-
-    for (NSUInteger i = 0; i < [components count]; ++i) {
-        NSString *versionString = [[components subarrayWithRange:NSMakeRange(0, i + 1)] componentsJoinedByString:@"."];
-
-        [result addObject:versionString];
-    }
-
-    return result;
-}
-
-
-PluginBlacklist::LoadPolicy PluginBlacklist::loadPolicyForPlugin(NSString *bundleIdentifier, NSString *bundleVersionString) const
-{
-    if (!bundleIdentifier || !bundleVersionString)
-        return LoadPolicy::LoadNormally;
-
-    // First, check for explicitly blocked versions.
-    for (NSString *blockedVersion in [m_bundleIDToBlockedVersions objectForKey:bundleIdentifier]) {
-        if ([blockedVersion isEqualToString:bundleVersionString])
-            return LoadPolicy::BlockedForSecurity;
-    }
-
-    // Then, check if there's a forced minimum version for security issues.
-    if (NSString *minimumSecureVersion = [m_bundleIDToMinimumSecureVersion objectForKey:bundleIdentifier]) {
-        if ([bundleVersionString compare:minimumSecureVersion options:NSNumericSearch] == NSOrderedAscending)
-            return LoadPolicy::BlockedForSecurity;
-    }
-
-    // Then, check if there's a forced minimum version for compatibility issues.
-    if (NSString *minimumCompatibleVersion = [m_bundleIDToMinimumCompatibleVersion objectForKey:bundleIdentifier]) {
-        if ([bundleVersionString compare:minimumCompatibleVersion options:NSNumericSearch] == NSOrderedAscending)
-            return LoadPolicy::BlockedForCompatibility;
-    }
-
-    return LoadPolicy::LoadNormally;
-}
-
-bool PluginBlacklist::isUpdateAvailable(NSString *bundleIdentifier) const
-{
-    return [m_bundleIDsWithAvailableUpdates containsObject:bundleIdentifier];
-}
-
-PluginBlacklist::PluginBlacklist(NSDictionary *bundleIDToMinimumSecureVersion, NSDictionary *bundleIDToMinimumCompatibleVersion, NSDictionary *bundleIDToBlockedVersions, NSSet *bundleIDsWithAvailableUpdates)
-    : m_bundleIDToMinimumSecureVersion { adoptNS([bundleIDToMinimumSecureVersion copy]) }
-    , m_bundleIDToMinimumCompatibleVersion { adoptNS([bundleIDToMinimumCompatibleVersion copy]) }
-    , m_bundleIDToBlockedVersions { adoptNS([bundleIDToBlockedVersions copy]) }
-    , m_bundleIDsWithAvailableUpdates { adoptNS([bundleIDsWithAvailableUpdates copy]) }
-{
-}
-
-}
-
-#endif

Copied: trunk/Source/WebCore/platform/mac/PluginBlocklist.h (from rev 262825, trunk/Source/WebCore/platform/mac/PluginBlacklist.h) (0 => 262826)


--- trunk/Source/WebCore/platform/mac/PluginBlocklist.h	                        (rev 0)
+++ trunk/Source/WebCore/platform/mac/PluginBlocklist.h	2020-06-10 00:05:48 UTC (rev 262826)
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2012-2020 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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.
+ */
+
+#pragma once
+
+#if PLATFORM(MAC)
+
+#include <memory>
+#include <wtf/RetainPtr.h>
+
+OBJC_CLASS NSArray;
+OBJC_CLASS NSDictionary;
+OBJC_CLASS NSSet;
+OBJC_CLASS NSString;
+
+namespace WebCore {
+
+class PluginBlocklist {
+public:
+    enum class LoadPolicy {
+        LoadNormally,
+        BlockedForSecurity,
+        BlockedForCompatibility,
+    };
+
+    WEBCORE_EXPORT static LoadPolicy loadPolicyForPluginVersion(NSString *bundleIdentifier, NSString *bundleVersionString);
+    WEBCORE_EXPORT static bool isPluginUpdateAvailable(NSString *bundleIdentifier);
+
+    static std::unique_ptr<PluginBlocklist> create(NSDictionary *);
+    ~PluginBlocklist();
+
+    static NSArray *splitOSVersion(NSString *osVersion);
+
+    LoadPolicy loadPolicyForPlugin(NSString *bundleIdentifier, NSString *bundleVersionString) const;
+    bool isUpdateAvailable(NSString *bundleIdentifier) const;
+
+private:
+    PluginBlocklist(NSDictionary *bundleIDToMinimumSecureVersion, NSDictionary *bundleIDToMinimumCompatibleVersion, NSDictionary *bundleIDToBlockedVersions, NSSet *bundleIDsWithAvailableUpdates);
+
+    RetainPtr<NSDictionary> m_bundleIDToMinimumSecureVersion;
+    RetainPtr<NSDictionary> m_bundleIDToMinimumCompatibleVersion;
+    RetainPtr<NSDictionary> m_bundleIDToBlockedVersions;
+    RetainPtr<NSSet> m_bundleIDsWithAvailableUpdates;
+};
+
+}
+
+#endif

Property changes: trunk/Source/WebCore/platform/mac/PluginBlocklist.h


Added: svn:eol-style

+native \ No newline at end of property

Added: svn:keywords

+Date Author Id Revision HeadURL \ No newline at end of property

Copied: trunk/Source/WebCore/platform/mac/PluginBlocklist.mm (from rev 262825, trunk/Source/WebCore/platform/mac/PluginBlacklist.mm) (0 => 262826)


--- trunk/Source/WebCore/platform/mac/PluginBlocklist.mm	                        (rev 0)
+++ trunk/Source/WebCore/platform/mac/PluginBlocklist.mm	2020-06-10 00:05:48 UTC (rev 262826)
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2012-2020 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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 "config.h"
+#import "PluginBlocklist.h"
+
+#if PLATFORM(MAC)
+
+#import "BlocklistUpdater.h"
+#import <pal/spi/cf/CFUtilitiesSPI.h>
+#import <sys/stat.h>
+#import <sys/time.h>
+
+namespace WebCore {
+
+PluginBlocklist::LoadPolicy PluginBlocklist::loadPolicyForPluginVersion(NSString *bundleIdentifier, NSString *bundleVersionString)
+{
+    BlocklistUpdater::initializeQueue();
+
+    __block PluginBlocklist::LoadPolicy loadPolicy = LoadPolicy::LoadNormally;
+    dispatch_sync(BlocklistUpdater::queue(), ^{
+        BlocklistUpdater::reloadIfNecessary();
+
+        PluginBlocklist* pluginBlocklist = BlocklistUpdater::pluginBlocklist();
+        if (pluginBlocklist)
+            loadPolicy = pluginBlocklist->loadPolicyForPlugin(bundleIdentifier, bundleVersionString);
+    });
+
+    return loadPolicy;
+}
+
+bool PluginBlocklist::isPluginUpdateAvailable(NSString *bundleIdentifier)
+{
+    BlocklistUpdater::initializeQueue();
+
+    __block bool isPluginUpdateAvailable = false;
+    dispatch_sync(BlocklistUpdater::queue(), ^{
+        BlocklistUpdater::reloadIfNecessary();
+
+        PluginBlocklist* pluginBlocklist = BlocklistUpdater::pluginBlocklist();
+        if (pluginBlocklist)
+            isPluginUpdateAvailable = pluginBlocklist->isUpdateAvailable(bundleIdentifier);
+    });
+
+    return isPluginUpdateAvailable;
+}
+
+std::unique_ptr<PluginBlocklist> PluginBlocklist::create(NSDictionary *propertyList)
+{
+    CFDictionaryRef systemVersionDictionary = _CFCopySystemVersionDictionary();
+    CFStringRef osVersion = static_cast<CFStringRef>(CFDictionaryGetValue(systemVersionDictionary, _kCFSystemVersionProductVersionKey));
+
+    NSDictionary *dictionary = [propertyList objectForKey:@"PlugInBlocklist"];
+
+    NSMutableDictionary *bundleIDToMinimumSecureVersion = [NSMutableDictionary dictionary];
+    NSMutableDictionary *bundleIDToMinimumCompatibleVersion = [NSMutableDictionary dictionary];
+    NSMutableDictionary *bundleIDToBlockedVersions = [NSMutableDictionary dictionary];
+    NSMutableSet *bundleIDsWithAvailableUpdates = [NSMutableSet set];
+    
+    for (NSString *osVersionComponent in splitOSVersion((__bridge NSString *)osVersion)) {
+        NSDictionary *bundleIDs = [dictionary objectForKey:osVersionComponent];
+        if (!bundleIDs)
+            continue;
+
+        for (NSString *bundleID in bundleIDs) {
+            NSDictionary *versionInfo = [bundleIDs objectForKey:bundleID];
+            assert(versionInfo);
+
+            if (![versionInfo isKindOfClass:[NSDictionary class]])
+                continue;
+
+            [bundleIDToMinimumSecureVersion removeObjectForKey:bundleID];
+            [bundleIDToMinimumCompatibleVersion removeObjectForKey:bundleID];
+            [bundleIDToBlockedVersions removeObjectForKey:bundleID];
+
+            if (NSArray *blockedVersions = [versionInfo objectForKey:@"BlockedPlugInBundleVersions"])
+                [bundleIDToBlockedVersions setObject:blockedVersions forKey:bundleID];
+
+            if (NSString *minimumSecureVersion = [versionInfo objectForKey:@"MinimumPlugInBundleVersion"])
+                [bundleIDToMinimumSecureVersion setObject:minimumSecureVersion forKey:bundleID];
+
+            if (NSString *minimumCompatibleVersion = [versionInfo objectForKey:@"MinimumCompatiblePlugInBundleVersion"])
+                [bundleIDToMinimumCompatibleVersion setObject:minimumCompatibleVersion forKey:bundleID];
+
+            if (NSNumber *updateAvailable = [versionInfo objectForKey:@"PlugInUpdateAvailable"]) {
+                // A missing PlugInUpdateAvailable key means that there is a plug-in update available.
+                if (!updateAvailable || [updateAvailable boolValue])
+                    [bundleIDsWithAvailableUpdates addObject:bundleID];
+            }
+        }
+    }
+
+    CFRelease(systemVersionDictionary);
+
+    return std::unique_ptr<PluginBlocklist>(new PluginBlocklist(bundleIDToMinimumSecureVersion, bundleIDToMinimumCompatibleVersion, bundleIDToBlockedVersions, bundleIDsWithAvailableUpdates));
+}
+
+PluginBlocklist::~PluginBlocklist()
+{
+}
+
+NSArray *PluginBlocklist::splitOSVersion(NSString *osVersion)
+{
+    NSArray *components = [osVersion componentsSeparatedByString:@"."];
+
+    NSMutableArray *result = [NSMutableArray array];
+
+    for (NSUInteger i = 0; i < [components count]; ++i) {
+        NSString *versionString = [[components subarrayWithRange:NSMakeRange(0, i + 1)] componentsJoinedByString:@"."];
+
+        [result addObject:versionString];
+    }
+
+    return result;
+}
+
+
+PluginBlocklist::LoadPolicy PluginBlocklist::loadPolicyForPlugin(NSString *bundleIdentifier, NSString *bundleVersionString) const
+{
+    if (!bundleIdentifier || !bundleVersionString)
+        return LoadPolicy::LoadNormally;
+
+    // First, check for explicitly blocked versions.
+    for (NSString *blockedVersion in [m_bundleIDToBlockedVersions objectForKey:bundleIdentifier]) {
+        if ([blockedVersion isEqualToString:bundleVersionString])
+            return LoadPolicy::BlockedForSecurity;
+    }
+
+    // Then, check if there's a forced minimum version for security issues.
+    if (NSString *minimumSecureVersion = [m_bundleIDToMinimumSecureVersion objectForKey:bundleIdentifier]) {
+        if ([bundleVersionString compare:minimumSecureVersion options:NSNumericSearch] == NSOrderedAscending)
+            return LoadPolicy::BlockedForSecurity;
+    }
+
+    // Then, check if there's a forced minimum version for compatibility issues.
+    if (NSString *minimumCompatibleVersion = [m_bundleIDToMinimumCompatibleVersion objectForKey:bundleIdentifier]) {
+        if ([bundleVersionString compare:minimumCompatibleVersion options:NSNumericSearch] == NSOrderedAscending)
+            return LoadPolicy::BlockedForCompatibility;
+    }
+
+    return LoadPolicy::LoadNormally;
+}
+
+bool PluginBlocklist::isUpdateAvailable(NSString *bundleIdentifier) const
+{
+    return [m_bundleIDsWithAvailableUpdates containsObject:bundleIdentifier];
+}
+
+PluginBlocklist::PluginBlocklist(NSDictionary *bundleIDToMinimumSecureVersion, NSDictionary *bundleIDToMinimumCompatibleVersion, NSDictionary *bundleIDToBlockedVersions, NSSet *bundleIDsWithAvailableUpdates)
+    : m_bundleIDToMinimumSecureVersion { adoptNS([bundleIDToMinimumSecureVersion copy]) }
+    , m_bundleIDToMinimumCompatibleVersion { adoptNS([bundleIDToMinimumCompatibleVersion copy]) }
+    , m_bundleIDToBlockedVersions { adoptNS([bundleIDToBlockedVersions copy]) }
+    , m_bundleIDsWithAvailableUpdates { adoptNS([bundleIDsWithAvailableUpdates copy]) }
+{
+}
+
+}
+
+#endif

Deleted: trunk/Source/WebCore/platform/mac/WebGLBlacklist.h (262825 => 262826)


--- trunk/Source/WebCore/platform/mac/WebGLBlacklist.h	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebCore/platform/mac/WebGLBlacklist.h	2020-06-10 00:05:48 UTC (rev 262826)
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2014-2016 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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.
- */
-
-#pragma once
-
-#if PLATFORM(MAC)
-
-#include <memory>
-#include <string>
-#include <vector>
-
-OBJC_CLASS NSDictionary;
-
-namespace WebCore {
-
-class WebGLBlacklist {
-public:
-    enum BlockComparison {
-        Equals,
-        LessThan,
-        LessThanEquals
-    };
-
-    WEBCORE_EXPORT static bool shouldBlockWebGL();
-    WEBCORE_EXPORT static bool shouldSuggestBlockingWebGL();
-
-    static std::unique_ptr<WebGLBlacklist> create(NSDictionary *propertyList);
-    ~WebGLBlacklist();
-
-    bool shouldBlock() const;
-    bool shouldSuggestBlocking() const;
-
-private:
-    enum class BlockCommand {
-        Allow,
-        Block,
-        SuggestBlocking
-    };
-
-    WebGLBlacklist(BlockCommand);
-
-    BlockCommand m_command;
-};
-
-}
-
-#endif

Deleted: trunk/Source/WebCore/platform/mac/WebGLBlacklist.mm (262825 => 262826)


--- trunk/Source/WebCore/platform/mac/WebGLBlacklist.mm	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebCore/platform/mac/WebGLBlacklist.mm	2020-06-10 00:05:48 UTC (rev 262826)
@@ -1,263 +0,0 @@
-/*
- * Copyright (C) 2014-2016 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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 "config.h"
-#import "WebGLBlacklist.h"
-
-#if PLATFORM(MAC)
-
-#import "BlacklistUpdater.h"
-#import <OpenGL/OpenGL.h>
-#import <pal/spi/cf/CFUtilitiesSPI.h>
-
-namespace WebCore {
-
-struct OSBuildInfo {
-    OSBuildInfo()
-        : major(0)
-        , minor(0)
-        , build(0)
-    {
-    }
-
-    OSBuildInfo(int major, int minor, int build)
-        : major(major)
-        , minor(minor)
-        , build(build)
-    {
-    }
-
-    bool operator==(const OSBuildInfo& other) const
-    {
-        return major == other.major && minor == other.minor && build == other.build;
-    }
-
-    bool operator>(const OSBuildInfo& other) const
-    {
-        return std::tie(major, minor, build) > std::tie(other.major, other.minor, other.build);
-    }
-
-    bool operator<=(const OSBuildInfo& other) const
-    {
-        return std::tie(major, minor, build) <= std::tie(other.major, other.minor, other.build);
-    }
-
-    bool operator<(const OSBuildInfo& other) const
-    {
-        return std::tie(major, minor, build) < std::tie(other.major, other.minor, other.build);
-    }
-
-    int major; // Represents the 13 in 13C64.
-    int minor; // Represents the C in 13C64 (as a number where A == 1, i.e. 3).
-    int build; // Represents the 64 in 13C64.
-};
-
-static OSBuildInfo buildInfoFromOSBuildString(NSString *buildString)
-{
-    NSError *error = NULL;
-    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^(\\d+)([A-Z])(\\d+)" options:0 error:&error];
-    NSArray *matches = [regex matchesInString:buildString options:0 range:NSMakeRange(0, [buildString length])];
-    if (!matches || matches.count != 1) {
-#ifndef NDEBUG
-        NSLog(@"WebGLBlacklist could not parse OSBuild entry: %@", buildString);
-#endif
-        return OSBuildInfo();
-    }
-
-    NSTextCheckingResult *matchResult = [matches objectAtIndex:0];
-
-    if (matchResult.numberOfRanges != 4) {
-#ifndef NDEBUG
-        NSLog(@"WebGLBlacklist could not parse OSBuild entry: %@", buildString);
-#endif
-        return OSBuildInfo();
-    }
-
-    int majorVersion = [[buildString substringWithRange:[matchResult rangeAtIndex:1]] intValue];
-    int minorVersion = [[buildString substringWithRange:[matchResult rangeAtIndex:2]] characterAtIndex:0] - 'A' + 1;
-    int buildVersion = [[buildString substringWithRange:[matchResult rangeAtIndex:3]] intValue];
-
-    return OSBuildInfo(majorVersion, minorVersion, buildVersion);
-}
-
-bool WebGLBlacklist::shouldBlockWebGL()
-{
-    BlacklistUpdater::initializeQueue();
-
-    __block bool shouldBlock = false;
-    dispatch_sync(BlacklistUpdater::queue(), ^{
-        BlacklistUpdater::reloadIfNecessary();
-
-        WebGLBlacklist* webGLBlacklist = BlacklistUpdater::webGLBlacklist();
-        if (webGLBlacklist)
-            shouldBlock = webGLBlacklist->shouldBlock();
-    });
-
-    return shouldBlock;
-}
-
-bool WebGLBlacklist::shouldSuggestBlockingWebGL()
-{
-    BlacklistUpdater::initializeQueue();
-
-    __block bool shouldSuggestBlocking = false;
-    dispatch_sync(BlacklistUpdater::queue(), ^{
-        BlacklistUpdater::reloadIfNecessary();
-
-        WebGLBlacklist* webGLBlacklist = BlacklistUpdater::webGLBlacklist();
-        if (webGLBlacklist)
-            shouldSuggestBlocking = webGLBlacklist->shouldSuggestBlocking();
-    });
-
-    return shouldSuggestBlocking;
-}
-
-static bool matchesGPU(GLint machineId, GLint rendererMask)
-{
-    // If the last two bytes of the rendererMask are not zero, then we're
-    // looking for an exact GPU match. Otherwise we're matching against
-    // a class of GPUs.
-
-    if (rendererMask & 0xFF)
-        return machineId == rendererMask;
-
-    return (machineId & kCGLRendererIDMatchingMask) == rendererMask;
-}
-
-static GLint gpuMaskFromString(NSString *input)
-{
-    NSScanner* scanner = [NSScanner scannerWithString:input];
-    unsigned maskValue;
-    [scanner scanHexInt:&maskValue];
-    return static_cast<GLint>(maskValue & (kCGLRendererIDMatchingMask | 0xFF));
-}
-
-static bool matchesBuildInfo(OSBuildInfo machineInfo, OSBuildInfo blockInfo, WebGLBlacklist::BlockComparison comparison)
-{
-    switch (comparison) {
-    case WebGLBlacklist::BlockComparison::Equals:
-        return machineInfo == blockInfo;
-    case WebGLBlacklist::BlockComparison::LessThan:
-        return machineInfo < blockInfo;
-    case WebGLBlacklist::BlockComparison::LessThanEquals:
-        return machineInfo <= blockInfo;
-    }
-}
-
-std::unique_ptr<WebGLBlacklist> WebGLBlacklist::create(NSDictionary *propertyList)
-{
-    CFDictionaryRef systemVersionDictionary = _CFCopySystemVersionDictionary();
-    CFStringRef osBuild = static_cast<CFStringRef>(CFDictionaryGetValue(systemVersionDictionary, _kCFSystemVersionBuildVersionKey));
-    OSBuildInfo buildInfo = buildInfoFromOSBuildString((__bridge NSString *)osBuild);
-    CFRelease(systemVersionDictionary);
-
-    if (!buildInfo.major)
-        return nullptr;
-
-    NSArray *blockEntries = [propertyList objectForKey:@"WebGLBlacklist"];
-
-    if (![blockEntries isKindOfClass:[NSArray class]] || !blockEntries.count)
-        return nullptr;
-
-    CGLPixelFormatAttribute attribs[12] = {
-        kCGLPFAColorSize, (CGLPixelFormatAttribute)32,
-        kCGLPFADepthSize, (CGLPixelFormatAttribute)32,
-        kCGLPFAAccelerated,
-        kCGLPFASupersample,
-        kCGLPFAMultisample,
-        kCGLPFASampleBuffers, (CGLPixelFormatAttribute)1,
-        kCGLPFASamples, (CGLPixelFormatAttribute)4,
-        (CGLPixelFormatAttribute)0
-    };
-
-    CGLPixelFormatObj pix;
-    GLint npix;
-    CGLChoosePixelFormat(attribs, &pix, &npix);
-    CGLContextObj ctx;
-    CGLCreateContext(pix, 0, &ctx);
-    GLint rendererId = 0;
-    CGLGetParameter(ctx, kCGLCPCurrentRendererID, &rendererId);
-    GLint supportsSeparateAddressSpace = 0;
-    CGLGetParameter(ctx, kCGLCPSupportSeparateAddressSpace, &supportsSeparateAddressSpace);
-    CGLDestroyContext(ctx);
-    CGLReleasePixelFormat(pix);
-
-    rendererId &= kCGLRendererIDMatchingMask | 0xFF;
-
-    BlockCommand globalCommand = BlockCommand::Allow;
-
-    for (NSDictionary *blockData in blockEntries) {
-
-        GLint gpuMask = gpuMaskFromString([blockData objectForKey:@"GPU"]);
-
-        OSBuildInfo blockedBuildInfo = buildInfoFromOSBuildString(static_cast<NSString*>([blockData objectForKey:@"OSBuild"]));
-
-        NSString *comparisonString = [blockData objectForKey:@"Comparison"];
-        BlockComparison comparison = BlockComparison::Equals;
-        if ([comparisonString isEqualToString:@"LessThan"])
-            comparison = BlockComparison::LessThan;
-        else if ([comparisonString isEqualToString:@"LessThanEquals"])
-            comparison = BlockComparison::LessThanEquals;
-
-        NSString *commandString = [blockData objectForKey:@"Command"];
-        BlockCommand command = BlockCommand::Allow;
-        if ([commandString isEqualToString:@"Block"])
-            command = BlockCommand::Block;
-        else if ([commandString isEqualToString:@"SuggestBlocking"])
-            command = BlockCommand::SuggestBlocking;
-
-        if (matchesGPU(rendererId, gpuMask) && matchesBuildInfo(buildInfo, blockedBuildInfo, comparison)) {
-            globalCommand = command;
-            break;
-        }
-    }
-
-    if (!supportsSeparateAddressSpace && globalCommand == BlockCommand::Allow)
-        globalCommand = BlockCommand::SuggestBlocking;
-
-    return std::unique_ptr<WebGLBlacklist>(new WebGLBlacklist(globalCommand));
-}
-
-bool WebGLBlacklist::shouldBlock() const
-{
-    return m_command == BlockCommand::Block;
-}
-
-bool WebGLBlacklist::shouldSuggestBlocking() const
-{
-    return m_command == BlockCommand::SuggestBlocking;
-}
-
-WebGLBlacklist::WebGLBlacklist(BlockCommand command)
-    : m_command(command)
-{
-}
-
-WebGLBlacklist::~WebGLBlacklist()
-{
-}
-
-}
-#endif

Copied: trunk/Source/WebCore/platform/mac/WebGLBlocklist.h (from rev 262825, trunk/Source/WebCore/platform/mac/WebGLBlacklist.h) (0 => 262826)


--- trunk/Source/WebCore/platform/mac/WebGLBlocklist.h	                        (rev 0)
+++ trunk/Source/WebCore/platform/mac/WebGLBlocklist.h	2020-06-10 00:05:48 UTC (rev 262826)
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2014-2020 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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.
+ */
+
+#pragma once
+
+#if PLATFORM(MAC)
+
+#include <memory>
+#include <string>
+#include <vector>
+
+OBJC_CLASS NSDictionary;
+
+namespace WebCore {
+
+class WebGLBlocklist {
+public:
+    enum BlockComparison {
+        Equals,
+        LessThan,
+        LessThanEquals
+    };
+
+    WEBCORE_EXPORT static bool shouldBlockWebGL();
+    WEBCORE_EXPORT static bool shouldSuggestBlockingWebGL();
+
+    static std::unique_ptr<WebGLBlocklist> create(NSDictionary *propertyList);
+    ~WebGLBlocklist();
+
+    bool shouldBlock() const;
+    bool shouldSuggestBlocking() const;
+
+private:
+    enum class BlockCommand {
+        Allow,
+        Block,
+        SuggestBlocking
+    };
+
+    WebGLBlocklist(BlockCommand);
+
+    BlockCommand m_command;
+};
+
+}
+
+#endif

Property changes: trunk/Source/WebCore/platform/mac/WebGLBlocklist.h


Added: svn:eol-style

+native \ No newline at end of property

Added: svn:keywords

+Date Author Id Revision HeadURL \ No newline at end of property

Copied: trunk/Source/WebCore/platform/mac/WebGLBlocklist.mm (from rev 262825, trunk/Source/WebCore/platform/mac/WebGLBlacklist.mm) (0 => 262826)


--- trunk/Source/WebCore/platform/mac/WebGLBlocklist.mm	                        (rev 0)
+++ trunk/Source/WebCore/platform/mac/WebGLBlocklist.mm	2020-06-10 00:05:48 UTC (rev 262826)
@@ -0,0 +1,263 @@
+/*
+ * Copyright (C) 2014-2016 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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 "config.h"
+#import "WebGLBlocklist.h"
+
+#if PLATFORM(MAC)
+
+#import "BlocklistUpdater.h"
+#import <OpenGL/OpenGL.h>
+#import <pal/spi/cf/CFUtilitiesSPI.h>
+
+namespace WebCore {
+
+struct OSBuildInfo {
+    OSBuildInfo()
+        : major(0)
+        , minor(0)
+        , build(0)
+    {
+    }
+
+    OSBuildInfo(int major, int minor, int build)
+        : major(major)
+        , minor(minor)
+        , build(build)
+    {
+    }
+
+    bool operator==(const OSBuildInfo& other) const
+    {
+        return major == other.major && minor == other.minor && build == other.build;
+    }
+
+    bool operator>(const OSBuildInfo& other) const
+    {
+        return std::tie(major, minor, build) > std::tie(other.major, other.minor, other.build);
+    }
+
+    bool operator<=(const OSBuildInfo& other) const
+    {
+        return std::tie(major, minor, build) <= std::tie(other.major, other.minor, other.build);
+    }
+
+    bool operator<(const OSBuildInfo& other) const
+    {
+        return std::tie(major, minor, build) < std::tie(other.major, other.minor, other.build);
+    }
+
+    int major; // Represents the 13 in 13C64.
+    int minor; // Represents the C in 13C64 (as a number where A == 1, i.e. 3).
+    int build; // Represents the 64 in 13C64.
+};
+
+static OSBuildInfo buildInfoFromOSBuildString(NSString *buildString)
+{
+    NSError *error = NULL;
+    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^(\\d+)([A-Z])(\\d+)" options:0 error:&error];
+    NSArray *matches = [regex matchesInString:buildString options:0 range:NSMakeRange(0, [buildString length])];
+    if (!matches || matches.count != 1) {
+#ifndef NDEBUG
+        NSLog(@"WebGLBlocklist could not parse OSBuild entry: %@", buildString);
+#endif
+        return OSBuildInfo();
+    }
+
+    NSTextCheckingResult *matchResult = [matches objectAtIndex:0];
+
+    if (matchResult.numberOfRanges != 4) {
+#ifndef NDEBUG
+        NSLog(@"WebGLBlocklist could not parse OSBuild entry: %@", buildString);
+#endif
+        return OSBuildInfo();
+    }
+
+    int majorVersion = [[buildString substringWithRange:[matchResult rangeAtIndex:1]] intValue];
+    int minorVersion = [[buildString substringWithRange:[matchResult rangeAtIndex:2]] characterAtIndex:0] - 'A' + 1;
+    int buildVersion = [[buildString substringWithRange:[matchResult rangeAtIndex:3]] intValue];
+
+    return OSBuildInfo(majorVersion, minorVersion, buildVersion);
+}
+
+bool WebGLBlocklist::shouldBlockWebGL()
+{
+    BlocklistUpdater::initializeQueue();
+
+    __block bool shouldBlock = false;
+    dispatch_sync(BlocklistUpdater::queue(), ^{
+        BlocklistUpdater::reloadIfNecessary();
+
+        WebGLBlocklist* webGLBlocklist = BlocklistUpdater::webGLBlocklist();
+        if (webGLBlocklist)
+            shouldBlock = webGLBlocklist->shouldBlock();
+    });
+
+    return shouldBlock;
+}
+
+bool WebGLBlocklist::shouldSuggestBlockingWebGL()
+{
+    BlocklistUpdater::initializeQueue();
+
+    __block bool shouldSuggestBlocking = false;
+    dispatch_sync(BlocklistUpdater::queue(), ^{
+        BlocklistUpdater::reloadIfNecessary();
+
+        WebGLBlocklist* webGLBlocklist = BlocklistUpdater::webGLBlocklist();
+        if (webGLBlocklist)
+            shouldSuggestBlocking = webGLBlocklist->shouldSuggestBlocking();
+    });
+
+    return shouldSuggestBlocking;
+}
+
+static bool matchesGPU(GLint machineId, GLint rendererMask)
+{
+    // If the last two bytes of the rendererMask are not zero, then we're
+    // looking for an exact GPU match. Otherwise we're matching against
+    // a class of GPUs.
+
+    if (rendererMask & 0xFF)
+        return machineId == rendererMask;
+
+    return (machineId & kCGLRendererIDMatchingMask) == rendererMask;
+}
+
+static GLint gpuMaskFromString(NSString *input)
+{
+    NSScanner* scanner = [NSScanner scannerWithString:input];
+    unsigned maskValue;
+    [scanner scanHexInt:&maskValue];
+    return static_cast<GLint>(maskValue & (kCGLRendererIDMatchingMask | 0xFF));
+}
+
+static bool matchesBuildInfo(OSBuildInfo machineInfo, OSBuildInfo blockInfo, WebGLBlocklist::BlockComparison comparison)
+{
+    switch (comparison) {
+    case WebGLBlocklist::BlockComparison::Equals:
+        return machineInfo == blockInfo;
+    case WebGLBlocklist::BlockComparison::LessThan:
+        return machineInfo < blockInfo;
+    case WebGLBlocklist::BlockComparison::LessThanEquals:
+        return machineInfo <= blockInfo;
+    }
+}
+
+std::unique_ptr<WebGLBlocklist> WebGLBlocklist::create(NSDictionary *propertyList)
+{
+    CFDictionaryRef systemVersionDictionary = _CFCopySystemVersionDictionary();
+    CFStringRef osBuild = static_cast<CFStringRef>(CFDictionaryGetValue(systemVersionDictionary, _kCFSystemVersionBuildVersionKey));
+    OSBuildInfo buildInfo = buildInfoFromOSBuildString((__bridge NSString *)osBuild);
+    CFRelease(systemVersionDictionary);
+
+    if (!buildInfo.major)
+        return nullptr;
+
+    NSArray *blockEntries = [propertyList objectForKey:@"WebGLBlocklist"];
+
+    if (![blockEntries isKindOfClass:[NSArray class]] || !blockEntries.count)
+        return nullptr;
+
+    CGLPixelFormatAttribute attribs[12] = {
+        kCGLPFAColorSize, (CGLPixelFormatAttribute)32,
+        kCGLPFADepthSize, (CGLPixelFormatAttribute)32,
+        kCGLPFAAccelerated,
+        kCGLPFASupersample,
+        kCGLPFAMultisample,
+        kCGLPFASampleBuffers, (CGLPixelFormatAttribute)1,
+        kCGLPFASamples, (CGLPixelFormatAttribute)4,
+        (CGLPixelFormatAttribute)0
+    };
+
+    CGLPixelFormatObj pix;
+    GLint npix;
+    CGLChoosePixelFormat(attribs, &pix, &npix);
+    CGLContextObj ctx;
+    CGLCreateContext(pix, 0, &ctx);
+    GLint rendererId = 0;
+    CGLGetParameter(ctx, kCGLCPCurrentRendererID, &rendererId);
+    GLint supportsSeparateAddressSpace = 0;
+    CGLGetParameter(ctx, kCGLCPSupportSeparateAddressSpace, &supportsSeparateAddressSpace);
+    CGLDestroyContext(ctx);
+    CGLReleasePixelFormat(pix);
+
+    rendererId &= kCGLRendererIDMatchingMask | 0xFF;
+
+    BlockCommand globalCommand = BlockCommand::Allow;
+
+    for (NSDictionary *blockData in blockEntries) {
+
+        GLint gpuMask = gpuMaskFromString([blockData objectForKey:@"GPU"]);
+
+        OSBuildInfo blockedBuildInfo = buildInfoFromOSBuildString(static_cast<NSString*>([blockData objectForKey:@"OSBuild"]));
+
+        NSString *comparisonString = [blockData objectForKey:@"Comparison"];
+        BlockComparison comparison = BlockComparison::Equals;
+        if ([comparisonString isEqualToString:@"LessThan"])
+            comparison = BlockComparison::LessThan;
+        else if ([comparisonString isEqualToString:@"LessThanEquals"])
+            comparison = BlockComparison::LessThanEquals;
+
+        NSString *commandString = [blockData objectForKey:@"Command"];
+        BlockCommand command = BlockCommand::Allow;
+        if ([commandString isEqualToString:@"Block"])
+            command = BlockCommand::Block;
+        else if ([commandString isEqualToString:@"SuggestBlocking"])
+            command = BlockCommand::SuggestBlocking;
+
+        if (matchesGPU(rendererId, gpuMask) && matchesBuildInfo(buildInfo, blockedBuildInfo, comparison)) {
+            globalCommand = command;
+            break;
+        }
+    }
+
+    if (!supportsSeparateAddressSpace && globalCommand == BlockCommand::Allow)
+        globalCommand = BlockCommand::SuggestBlocking;
+
+    return std::unique_ptr<WebGLBlocklist>(new WebGLBlocklist(globalCommand));
+}
+
+bool WebGLBlocklist::shouldBlock() const
+{
+    return m_command == BlockCommand::Block;
+}
+
+bool WebGLBlocklist::shouldSuggestBlocking() const
+{
+    return m_command == BlockCommand::SuggestBlocking;
+}
+
+WebGLBlocklist::WebGLBlocklist(BlockCommand command)
+    : m_command(command)
+{
+}
+
+WebGLBlocklist::~WebGLBlocklist()
+{
+}
+
+}
+#endif

Modified: trunk/Source/WebKit/ChangeLog (262825 => 262826)


--- trunk/Source/WebKit/ChangeLog	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebKit/ChangeLog	2020-06-10 00:05:48 UTC (rev 262826)
@@ -1,3 +1,19 @@
+2020-06-09  Dean Jackson  <[email protected]>
+
+        Stop using discriminatory names for WebGL and Plugin blocking
+        https://bugs.webkit.org/show_bug.cgi?id=213000
+
+        Reviewed by Simon Fraser.
+
+        * Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
+        (WebKit::getPlatformPluginModuleInformation):
+        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
+        (WKContextIsPlugInUpdateAvailable):
+        (WKContextShouldBlockWebGL):
+        (WKContextShouldSuggestBlockWebGL):
+        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+        (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
+
 2020-06-09  Brian Burg  <[email protected]>
 
         [Cocoa] Element Send Keys can hang when an automation window becomes unfocused

Modified: trunk/Source/WebKit/Shared/Plugins/Netscape/mac/PluginInformationMac.mm (262825 => 262826)


--- trunk/Source/WebKit/Shared/Plugins/Netscape/mac/PluginInformationMac.mm	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebKit/Shared/Plugins/Netscape/mac/PluginInformationMac.mm	2020-06-10 00:05:48 UTC (rev 262826)
@@ -32,7 +32,7 @@
 #import "APIString.h"
 #import "PluginModuleInfo.h"
 #import "StringUtilities.h"
-#import <WebCore/PluginBlacklist.h>
+#import <WebCore/PluginBlocklist.h>
 
 namespace WebKit {
 using namespace WebCore;
@@ -42,7 +42,7 @@
     map.set(pluginInformationBundleIdentifierKey(), API::String::create(plugin.bundleIdentifier));
     map.set(pluginInformationBundleVersionKey(), API::String::create(plugin.versionString));
     map.set(pluginInformationBundleShortVersionKey(), API::String::create(plugin.shortVersionString));
-    map.set(pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey(), API::Boolean::create(WebCore::PluginBlacklist::isPluginUpdateAvailable(nsStringFromWebCoreString(plugin.bundleIdentifier))));
+    map.set(pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey(), API::Boolean::create(WebCore::PluginBlocklist::isPluginUpdateAvailable(nsStringFromWebCoreString(plugin.bundleIdentifier))));
     map.set(pluginInformationHasSandboxProfileKey(), API::Boolean::create(plugin.hasSandboxProfile));
 }
 

Modified: trunk/Source/WebKit/UIProcess/API/C/mac/WKContextPrivateMac.mm (262825 => 262826)


--- trunk/Source/WebKit/UIProcess/API/C/mac/WKContextPrivateMac.mm	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebKit/UIProcess/API/C/mac/WKContextPrivateMac.mm	2020-06-10 00:05:48 UTC (rev 262826)
@@ -38,8 +38,8 @@
 #import "WKSharedAPICast.h"
 #import "WKStringCF.h"
 #import "WebProcessPool.h"
-#import <WebCore/PluginBlacklist.h>
-#import <WebCore/WebGLBlacklist.h>
+#import <WebCore/PluginBlocklist.h>
+#import <WebCore/WebGLBlocklist.h>
 #import <wtf/RetainPtr.h>
 
 bool WKContextIsPlugInUpdateAvailable(WKContextRef contextRef, WKStringRef plugInBundleIdentifierRef)
@@ -47,7 +47,7 @@
 #if PLATFORM(IOS_FAMILY)
     return false;
 #else
-    return WebCore::PluginBlacklist::isPluginUpdateAvailable((__bridge NSString *)adoptCF(WKStringCopyCFString(kCFAllocatorDefault, plugInBundleIdentifierRef)).get());
+    return WebCore::PluginBlocklist::isPluginUpdateAvailable((__bridge NSString *)adoptCF(WKStringCopyCFString(kCFAllocatorDefault, plugInBundleIdentifierRef)).get());
 #endif
 }
 
@@ -156,7 +156,7 @@
 bool WKContextShouldBlockWebGL()
 {
 #if PLATFORM(MAC)
-    return WebCore::WebGLBlacklist::shouldBlockWebGL();
+    return WebCore::WebGLBlocklist::shouldBlockWebGL();
 #else
     return false;
 #endif
@@ -165,7 +165,7 @@
 bool WKContextShouldSuggestBlockWebGL()
 {
 #if PLATFORM(MAC)
-    return WebCore::WebGLBlacklist::shouldSuggestBlockingWebGL();
+    return WebCore::WebGLBlocklist::shouldSuggestBlockingWebGL();
 #else
     return false;
 #endif

Modified: trunk/Source/WebKit/UIProcess/Plugins/mac/PluginInfoStoreMac.mm (262825 => 262826)


--- trunk/Source/WebKit/UIProcess/Plugins/mac/PluginInfoStoreMac.mm	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebKit/UIProcess/Plugins/mac/PluginInfoStoreMac.mm	2020-06-10 00:05:48 UTC (rev 262826)
@@ -31,7 +31,7 @@
 #import "Logging.h"
 #import "NetscapePluginModule.h"
 #import "SandboxUtilities.h"
-#import <WebCore/PluginBlacklist.h>
+#import <WebCore/PluginBlocklist.h>
 #import <pwd.h>
 #import <wtf/HashSet.h>
 #import <wtf/RetainPtr.h>
@@ -113,12 +113,12 @@
 
 PluginModuleLoadPolicy PluginInfoStore::defaultLoadPolicyForPlugin(const PluginModuleInfo& plugin)
 {
-    switch (PluginBlacklist::loadPolicyForPluginVersion(plugin.bundleIdentifier, plugin.versionString)) {
-    case PluginBlacklist::LoadPolicy::LoadNormally:
+    switch (PluginBlocklist::loadPolicyForPluginVersion(plugin.bundleIdentifier, plugin.versionString)) {
+    case PluginBlocklist::LoadPolicy::LoadNormally:
         return PluginModuleLoadNormally;
-    case PluginBlacklist::LoadPolicy::BlockedForSecurity:
+    case PluginBlocklist::LoadPolicy::BlockedForSecurity:
         return PluginModuleBlockedForSecurity;
-    case PluginBlacklist::LoadPolicy::BlockedForCompatibility:
+    case PluginBlocklist::LoadPolicy::BlockedForCompatibility:
         return PluginModuleBlockedForCompatibility;
     }
 }

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (262825 => 262826)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2020-06-10 00:05:48 UTC (rev 262826)
@@ -1,3 +1,14 @@
+2020-06-09  Dean Jackson  <[email protected]>
+
+        Stop using discriminatory names for WebGL and Plugin blocking
+        https://bugs.webkit.org/show_bug.cgi?id=213000
+
+        Reviewed by Simon Fraser.
+
+        * WebCoreSupport/WebFrameLoaderClient.mm:
+        (shouldBlockPlugin):
+        (shouldBlockWebGL):
+
 2020-06-08  Jonathan Bedard  <[email protected]>
 
         WebKitLegacy: Exclude NSURLConnectionSPI.h from watchOS

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm (262825 => 262826)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm	2020-06-09 23:32:04 UTC (rev 262825)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm	2020-06-10 00:05:48 UTC (rev 262826)
@@ -108,7 +108,7 @@
 #import <WebCore/MIMETypeRegistry.h>
 #import <WebCore/MouseEvent.h>
 #import <WebCore/Page.h>
-#import <WebCore/PluginBlacklist.h>
+#import <WebCore/PluginBlocklist.h>
 #import <WebCore/PluginViewBase.h>
 #import <WebCore/ProtectionSpace.h>
 #import <WebCore/ResourceError.h>
@@ -119,7 +119,7 @@
 #import <WebCore/SharedBuffer.h>
 #import <WebCore/SubresourceLoader.h>
 #import <WebCore/WebCoreObjCExtras.h>
-#import <WebCore/WebGLBlacklist.h>
+#import <WebCore/WebGLBlocklist.h>
 #import <WebCore/WebScriptObjectPrivate.h>
 #import <WebCore/Widget.h>
 #import <WebKitLegacy/DOMElement.h>
@@ -1881,8 +1881,8 @@
 static bool shouldBlockPlugin(WebBasePluginPackage *pluginPackage)
 {
 #if PLATFORM(MAC)
-    auto loadPolicy = WebCore::PluginBlacklist::loadPolicyForPluginVersion(pluginPackage.bundleIdentifier, pluginPackage.bundleVersion);
-    return loadPolicy == WebCore::PluginBlacklist::LoadPolicy::BlockedForSecurity || loadPolicy == WebCore::PluginBlacklist::LoadPolicy::BlockedForCompatibility;
+    auto loadPolicy = WebCore::PluginBlocklist::loadPolicyForPluginVersion(pluginPackage.bundleIdentifier, pluginPackage.bundleVersion);
+    return loadPolicy == WebCore::PluginBlocklist::LoadPolicy::BlockedForSecurity || loadPolicy == WebCore::PluginBlocklist::LoadPolicy::BlockedForCompatibility;
 #else
     UNUSED_PARAM(pluginPackage);
     return false;
@@ -2104,7 +2104,7 @@
 static bool shouldBlockWebGL()
 {
 #if PLATFORM(MAC)
-    return WebCore::WebGLBlacklist::shouldBlockWebGL();
+    return WebCore::WebGLBlocklist::shouldBlockWebGL();
 #else
     return false;
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to