Diff
Modified: trunk/Source/WTF/ChangeLog (276879 => 276880)
--- trunk/Source/WTF/ChangeLog 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WTF/ChangeLog 2021-05-02 03:09:34 UTC (rev 276880)
@@ -1,3 +1,16 @@
+2021-04-30 Darin Adler <[email protected]>
+
+ Use SortedArrayMap in a few more places
+ https://bugs.webkit.org/show_bug.cgi?id=225251
+
+ Reviewed by Sam Weinig.
+
+ * wtf/SortedArrayMap.h: Added support for types that don't have a parse member function.
+
+ * wtf/cocoa/MainThreadCocoa.mm: Removed unneeded includes.
+ * wtf/text/AtomStringImpl.cpp: Ditto.
+ * wtf/text/AtomStringTable.cpp: Ditto.
+
2021-05-01 Chris Dumez <[email protected]>
Start leveraging std::filesystem in WTF::FileSystem
Modified: trunk/Source/WTF/wtf/SortedArrayMap.h (276879 => 276880)
--- trunk/Source/WTF/wtf/SortedArrayMap.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WTF/wtf/SortedArrayMap.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -136,9 +136,18 @@
}));
}
+template<typename, typename = void> constexpr bool HasParseMember = false;
+template<typename T> constexpr bool HasParseMember<T, std::void_t<decltype(std::declval<T>().parse)>> = true;
+
template<typename ArrayType> template<typename KeyArgument> inline auto SortedArrayMap<ArrayType>::tryGet(const KeyArgument& key) const -> const ValueType*
{
- auto parsedKey = ElementType::first_type::parse(key);
+ using KeyType = typename ElementType::first_type;
+ auto parsedKey = [&key] {
+ if constexpr (HasParseMember<KeyType>)
+ return KeyType::parse(key);
+ else
+ return makeOptional(key);
+ }();
if (!parsedKey)
return nullptr;
decltype(std::begin(m_array)) iterator;
@@ -172,8 +181,15 @@
template<typename ArrayType> template<typename KeyArgument> inline bool SortedArraySet<ArrayType>::contains(const KeyArgument& key) const
{
- using ElementType = typename std::remove_extent_t<ArrayType>;
- auto parsedKey = ElementType::parse(key);
+ using KeyType = typename std::remove_extent_t<ArrayType>;
+ auto parsedKey = [&key] {
+ if constexpr (HasParseMember<KeyType>)
+ return KeyType::parse(key);
+ else
+ return makeOptional(key);
+ }();
+ if (!parsedKey)
+ return false;
if (std::size(m_array) < binarySearchThreshold)
return std::find(std::begin(m_array), std::end(m_array), *parsedKey) != std::end(m_array);
auto iterator = std::lower_bound(std::begin(m_array), std::end(m_array), *parsedKey);
Modified: trunk/Source/WTF/wtf/cocoa/MainThreadCocoa.mm (276879 => 276880)
--- trunk/Source/WTF/wtf/cocoa/MainThreadCocoa.mm 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WTF/wtf/cocoa/MainThreadCocoa.mm 2021-05-02 03:09:34 UTC (rev 276880)
@@ -35,7 +35,6 @@
#import <stdio.h>
#import <wtf/Assertions.h>
#import <wtf/BlockPtr.h>
-#import <wtf/HashSet.h>
#import <wtf/RetainPtr.h>
#import <wtf/RunLoop.h>
#import <wtf/SchedulePair.h>
Modified: trunk/Source/WTF/wtf/text/AtomStringImpl.cpp (276879 => 276880)
--- trunk/Source/WTF/wtf/text/AtomStringImpl.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WTF/wtf/text/AtomStringImpl.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -24,7 +24,6 @@
#include "config.h"
#include <wtf/text/AtomStringImpl.h>
-#include <wtf/HashSet.h>
#include <wtf/Threading.h>
#include <wtf/text/AtomStringTable.h>
#include <wtf/text/StringHash.h>
Modified: trunk/Source/WTF/wtf/text/AtomStringTable.cpp (276879 => 276880)
--- trunk/Source/WTF/wtf/text/AtomStringTable.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WTF/wtf/text/AtomStringTable.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -23,8 +23,6 @@
#include "config.h"
#include <wtf/text/AtomStringTable.h>
-#include <wtf/HashSet.h>
-
namespace WTF {
AtomStringTable::~AtomStringTable()
Modified: trunk/Source/WebCore/ChangeLog (276879 => 276880)
--- trunk/Source/WebCore/ChangeLog 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/ChangeLog 2021-05-02 03:09:34 UTC (rev 276880)
@@ -1,3 +1,80 @@
+2021-04-30 Darin Adler <[email protected]>
+
+ Use SortedArrayMap in a few more places
+ https://bugs.webkit.org/show_bug.cgi?id=225251
+
+ Reviewed by Sam Weinig.
+
+ * Modules/encryptedmedia/CDM.h: Removed unneeded includes.
+ * Modules/indexeddb/server/IDBServer.h: Ditto.
+ * contentextensions/ContentExtensionActions.h: Ditto.
+ * css/CSSVariableData.h: Ditto.
+ * dom/FullscreenManager.h: Ditto.
+
+ * dom/ScriptElement.cpp:
+ (WebCore::isLegacySupportedJavaScriptLanguage): Use SortedArraySet.
+ (WebCore::ScriptElement::executeClassicScript): Fixed typo.
+ (WebCore::ScriptElement::executeModuleScript): Ditto.
+
+ * inspector/InspectorAuditResourcesObject.cpp: Removed unneeded includes.
+ * inspector/agents/InspectorNetworkAgent.cpp: Ditto.
+ * loader/appcache/ApplicationCacheGroup.cpp: Ditto.
+ * page/UserContentProvider.h: Ditto.
+ * page/ios/DOMTimerHoldingTank.cpp: Ditto.
+ * page/scrolling/ScrollingCoordinator.h: Ditto.
+
+ * page/scrolling/ScrollingTreeNode.h: Added forward declaration
+ that used to be inherited from another file where it's not needed.
+
+ * platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
+ (WebCore::GameControllerGamepadProvider::willHandleVendorAndProduct):
+ Use a switch statement.
+
+ * platform/gamepad/mac/HIDGamepadElement.h: Removed unneeded includes.
+ * platform/graphics/FontPlatformData.cpp: Ditto.
+ * platform/graphics/HEVCUtilities.cpp: Ditto.
+ * platform/graphics/IntRectHash.h: Ditto.
+
+ * platform/graphics/MIMETypeCache.cpp:
+ (WebCore::MIMETypeCache::isStaticContainerType): Renamed; this replaces
+ the old staticContainerTypeList function and just returns false.
+
+ * platform/graphics/MIMETypeCache.h: Replaced the staticContainerTypeList
+ fucntion with an isStaticContainerType function. Also made it, and one
+ other function, private.
+
+ * platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.h: Updated
+ for the change to MIMETypeCache.
+
+ * platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:
+ (WebCore::AVAssetMIMETypeCache::isStaticContainerType): Use SortedArraySet.
+
+ * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
+ Removed unneeded includes.
+ * platform/graphics/coreimage/FilterEffectRendererCoreImage.h: Ditto.
+ * platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp: Ditto.
+ * platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h: Ditto.
+ * platform/mediastream/mac/CoreAudioCaptureDeviceManager.h: Ditto.
+ * platform/mediastream/mac/CoreAudioCaptureSource.h: Ditto.
+ * platform/network/cf/FormDataStreamCFNet.cpp: Ditto.
+
+ * platform/network/mac/UTIUtilities.mm:
+ (WebCore::UTIFromUnknownMIMEType): Use SortedArrayMap. Also fixed a regression
+ from r271533 where we accidentally deleted the MIME type model/vnd.reality.
+
+ * rendering/ComplexLineLayout.cpp:
+ (WebCore::setLogicalWidthForTextRun): Use a range-based for loop.
+
+ * rendering/updating/RenderTreeUpdater.h: Removed unneeded includes.
+ * storage/StorageNamespaceProvider.h: Ditto.
+ * storage/StorageQuotaManager.h: Ditto.
+ * style/StyleUpdate.h: Ditto.
+ * svg/SVGFitToViewBox.h: Ditto.
+
+ * svg/SVGTests.cpp:
+ (WebCore::SVGTests::isValid const): Use SortedArraySet.
+ (WebCore::SVGTests::hasFeatureForLegacyBindings): Ditto.
+
2021-05-01 Sam Weinig <[email protected]>
Update operations in CanvasImageData.idl to use long rather than float as per spec
Modified: trunk/Source/WebCore/Modules/encryptedmedia/CDM.h (276879 => 276880)
--- trunk/Source/WebCore/Modules/encryptedmedia/CDM.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/Modules/encryptedmedia/CDM.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -34,7 +34,6 @@
#include "MediaKeysRestrictions.h"
#include "SharedBuffer.h"
#include <wtf/Function.h>
-#include <wtf/HashSet.h>
#include <wtf/Ref.h>
#include <wtf/RefCounted.h>
#include <wtf/WeakPtr.h>
Modified: trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h (276879 => 276880)
--- trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -36,7 +36,6 @@
#include <wtf/HashMap.h>
#include <wtf/Lock.h>
#include <wtf/RefPtr.h>
-#include <wtf/WeakHashSet.h>
namespace WebCore {
Modified: trunk/Source/WebCore/contentextensions/ContentExtensionActions.h (276879 => 276880)
--- trunk/Source/WebCore/contentextensions/ContentExtensionActions.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/contentextensions/ContentExtensionActions.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -27,18 +27,20 @@
#if ENABLE(CONTENT_EXTENSIONS)
-#include <wtf/HashSet.h>
+#include <wtf/Vector.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
-struct ContentRuleListResults;
class Page;
class ResourceRequest;
+struct ContentRuleListResults;
+
namespace ContentExtensions {
struct Action;
+
using SerializedActionByte = uint8_t;
enum class ActionType : uint8_t {
Modified: trunk/Source/WebCore/css/CSSVariableData.h (276879 => 276880)
--- trunk/Source/WebCore/css/CSSVariableData.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/css/CSSVariableData.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -32,7 +32,6 @@
#include "CSSParserToken.h"
#include "CSSParserTokenRange.h"
#include "CSSRegisteredCustomProperty.h"
-#include <wtf/HashSet.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
Modified: trunk/Source/WebCore/dom/FullscreenManager.h (276879 => 276880)
--- trunk/Source/WebCore/dom/FullscreenManager.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/dom/FullscreenManager.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -31,9 +31,6 @@
#include "GenericTaskQueue.h"
#include "LayoutRect.h"
#include <wtf/Deque.h>
-#include <wtf/RefPtr.h>
-#include <wtf/Vector.h>
-#include <wtf/WeakHashSet.h>
namespace WebCore {
Modified: trunk/Source/WebCore/dom/ScriptElement.cpp (276879 => 276880)
--- trunk/Source/WebCore/dom/ScriptElement.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/dom/ScriptElement.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -53,10 +53,9 @@
#include "ScriptableDocumentParser.h"
#include "Settings.h"
#include "TextNodeTraversal.h"
+#include <wtf/SortedArrayMap.h>
#include <wtf/StdLibExtras.h>
#include <wtf/SystemTracing.h>
-#include <wtf/text/StringBuilder.h>
-#include <wtf/text/StringHash.h>
namespace WebCore {
@@ -110,21 +109,22 @@
static bool isLegacySupportedJavaScriptLanguage(const String& language)
{
- static const auto languages = makeNeverDestroyed(HashSet<String, ASCIICaseInsensitiveHash> {
- "_javascript_"_s,
- "_javascript_1.0"_s,
- "_javascript_1.1"_s,
- "_javascript_1.2"_s,
- "_javascript_1.3"_s,
- "_javascript_1.4"_s,
- "_javascript_1.5"_s,
- "_javascript_1.6"_s,
- "_javascript_1.7"_s,
- "livescript"_s,
- "ecmascript"_s,
- "jscript"_s,
- });
- return languages.get().contains(language);
+ static constexpr ComparableLettersLiteral languageArray[] = {
+ "ecmascript",
+ "_javascript_",
+ "_javascript_1.0",
+ "_javascript_1.1",
+ "_javascript_1.2",
+ "_javascript_1.3",
+ "_javascript_1.4",
+ "_javascript_1.5",
+ "_javascript_1.6",
+ "_javascript_1.7",
+ "jscript",
+ "livescript",
+ };
+ static constexpr SortedArraySet languageSet { languageArray };
+ return languageSet.contains(language);
}
void ScriptElement::dispatchErrorEvent()
@@ -398,7 +398,7 @@
if (!frame)
return;
- IgnoreDestructiveWriteCountIncrementer ignoreDesctructiveWriteCountIncrementer(m_isExternalScript ? &document : nullptr);
+ IgnoreDestructiveWriteCountIncrementer ignoreDestructiveWriteCountIncrementer(m_isExternalScript ? &document : nullptr);
CurrentScriptIncrementer currentScriptIncrementer(document, *this);
WTFBeginSignpost(this, "Execute Script Element", "executing classic script from URL: %{public}s async: %d defer: %d", m_isExternalScript ? sourceCode.url().string().utf8().data() : "inline", hasAsyncAttribute(), hasDeferAttribute());
@@ -417,7 +417,7 @@
if (!frame)
return;
- IgnoreDestructiveWriteCountIncrementer ignoreDesctructiveWriteCountIncrementer(&document);
+ IgnoreDestructiveWriteCountIncrementer ignoreDestructiveWriteCountIncrementer(&document);
CurrentScriptIncrementer currentScriptIncrementer(document, *this);
WTFBeginSignpost(this, "Execute Script Element", "executing module script");
Modified: trunk/Source/WebCore/inspector/InspectorAuditResourcesObject.cpp (276879 => 276880)
--- trunk/Source/WebCore/inspector/InspectorAuditResourcesObject.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/inspector/InspectorAuditResourcesObject.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -34,7 +34,6 @@
#include "CachedSVGDocument.h"
#include "Document.h"
#include "InspectorPageAgent.h"
-#include <wtf/HashMap.h>
#include <wtf/Vector.h>
#include <wtf/text/WTFString.h>
Modified: trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp (276879 => 276880)
--- trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -81,8 +81,6 @@
#include <_javascript_Core/JSCInlines.h>
#include <_javascript_Core/ScriptCallStack.h>
#include <_javascript_Core/ScriptCallStackFactory.h>
-#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
#include <wtf/JSONValues.h>
#include <wtf/Lock.h>
#include <wtf/RefPtr.h>
Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp (276879 => 276880)
--- trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -50,7 +50,6 @@
#include "SecurityOrigin.h"
#include "Settings.h"
#include <wtf/CompletionHandler.h>
-#include <wtf/HashMap.h>
#include <wtf/MainThread.h>
namespace WebCore {
Modified: trunk/Source/WebCore/page/UserContentProvider.h (276879 => 276880)
--- trunk/Source/WebCore/page/UserContentProvider.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/page/UserContentProvider.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -26,9 +26,7 @@
#pragma once
#include <functional>
-#include <wtf/Forward.h>
#include <wtf/Function.h>
-#include <wtf/HashSet.h>
#include <wtf/RefCounted.h>
#include <wtf/WeakHashSet.h>
#include <wtf/WeakPtr.h>
@@ -43,21 +41,11 @@
class DOMWrapperWorld;
class DocumentLoader;
class Page;
-class ResourceRequest;
+class UserContentProvider;
class UserMessageHandlerDescriptor;
class UserScript;
class UserStyleSheet;
-#if ENABLE(CONTENT_EXTENSIONS)
-namespace ContentExtensions {
-class ContentExtensionsBackend;
-enum class ResourceType : uint16_t;
-struct ResourceLoadInfo;
-}
-#endif
-
-class UserContentProvider;
-
class UserContentProviderInvalidationClient : public CanMakeWeakPtr<UserContentProviderInvalidationClient> {
public:
virtual ~UserContentProviderInvalidationClient()
Modified: trunk/Source/WebCore/page/ios/DOMTimerHoldingTank.cpp (276879 => 276880)
--- trunk/Source/WebCore/page/ios/DOMTimerHoldingTank.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/page/ios/DOMTimerHoldingTank.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -28,8 +28,6 @@
#if PLATFORM(IOS_FAMILY)
-#include <wtf/HashSet.h>
-
namespace WebCore {
#if PLATFORM(IOS_SIMULATOR)
Modified: trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h (276879 => 276880)
--- trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -33,15 +33,10 @@
#include "ScrollingCoordinatorTypes.h"
#include <wtf/Forward.h>
#include <wtf/ThreadSafeRefCounted.h>
+#include <wtf/Threading.h>
#include <wtf/TypeCasts.h>
#include <wtf/Variant.h>
-#if ENABLE(ASYNC_SCROLLING)
-#include <wtf/HashMap.h>
-#include <wtf/ThreadSafeRefCounted.h>
-#include <wtf/Threading.h>
-#endif
-
namespace WTF {
class TextStream;
}
@@ -60,10 +55,6 @@
class ScrollableArea;
class ViewportConstraints;
-#if ENABLE(ASYNC_SCROLLING)
-class ScrollingTree;
-#endif
-
using FramesPerSecond = unsigned;
using PlatformDisplayID = uint32_t;
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.h (276879 => 276880)
--- trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -37,6 +37,7 @@
namespace WebCore {
class ScrollingStateFixedNode;
+class ScrollingTree;
class ScrollingTreeFrameScrollingNode;
class ScrollingTreeScrollingNode;
Modified: trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm (276879 => 276880)
--- trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm 2021-05-02 03:09:34 UTC (rev 276880)
@@ -41,35 +41,33 @@
namespace WebCore {
#if !HAVE(GCCONTROLLER_HID_DEVICE_CHECK)
+
bool GameControllerGamepadProvider::willHandleVendorAndProduct(uint16_t vendorID, uint16_t productID)
{
- // Check the vendor/product IDs agains a hard coded list of controllers we expect to work well with
- // GameController.framework on 10.15.
- static NeverDestroyed<HashSet<uint32_t>> gameControllerCompatibleGamepads;
+ // Check the vendor/product ID pair against a hard coded list of controllers we expect to work
+ // well with GameController.framework on macOS 10.15.
+ switch ((static_cast<uint32_t>(vendorID) << 16) | productID) {
+ case Dualshock4_1:
+ case Dualshock4_2:
+ case GamesirM2:
+ case HoripadUltimate:
+ case Nimbus1:
+ case Nimbus2:
+ case StratusXL1:
+ case StratusXL2:
+ case StratusXL3:
+ case StratusXL4:
+ case XboxOne1:
+ case XboxOne2:
+ case XboxOne3:
+ return true;
+ default:
+ return false;
+ }
+}
- static std::once_flag onceFlag;
- std::call_once(onceFlag, [] {
- gameControllerCompatibleGamepads->add(Nimbus1);
- gameControllerCompatibleGamepads->add(Nimbus2);
- gameControllerCompatibleGamepads->add(StratusXL1);
- gameControllerCompatibleGamepads->add(StratusXL2);
- gameControllerCompatibleGamepads->add(StratusXL3);
- gameControllerCompatibleGamepads->add(StratusXL4);
- gameControllerCompatibleGamepads->add(HoripadUltimate);
- gameControllerCompatibleGamepads->add(GamesirM2);
- gameControllerCompatibleGamepads->add(XboxOne1);
- gameControllerCompatibleGamepads->add(XboxOne2);
- gameControllerCompatibleGamepads->add(XboxOne3);
- gameControllerCompatibleGamepads->add(Dualshock4_1);
- gameControllerCompatibleGamepads->add(Dualshock4_2);
- });
-
- uint32_t fullProductID = (((uint32_t)vendorID) << 16) | productID;
- return gameControllerCompatibleGamepads->contains(fullProductID);
-}
#endif // !HAVE(GCCONTROLLER_HID_DEVICE_CHECK)
-
static const Seconds inputNotificationDelay { 16_ms };
GameControllerGamepadProvider& GameControllerGamepadProvider::singleton()
@@ -80,7 +78,6 @@
GameControllerGamepadProvider::GameControllerGamepadProvider()
: m_inputNotificationTimer(RunLoop::current(), this, &GameControllerGamepadProvider::inputNotificationTimerFired)
-
{
}
Modified: trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadElement.h (276879 => 276880)
--- trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadElement.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadElement.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -29,9 +29,6 @@
#include "HIDElement.h"
#include "SharedGamepadValue.h"
-#include <wtf/HashMap.h>
-#include <wtf/RetainPtr.h>
-#include <wtf/UniqueRef.h>
namespace WebCore {
Modified: trunk/Source/WebCore/platform/graphics/FontPlatformData.cpp (276879 => 276880)
--- trunk/Source/WebCore/platform/graphics/FontPlatformData.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/graphics/FontPlatformData.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -21,20 +21,6 @@
#include "config.h"
#include "FontPlatformData.h"
-#include <wtf/HashMap.h>
-#include <wtf/RetainPtr.h>
-#include <wtf/text/StringHash.h>
-#include <wtf/text/WTFString.h>
-
-#if OS(DARWIN) && USE(CG)
-#include "SharedBuffer.h"
-#include <CoreGraphics/CGFont.h>
-#endif
-
-#if PLATFORM(WIN) && USE(CORE_TEXT)
-#include <pal/spi/win/CoreTextSPIWin.h>
-#endif
-
namespace WebCore {
FontPlatformData::FontPlatformData(WTF::HashTableDeletedValueType)
Modified: trunk/Source/WebCore/platform/graphics/HEVCUtilities.cpp (276879 => 276880)
--- trunk/Source/WebCore/platform/graphics/HEVCUtilities.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/graphics/HEVCUtilities.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -28,7 +28,6 @@
#include <wtf/NeverDestroyed.h>
#include <wtf/RobinHoodHashMap.h>
-#include <wtf/RobinHoodHashSet.h>
#include <wtf/text/StringHash.h>
#include <wtf/text/StringToIntegerConversion.h>
Modified: trunk/Source/WebCore/platform/graphics/IntRectHash.h (276879 => 276880)
--- trunk/Source/WebCore/platform/graphics/IntRectHash.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/graphics/IntRectHash.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -23,13 +23,11 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef IntRectHash_h
-#define IntRectHash_h
+#pragma once
#include "IntPointHash.h"
#include "IntRect.h"
#include "IntSizeHash.h"
-#include <wtf/HashSet.h>
namespace WTF {
@@ -53,5 +51,3 @@
};
}
-
-#endif
Modified: trunk/Source/WebCore/platform/graphics/MIMETypeCache.cpp (276879 => 276880)
--- trunk/Source/WebCore/platform/graphics/MIMETypeCache.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/graphics/MIMETypeCache.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019 Apple Inc. All rights reserved.
+ * Copyright (C) 2019-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -48,10 +48,7 @@
if (isUnsupportedContainerType(containerType))
return false;
- if (staticContainerTypeList().contains(containerType))
- return true;
-
- return supportedTypes().contains(containerType);
+ return isStaticContainerType(containerType) || supportedTypes().contains(containerType);
}
MediaPlayerEnums::SupportsType MIMETypeCache::canDecodeType(const String& mimeType)
@@ -106,10 +103,9 @@
m_supportedTypes->add(type);
}
-const HashSet<String, ASCIICaseInsensitiveHash>& MIMETypeCache::staticContainerTypeList()
+bool MIMETypeCache::isStaticContainerType(StringView)
{
- static const auto cache = makeNeverDestroyed(HashSet<String, ASCIICaseInsensitiveHash> { });
- return cache;
+ return false;
}
bool MIMETypeCache::isUnsupportedContainerType(const String&)
@@ -144,7 +140,7 @@
// it is not RFC 3003 compliant.
if (equalIgnoringASCIICase(type.containerType(), "audio/mpeg")) {
auto codecs = type.codecs();
- return (codecs.size() == 1 && codecs[0] == "mp3");
+ return codecs.size() == 1 && codecs[0] == "mp3";
}
return false;
@@ -151,4 +147,3 @@
}
}
-
Modified: trunk/Source/WebCore/platform/graphics/MIMETypeCache.h (276879 => 276880)
--- trunk/Source/WebCore/platform/graphics/MIMETypeCache.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/graphics/MIMETypeCache.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -43,8 +43,6 @@
virtual ~MIMETypeCache() = default;
virtual bool isAvailable() const;
- virtual const HashSet<String, ASCIICaseInsensitiveHash>& staticContainerTypeList();
- virtual bool isUnsupportedContainerType(const String&);
virtual MediaPlayerEnums::SupportsType canDecodeType(const String&);
virtual HashSet<String, ASCIICaseInsensitiveHash>& supportedTypes();
@@ -55,6 +53,8 @@
void addSupportedTypes(const Vector<String>&);
private:
+ virtual bool isStaticContainerType(StringView);
+ virtual bool isUnsupportedContainerType(const String&);
virtual void initializeCache(HashSet<String, ASCIICaseInsensitiveHash>&);
virtual bool canDecodeExtendedType(const ContentType&);
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.h (276879 => 276880)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -41,8 +41,6 @@
void setCacheMIMETypesCallback(CacheMIMETypesCallback&& callback) { m_cacheTypeCallback = WTFMove(callback); }
bool isAvailable() const final;
- const HashSet<String, ASCIICaseInsensitiveHash>& staticContainerTypeList() final;
- bool isUnsupportedContainerType(const String&) final;
void addSupportedTypes(const Vector<String>&);
@@ -50,6 +48,8 @@
friend NeverDestroyed<AVAssetMIMETypeCache>;
AVAssetMIMETypeCache() = default;
+ bool isStaticContainerType(StringView) final;
+ bool isUnsupportedContainerType(const String&) final;
bool canDecodeExtendedType(const ContentType&) final;
void initializeCache(HashSet<String, ASCIICaseInsensitiveHash>&) final;
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm (276879 => 276880)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm 2021-05-02 03:09:34 UTC (rev 276880)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016-2018 Apple Inc. All rights reserved.
+ * Copyright (C) 2016-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -30,6 +30,8 @@
#import "ContentType.h"
#import "SourceBufferParserWebM.h"
+#import <wtf/SortedArrayMap.h>
+
#import <pal/cf/CoreMediaSoftLink.h>
#import <pal/cocoa/AVFoundationSoftLink.h>
@@ -92,42 +94,43 @@
return false;
}
-const HashSet<String, ASCIICaseInsensitiveHash>& AVAssetMIMETypeCache::staticContainerTypeList()
+bool AVAssetMIMETypeCache::isStaticContainerType(StringView type)
{
- static const auto cache = makeNeverDestroyed(HashSet<String, ASCIICaseInsensitiveHash> {
- "application/vnd.apple.mpegurl"_s,
- "application/x-mpegurl"_s,
- "audio/3gpp"_s,
- "audio/aac"_s,
- "audio/aacp"_s,
- "audio/aiff"_s,
- "audio/basic"_s,
- "audio/mp3"_s,
- "audio/mp4"_s,
- "audio/mpeg"_s,
- "audio/mpeg3"_s,
- "audio/mpegurl"_s,
- "audio/mpg"_s,
- "audio/vnd.wave"_s,
- "audio/wav"_s,
- "audio/wave"_s,
- "audio/x-aac"_s,
- "audio/x-aiff"_s,
- "audio/x-m4a"_s,
- "audio/x-mpegurl"_s,
- "audio/x-wav"_s,
- "video/3gpp"_s,
- "video/3gpp2"_s,
- "video/mp4"_s,
- "video/mpeg"_s,
- "video/mpeg2"_s,
- "video/mpg"_s,
- "video/quicktime"_s,
- "video/x-m4v"_s,
- "video/x-mpeg"_s,
- "video/x-mpg"_s,
- });
- return cache;
+ static constexpr ComparableLettersLiteral staticContainerTypesArray[] = {
+ "application/vnd.apple.mpegurl",
+ "application/x-mpegurl",
+ "audio/3gpp",
+ "audio/aac",
+ "audio/aacp",
+ "audio/aiff",
+ "audio/basic",
+ "audio/mp3",
+ "audio/mp4",
+ "audio/mpeg",
+ "audio/mpeg3",
+ "audio/mpegurl",
+ "audio/mpg",
+ "audio/vnd.wave",
+ "audio/wav",
+ "audio/wave",
+ "audio/x-aac",
+ "audio/x-aiff",
+ "audio/x-m4a",
+ "audio/x-mpegurl",
+ "audio/x-wav",
+ "video/3gpp",
+ "video/3gpp2",
+ "video/mp4",
+ "video/mpeg",
+ "video/mpeg2",
+ "video/mpg",
+ "video/quicktime",
+ "video/x-m4v",
+ "video/x-mpeg",
+ "video/x-mpg",
+ };
+ static constexpr SortedArraySet staticContainerTypesSet { staticContainerTypesArray };
+ return staticContainerTypesSet.contains(type);
}
void AVAssetMIMETypeCache::addSupportedTypes(const Vector<String>& types)
@@ -143,7 +146,7 @@
if (!isAvailable())
return;
- for (NSString* type in [PAL::getAVURLAssetClass() audiovisualMIMETypes])
+ for (NSString *type in [PAL::getAVURLAssetClass() audiovisualMIMETypes])
cache.add(type);
#if ENABLE(WEBM_FORMAT_READER)
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h (276879 => 276880)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -30,9 +30,7 @@
#include "CDMInstance.h"
#include "CDMInstanceSession.h"
#include <wtf/Function.h>
-#include <wtf/HashMap.h>
#include <wtf/RetainPtr.h>
-#include <wtf/text/WTFString.h>
OBJC_CLASS AVContentKeyReportGroup;
OBJC_CLASS AVContentKeyRequest;
Modified: trunk/Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.h (276879 => 276880)
--- trunk/Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -28,7 +28,6 @@
#if USE(CORE_IMAGE)
#import "FilterEffectRenderer.h"
-#import <wtf/HashMap.h>
#import <wtf/Vector.h>
OBJC_CLASS CIImage;
Modified: trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp (276879 => 276880)
--- trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -28,10 +28,6 @@
#if ENABLE(MEDIA_STREAM)
-#include <wtf/HashMap.h>
-#include <wtf/text/AtomString.h>
-#include <wtf/text/AtomStringHash.h>
-
namespace WebCore {
bool RealtimeMediaSourceSupportedConstraints::supportsConstraint(MediaConstraintType constraint) const
Modified: trunk/Source/WebCore/platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h (276879 => 276880)
--- trunk/Source/WebCore/platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -29,8 +29,6 @@
#include "CaptureDeviceManager.h"
#include "GenericTaskQueue.h"
-#include <wtf/Forward.h>
-#include <wtf/HashSet.h>
#include <wtf/Lock.h>
#include <wtf/RetainPtr.h>
#include <wtf/WorkQueue.h>
Modified: trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.h (276879 => 276880)
--- trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -31,8 +31,6 @@
#include "CaptureDeviceManager.h"
#include "GenericTaskQueue.h"
#include <CoreAudio/CoreAudio.h>
-#include <wtf/HashMap.h>
-#include <wtf/RefPtr.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
Modified: trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h (276879 => 276880)
--- trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -33,10 +33,6 @@
#include "RealtimeMediaSourceFactory.h"
#include <AudioToolbox/AudioToolbox.h>
#include <CoreAudio/CoreAudioTypes.h>
-#include <wtf/HashMap.h>
-#include <wtf/Lock.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
#include <wtf/text/WTFString.h>
typedef struct OpaqueCMClock* CMClockRef;
Modified: trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.cpp (276879 => 276880)
--- trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -36,7 +36,6 @@
#include <sys/types.h>
#include <wtf/Assertions.h>
#include <wtf/FileSystem.h>
-#include <wtf/HashMap.h>
#include <wtf/MainThread.h>
#include <wtf/RetainPtr.h>
#include <wtf/SchedulePair.h>
Modified: trunk/Source/WebCore/platform/network/mac/UTIUtilities.mm (276879 => 276880)
--- trunk/Source/WebCore/platform/network/mac/UTIUtilities.mm 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/platform/network/mac/UTIUtilities.mm 2021-05-02 03:09:34 UTC (rev 276880)
@@ -28,8 +28,8 @@
#import <wtf/Lock.h>
#import <wtf/MainThread.h>
+#import <wtf/SortedArrayMap.h>
#import <wtf/TinyLRUCache.h>
-#import <wtf/text/StringHash.h>
#import <wtf/text/WTFString.h>
#if PLATFORM(IOS_FAMILY)
@@ -85,24 +85,16 @@
return emptyString();
}
-static CFStringRef UTIFromUnknownMIMEType(const String& mimeType)
+static CFStringRef UTIFromUnknownMIMEType(StringView mimeType)
{
- static const auto map = makeNeverDestroyed([] {
- HashMap<String, CFStringRef, ASCIICaseInsensitiveHash> map;
- auto pixarMIMEType = CFSTR("com.pixar.universal-scene-description-mobile");
- map.add("model/vnd.usdz+zip"_s, pixarMIMEType);
- map.add("model/usd"_s, pixarMIMEType);
- map.add("model/vnd.pixar.usd"_s, pixarMIMEType);
- map.add("model/vnd.usdz+zip"_s, CFSTR("com.apple.reality"));
- return map;
- }());
-
- static const CFStringRef emptyCFString = CFSTR("");
- auto mapEntry = map.get().find(mimeType);
- if (mapEntry == map.get().end())
- return emptyCFString;
-
- return mapEntry->value;
+ static constexpr std::pair<ComparableLettersLiteral, NSString *> typesArray[] = {
+ { "model/usd", @"com.pixar.universal-scene-description-mobile" },
+ { "model/vnd.pixar.usd", @"com.pixar.universal-scene-description-mobile" },
+ { "model/vnd.reality", @"com.apple.reality" },
+ { "model/vnd.usdz+zip", @"com.pixar.universal-scene-description-mobile" },
+ };
+ static constexpr SortedArrayMap typesMap { typesArray };
+ return (__bridge CFStringRef)typesMap.get(mimeType, @"");
}
struct UTIFromMIMETypeCachePolicy : TinyLRUCachePolicy<String, RetainPtr<CFStringRef>> {
Modified: trunk/Source/WebCore/rendering/ComplexLineLayout.cpp (276879 => 276880)
--- trunk/Source/WebCore/rendering/ComplexLineLayout.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/rendering/ComplexLineLayout.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -520,11 +520,8 @@
measuredWidth += wordMeasurement.width;
atFirstWordMeasurement = false;
- if (!wordMeasurement.fallbackFonts.isEmpty()) {
- HashSet<const Font*>::const_iterator end = wordMeasurement.fallbackFonts.end();
- for (HashSet<const Font*>::const_iterator it = wordMeasurement.fallbackFonts.begin(); it != end; ++it)
- fallbackFonts.add(*it);
- }
+ for (auto& font : wordMeasurement.fallbackFonts)
+ fallbackFonts.add(font);
}
if (measuredWidth && lastEndOffset != run->m_stop) {
// If we don't have enough cached data, we'll measure the run again.
Modified: trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.h (276879 => 276880)
--- trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -30,7 +30,6 @@
#include "StyleChange.h"
#include "StyleTreeResolver.h"
#include "StyleUpdate.h"
-#include <wtf/HashSet.h>
#include <wtf/Vector.h>
namespace WebCore {
Modified: trunk/Source/WebCore/storage/StorageNamespaceProvider.h (276879 => 276880)
--- trunk/Source/WebCore/storage/StorageNamespaceProvider.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/storage/StorageNamespaceProvider.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -26,9 +26,7 @@
#pragma once
#include "SecurityOriginHash.h"
-#include <wtf/Forward.h>
#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
#include <wtf/RefCounted.h>
namespace PAL {
Modified: trunk/Source/WebCore/storage/StorageQuotaManager.h (276879 => 276880)
--- trunk/Source/WebCore/storage/StorageQuotaManager.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/storage/StorageQuotaManager.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -27,8 +27,6 @@
#include <wtf/CompletionHandler.h>
#include <wtf/Deque.h>
-#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
#include <wtf/WeakPtr.h>
#include <wtf/WorkQueue.h>
Modified: trunk/Source/WebCore/style/StyleUpdate.h (276879 => 276880)
--- trunk/Source/WebCore/style/StyleUpdate.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/style/StyleUpdate.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -28,7 +28,6 @@
#include "Node.h"
#include "StyleChange.h"
#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
#include <wtf/ListHashSet.h>
namespace WebCore {
Modified: trunk/Source/WebCore/svg/SVGFitToViewBox.h (276879 => 276880)
--- trunk/Source/WebCore/svg/SVGFitToViewBox.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/svg/SVGFitToViewBox.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -27,7 +27,6 @@
#include "SVGNames.h"
#include "SVGPreserveAspectRatio.h"
#include "SVGPropertyOwnerRegistry.h"
-#include <wtf/HashSet.h>
namespace WebCore {
Modified: trunk/Source/WebCore/svg/SVGTests.cpp (276879 => 276880)
--- trunk/Source/WebCore/svg/SVGTests.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebCore/svg/SVGTests.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -1,7 +1,7 @@
/*
* Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <[email protected]>
* Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <[email protected]>
- * Copyright (C) 2015-2018 Apple Inc. All right reserved.
+ * Copyright (C) 2015-2021 Apple Inc. All right reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,7 +28,7 @@
#include "SVGNames.h"
#include "SVGStringList.h"
#include <wtf/Language.h>
-#include <wtf/NeverDestroyed.h>
+#include <wtf/SortedArrayMap.h>
#if ENABLE(MATHML)
#include "MathMLNames.h"
@@ -36,75 +36,57 @@
namespace WebCore {
-using namespace SVGNames;
+constexpr ComparableLettersLiteral supportedSVGFeatureArray[] = {
+ "http://www.w3.org/tr/svg11/feature#animation",
+ "http://www.w3.org/tr/svg11/feature#basegraphicsattribute",
+ "http://www.w3.org/tr/svg11/feature#basicclip",
+ "http://www.w3.org/tr/svg11/feature#basicfilter",
+ "http://www.w3.org/tr/svg11/feature#basicfont",
+ "http://www.w3.org/tr/svg11/feature#basicpaintattribute",
+ "http://www.w3.org/tr/svg11/feature#basicstructure",
+ "http://www.w3.org/tr/svg11/feature#basictext",
+ "http://www.w3.org/tr/svg11/feature#clip",
+ "http://www.w3.org/tr/svg11/feature#conditionalprocessing",
+ "http://www.w3.org/tr/svg11/feature#containerattribute",
+ "http://www.w3.org/tr/svg11/feature#coreattribute",
+ "http://www.w3.org/tr/svg11/feature#cursor",
+ "http://www.w3.org/tr/svg11/feature#documenteventsattribute",
+ "http://www.w3.org/tr/svg11/feature#extensibility",
+ "http://www.w3.org/tr/svg11/feature#externalresourcesrequired",
+ "http://www.w3.org/tr/svg11/feature#filter",
+ "http://www.w3.org/tr/svg11/feature#font",
+ "http://www.w3.org/tr/svg11/feature#gradient",
+ "http://www.w3.org/tr/svg11/feature#graphicaleventsattribute",
+ "http://www.w3.org/tr/svg11/feature#graphicsattribute",
+ "http://www.w3.org/tr/svg11/feature#hyperlinking",
+ "http://www.w3.org/tr/svg11/feature#image",
+ "http://www.w3.org/tr/svg11/feature#marker",
+ "http://www.w3.org/tr/svg11/feature#mask",
+ "http://www.w3.org/tr/svg11/feature#opacityattribute",
+ "http://www.w3.org/tr/svg11/feature#paintattribute",
+ "http://www.w3.org/tr/svg11/feature#pattern",
+ "http://www.w3.org/tr/svg11/feature#script",
+ "http://www.w3.org/tr/svg11/feature#shape",
+ "http://www.w3.org/tr/svg11/feature#structure",
+ "http://www.w3.org/tr/svg11/feature#style",
+ "http://www.w3.org/tr/svg11/feature#svg",
+ "http://www.w3.org/tr/svg11/feature#svg-animation",
+ "http://www.w3.org/tr/svg11/feature#svg-static",
+ "http://www.w3.org/tr/svg11/feature#svgdom",
+ "http://www.w3.org/tr/svg11/feature#svgdom-animation",
+ "http://www.w3.org/tr/svg11/feature#svgdom-static",
+ "http://www.w3.org/tr/svg11/feature#text",
+ "http://www.w3.org/tr/svg11/feature#view",
+ "http://www.w3.org/tr/svg11/feature#viewportattribute",
+ "http://www.w3.org/tr/svg11/feature#xlinkattribute",
+ "org.w3c.dom",
+ "org.w3c.dom.svg",
+ "org.w3c.dom.svg.static",
+ "org.w3c.svg",
+ "org.w3c.svg.static",
+};
-static const HashSet<String, ASCIICaseInsensitiveHash>& supportedSVGFeatures()
-{
-#define PREFIX_W3C "org.w3c."
-#define PREFIX_SVG11 "http://www.w3.org/tr/svg11/feature#"
- static NeverDestroyed<HashSet<String, ASCIICaseInsensitiveHash>> features = [] {
- static const ASCIILiteral features10[] = {
- PREFIX_W3C "dom"_s,
- PREFIX_W3C "dom.svg"_s,
- PREFIX_W3C "dom.svg.static"_s,
- PREFIX_W3C "svg"_s,
- PREFIX_W3C "svg.static"_s,
- };
- static const ASCIILiteral features11[] = {
- PREFIX_SVG11 "animation"_s,
- PREFIX_SVG11 "basegraphicsattribute"_s,
- PREFIX_SVG11 "basicclip"_s,
- PREFIX_SVG11 "basicfilter"_s,
- PREFIX_SVG11 "basicpaintattribute"_s,
- PREFIX_SVG11 "basicstructure"_s,
- PREFIX_SVG11 "basictext"_s,
- PREFIX_SVG11 "clip"_s,
- PREFIX_SVG11 "conditionalprocessing"_s,
- PREFIX_SVG11 "containerattribute"_s,
- PREFIX_SVG11 "coreattribute"_s,
- PREFIX_SVG11 "cursor"_s,
- PREFIX_SVG11 "documenteventsattribute"_s,
- PREFIX_SVG11 "extensibility"_s,
- PREFIX_SVG11 "externalresourcesrequired"_s,
- PREFIX_SVG11 "filter"_s,
- PREFIX_SVG11 "gradient"_s,
- PREFIX_SVG11 "graphicaleventsattribute"_s,
- PREFIX_SVG11 "graphicsattribute"_s,
- PREFIX_SVG11 "hyperlinking"_s,
- PREFIX_SVG11 "image"_s,
- PREFIX_SVG11 "marker"_s,
- PREFIX_SVG11 "mask"_s,
- PREFIX_SVG11 "opacityattribute"_s,
- PREFIX_SVG11 "paintattribute"_s,
- PREFIX_SVG11 "pattern"_s,
- PREFIX_SVG11 "script"_s,
- PREFIX_SVG11 "shape"_s,
- PREFIX_SVG11 "structure"_s,
- PREFIX_SVG11 "style"_s,
- PREFIX_SVG11 "svg-animation"_s,
- PREFIX_SVG11 "svgdom-animation"_s,
- PREFIX_SVG11 "text"_s,
- PREFIX_SVG11 "view"_s,
- PREFIX_SVG11 "viewportattribute"_s,
- PREFIX_SVG11 "xlinkattribute"_s,
- PREFIX_SVG11 "basicfont"_s,
- PREFIX_SVG11 "font"_s,
- PREFIX_SVG11 "svg"_s,
- PREFIX_SVG11 "svg-static"_s,
- PREFIX_SVG11 "svgdom"_s,
- PREFIX_SVG11 "svgdom-static"_s,
- };
- HashSet<String, ASCIICaseInsensitiveHash> set;
- for (auto& feature : features10)
- set.add(feature);
- for (auto& feature : features11)
- set.add(feature);
- return set;
- }();
-#undef PREFIX_W3C
-#undef PREFIX_SVG11
- return features;
-}
+constexpr SortedArraySet supportedSVGFeatureSet { supportedSVGFeatureArray };
SVGTests::SVGTests(SVGElement* contextElement)
: m_contextElement(*contextElement)
@@ -133,7 +115,7 @@
bool SVGTests::isValid() const
{
for (auto& feature : m_requiredFeatures->items()) {
- if (feature.isEmpty() || !supportedSVGFeatures().contains(feature))
+ if (feature.isEmpty() || !supportedSVGFeatureSet.contains(feature))
return false;
}
for (auto& language : m_systemLanguage->items()) {
@@ -149,11 +131,11 @@
void SVGTests::parseAttribute(const QualifiedName& attributeName, const AtomString& value)
{
- if (attributeName == requiredFeaturesAttr)
+ if (attributeName == SVGNames::requiredFeaturesAttr)
m_requiredFeatures->reset(value);
- if (attributeName == requiredExtensionsAttr)
+ if (attributeName == SVGNames::requiredExtensionsAttr)
m_requiredExtensions->reset(value);
- if (attributeName == systemLanguageAttr)
+ if (attributeName == SVGNames::systemLanguageAttr)
m_systemLanguage->reset(value);
}
@@ -169,9 +151,9 @@
void SVGTests::addSupportedAttributes(MemoryCompactLookupOnlyRobinHoodHashSet<QualifiedName>& supportedAttributes)
{
- supportedAttributes.add(requiredFeaturesAttr);
- supportedAttributes.add(requiredExtensionsAttr);
- supportedAttributes.add(systemLanguageAttr);
+ supportedAttributes.add(SVGNames::requiredFeaturesAttr);
+ supportedAttributes.add(SVGNames::requiredExtensionsAttr);
+ supportedAttributes.add(SVGNames::systemLanguageAttr);
}
bool SVGTests::hasFeatureForLegacyBindings(const String& feature, const String& version)
@@ -190,7 +172,7 @@
// If the version number matches the style of the feature name, then use the set to see if the feature is supported.
if (version.isEmpty() || (hasSVG10FeaturePrefix && version == "1.0") || (hasSVG11FeaturePrefix && version == "1.1"))
- return supportedSVGFeatures().contains(feature);
+ return supportedSVGFeatureSet.contains(feature);
return false;
}
Modified: trunk/Source/WebKit/ChangeLog (276879 => 276880)
--- trunk/Source/WebKit/ChangeLog 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/ChangeLog 2021-05-02 03:09:34 UTC (rev 276880)
@@ -1,3 +1,25 @@
+2021-04-30 Darin Adler <[email protected]>
+
+ Use SortedArrayMap in a few more places
+ https://bugs.webkit.org/show_bug.cgi?id=225251
+
+ Reviewed by Sam Weinig.
+
+ * NetworkProcess/NetworkLoad.cpp: Removed unneeded includes.
+ * NetworkProcess/NetworkResourceLoadMap.h: Ditto.
+ * Shared/SharedStringHashStore.h: Ditto.
+ * UIProcess/API/APIPageConfiguration.h: Ditto.
+ * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm: Ditto.
+ * UIProcess/API/Cocoa/_WKInspector.mm: Ditto.
+ * UIProcess/Automation/SimulatedInputDispatcher.h: Ditto.
+ * UIProcess/Inspector/WebInspectorUIProxy.cpp: Ditto.
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Ditto.
+ * UIProcess/WebPageGroup.h: Ditto.
+ * UIProcess/WebPasteboardProxy.h: Ditto.
+ * UIProcess/WebPreferences.h: Ditto.
+ * WebProcess/Geolocation/WebGeolocationManager.h: Ditto.
+ * WebProcess/WebPage/WebBackForwardListProxy.h: Ditto.
+
2021-04-30 Wenson Hsieh <[email protected]>
App highlight UI should be disabled when selecting text in image overlays
Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp (276879 => 276880)
--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -37,7 +37,6 @@
#include "WebErrors.h"
#include <WebCore/ResourceRequest.h>
#include <WebCore/SharedBuffer.h>
-#include <wtf/ListHashSet.h>
#include <wtf/NeverDestroyed.h>
#include <wtf/Seconds.h>
Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.h (276879 => 276880)
--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -27,7 +27,6 @@
#include <wtf/Function.h>
#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
#if ENABLE(TAKE_UNBOUNDED_NETWORKING_ASSERTION)
#include "ProcessAssertion.h"
Modified: trunk/Source/WebKit/Shared/SharedStringHashStore.h (276879 => 276880)
--- trunk/Source/WebKit/Shared/SharedStringHashStore.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/Shared/SharedStringHashStore.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -28,7 +28,6 @@
#include "SharedMemory.h"
#include "SharedStringHashTable.h"
#include <WebCore/SharedStringHash.h>
-#include <wtf/HashSet.h>
#include <wtf/RunLoop.h>
namespace WebKit {
Modified: trunk/Source/WebKit/UIProcess/API/APIPageConfiguration.h (276879 => 276880)
--- trunk/Source/WebKit/UIProcess/API/APIPageConfiguration.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/UIProcess/API/APIPageConfiguration.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -30,7 +30,6 @@
#include <wtf/Forward.h>
#include <wtf/GetPtr.h>
#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
#include <wtf/text/WTFString.h>
#if PLATFORM(IOS_FAMILY)
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataRecord.mm (276879 => 276880)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataRecord.mm 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataRecord.mm 2021-05-02 03:09:34 UTC (rev 276880)
@@ -29,7 +29,6 @@
#import "_WKWebsiteDataSizeInternal.h"
#import <WebCore/SecurityOriginData.h>
#import <WebCore/WebCoreObjCExtras.h>
-#import <wtf/HashSet.h>
NSString * const WKWebsiteDataTypeFetchCache = @"WKWebsiteDataTypeFetchCache";
NSString * const WKWebsiteDataTypeDiskCache = @"WKWebsiteDataTypeDiskCache";
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm (276879 => 276880)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm 2021-05-02 03:09:34 UTC (rev 276880)
@@ -37,8 +37,6 @@
#import "_WKInspectorPrivateForTesting.h"
#import "_WKRemoteObjectRegistry.h"
#import <WebCore/FrameIdentifier.h>
-#import <wtf/HashMap.h>
-#import <wtf/HashSet.h>
#import <wtf/RetainPtr.h>
#import <wtf/text/WTFString.h>
Modified: trunk/Source/WebKit/UIProcess/Automation/SimulatedInputDispatcher.h (276879 => 276880)
--- trunk/Source/WebKit/UIProcess/Automation/SimulatedInputDispatcher.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/UIProcess/Automation/SimulatedInputDispatcher.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -31,10 +31,8 @@
#include <WebCore/IntPoint.h>
#include <WebCore/IntSize.h>
#include <wtf/CompletionHandler.h>
-#include <wtf/HashSet.h>
#include <wtf/ListHashSet.h>
#include <wtf/Optional.h>
-#include <wtf/RefCounted.h>
#include <wtf/RunLoop.h>
#include <wtf/Seconds.h>
#include <wtf/Vector.h>
Modified: trunk/Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp (276879 => 276880)
--- trunk/Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp 2021-05-02 03:09:34 UTC (rev 276880)
@@ -49,10 +49,7 @@
#include <WebCore/MockRealtimeMediaSourceCenter.h>
#include <WebCore/NotImplemented.h>
#include <WebCore/TextEncoding.h>
-#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
#include <wtf/SetForScope.h>
-#include <wtf/text/WTFString.h>
#if PLATFORM(GTK)
#include "WebInspectorUIProxyClient.h"
Modified: trunk/Source/WebKit/UIProcess/Plugins/mac/PluginInfoStoreMac.mm (276879 => 276880)
--- trunk/Source/WebKit/UIProcess/Plugins/mac/PluginInfoStoreMac.mm 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/UIProcess/Plugins/mac/PluginInfoStoreMac.mm 2021-05-02 03:09:34 UTC (rev 276880)
@@ -33,7 +33,6 @@
#import "SandboxUtilities.h"
#import <WebCore/PluginBlocklist.h>
#import <pwd.h>
-#import <wtf/HashSet.h>
#import <wtf/RetainPtr.h>
#import <wtf/text/CString.h>
Modified: trunk/Source/WebKit/UIProcess/WebPageGroup.h (276879 => 276880)
--- trunk/Source/WebKit/UIProcess/WebPageGroup.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/UIProcess/WebPageGroup.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -29,8 +29,6 @@
#include "WebPageGroupData.h"
#include "WebProcessProxy.h"
#include <WebCore/UserStyleSheetTypes.h>
-#include <wtf/Forward.h>
-#include <wtf/HashSet.h>
#include <wtf/WeakHashSet.h>
#include <wtf/text/WTFString.h>
Modified: trunk/Source/WebKit/UIProcess/WebPasteboardProxy.h (276879 => 276880)
--- trunk/Source/WebKit/UIProcess/WebPasteboardProxy.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/UIProcess/WebPasteboardProxy.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -29,10 +29,7 @@
#include "SandboxExtension.h"
#include "SharedMemory.h"
#include <WebCore/PageIdentifier.h>
-#include <WebCore/SharedBuffer.h>
-#include <wtf/Forward.h>
#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
#include <wtf/Optional.h>
#include <wtf/WeakHashSet.h>
Modified: trunk/Source/WebKit/UIProcess/WebPreferences.h (276879 => 276880)
--- trunk/Source/WebKit/UIProcess/WebPreferences.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/UIProcess/WebPreferences.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -30,7 +30,6 @@
#include "APIObject.h"
#include "WebPreferencesDefinitions.h"
#include "WebPreferencesStore.h"
-#include <wtf/HashSet.h>
#include <wtf/RefPtr.h>
#include <wtf/WeakHashSet.h>
Modified: trunk/Source/WebKit/WebProcess/Geolocation/WebGeolocationManager.h (276879 => 276880)
--- trunk/Source/WebKit/WebProcess/Geolocation/WebGeolocationManager.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/WebProcess/Geolocation/WebGeolocationManager.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -29,8 +29,6 @@
#include "WebGeolocationPosition.h"
#include "WebProcessSupplement.h"
#include <wtf/Forward.h>
-#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
#include <wtf/Noncopyable.h>
#include <wtf/WeakHashSet.h>
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.h (276879 => 276880)
--- trunk/Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.h 2021-05-02 02:36:14 UTC (rev 276879)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.h 2021-05-02 03:09:34 UTC (rev 276880)
@@ -28,7 +28,6 @@
#include "WebBackForwardListCounts.h"
#include <WebCore/BackForwardClient.h>
#include <WebCore/PageIdentifier.h>
-#include <wtf/HashSet.h>
namespace WebCore {
struct BackForwardItemIdentifier;