Add tests for NeverDestroyed
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Aug 2017 19:04:47 +0000 (19:04 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Aug 2017 19:04:47 +0000 (19:04 +0000)
https://bugs.webkit.org/show_bug.cgi?id=175146

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-08-04
Reviewed by Darin Adler.

* CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
New files and sort.

* TestWebKitAPI/Tests/WTF/Logger.h:
* TestWebKitAPI/Tests/WTF/Logger.cpp:
(TestWebKitAPI::log):
(TestWebKitAPI::takeLogStr):
* TestWebKitAPI/Tests/WTF/RefLogger.h:
* TestWebKitAPI/Tests/WTF/RefLogger.cpp:
(TestWebKitAPI::log): Deleted.
(TestWebKitAPI::takeLogStr): Deleted.
Extract log() / takeLogStr() from RefLogger to a general Logger.h/cpp.

* TestWebKitAPI/Tests/WTF/LifecycleLogger.h:
* TestWebKitAPI/Tests/WTF/LifecycleLogger.cpp: Added.
(TestWebKitAPI::LifecycleLogger::LifecycleLogger):
(TestWebKitAPI::LifecycleLogger::operator=):
(TestWebKitAPI::LifecycleLogger::~LifecycleLogger):
(TestWebKitAPI::LifecycleLogger::setName):
(TestWebKitAPI::TEST):
Add a class that logs construction / assignment / modifications.

* TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::list):
Test construction behavior is as expected both directly and using makeNeverDestroyed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220284 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/TestWebKitAPI/CMakeLists.txt
Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
Tools/TestWebKitAPI/Tests/WTF/LifecycleLogger.cpp [new file with mode: 0644]
Tools/TestWebKitAPI/Tests/WTF/LifecycleLogger.h [new file with mode: 0644]
Tools/TestWebKitAPI/Tests/WTF/Logger.cpp [new file with mode: 0644]
Tools/TestWebKitAPI/Tests/WTF/Logger.h [new file with mode: 0644]
Tools/TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp [new file with mode: 0644]
Tools/TestWebKitAPI/Tests/WTF/RefLogger.cpp
Tools/TestWebKitAPI/Tests/WTF/RefLogger.h

index 811ce1ddb613d4ec4dd97566db407a58bd9f0b8d..46660411966ea9073e4ba4cc30d0f77f3dfaa41a 100644 (file)
@@ -1,3 +1,38 @@
+2017-08-04  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Add tests for NeverDestroyed
+        https://bugs.webkit.org/show_bug.cgi?id=175146
+
+        Reviewed by Darin Adler.
+
+        * CMakeLists.txt:
+        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
+        New files and sort.
+
+        * TestWebKitAPI/Tests/WTF/Logger.h:
+        * TestWebKitAPI/Tests/WTF/Logger.cpp:
+        (TestWebKitAPI::log):
+        (TestWebKitAPI::takeLogStr):
+        * TestWebKitAPI/Tests/WTF/RefLogger.h:
+        * TestWebKitAPI/Tests/WTF/RefLogger.cpp:
+        (TestWebKitAPI::log): Deleted.
+        (TestWebKitAPI::takeLogStr): Deleted.
+        Extract log() / takeLogStr() from RefLogger to a general Logger.h/cpp.
+
+        * TestWebKitAPI/Tests/WTF/LifecycleLogger.h:
+        * TestWebKitAPI/Tests/WTF/LifecycleLogger.cpp: Added.
+        (TestWebKitAPI::LifecycleLogger::LifecycleLogger):
+        (TestWebKitAPI::LifecycleLogger::operator=):
+        (TestWebKitAPI::LifecycleLogger::~LifecycleLogger):
+        (TestWebKitAPI::LifecycleLogger::setName):
+        (TestWebKitAPI::TEST):
+        Add a class that logs construction / assignment / modifications.
+
+        * TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp: Added.
+        (TestWebKitAPI::TEST):
+        (TestWebKitAPI::list):
+        Test construction behavior is as expected both directly and using makeNeverDestroyed.
+
 2017-08-04  Lucas Forschler  <lforschler@apple.com>
 
         minification logic is not implemented for ios builds
index 28de8f40207a4b5503deb93fe1909395243e20f9..dddf0638d2a80de4e396bf2bce5fcfca78936ddb 100644 (file)
@@ -55,13 +55,16 @@ set(TestWTF_SOURCES
     ${TESTWEBKITAPI_DIR}/Tests/WTF/HashMap.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/HashSet.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/IntegerToStringConversion.cpp
+    ${TESTWEBKITAPI_DIR}/Tests/WTF/LifecycleLogger.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/ListHashSet.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/Lock.cpp
+    ${TESTWEBKITAPI_DIR}/Tests/WTF/Logger.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/MD5.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/MathExtras.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/MediaTime.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/MetaAllocator.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/NakedPtr.cpp
+    ${TESTWEBKITAPI_DIR}/Tests/WTF/NeverDestroyed.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/Optional.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/OptionSet.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/ParkingLot.cpp
index b9f1929aeaee46f74a9549035cfbc02a35570027..dd2ed9b3b284954ceefbf39e76633242fa34ef91 100644 (file)
                A1C4FB731BACD1CA003742D0 /* pages.pages in Copy Resources */ = {isa = PBXBuildFile; fileRef = A1C4FB721BACD1B7003742D0 /* pages.pages */; };
                A1DF74321C41B65800A2F4D0 /* AlwaysRevalidatedURLSchemes.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1DF74301C41B65800A2F4D0 /* AlwaysRevalidatedURLSchemes.mm */; };
                A57A34F216AF6B2B00C2501F /* PageVisibilityStateWithWindowChanges.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = A57A34F116AF69E200C2501F /* PageVisibilityStateWithWindowChanges.html */; };
+               A57D54F31F338C3600A97AA7 /* NeverDestroyed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A57D54F21F338C3600A97AA7 /* NeverDestroyed.cpp */; };
+               A57D54F61F3395D000A97AA7 /* Logger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A57D54F41F3395D000A97AA7 /* Logger.cpp */; };
+               A57D54F91F3397B400A97AA7 /* LifecycleLogger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A57D54F71F3397B400A97AA7 /* LifecycleLogger.cpp */; };
                A5E2027515B21F6E00C13E14 /* WindowlessWebViewWithMedia.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = A5E2027015B2180600C13E14 /* WindowlessWebViewWithMedia.html */; };
                AD57AC201DA7465000FF1BDE /* DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD57AC1E1DA7464D00FF1BDE /* DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp */; };
                AD57AC211DA7465B00FF1BDE /* DidRemoveFrameFromHiearchyInPageCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD57AC1F1DA7464D00FF1BDE /* DidRemoveFrameFromHiearchyInPageCache.cpp */; };
                        dstPath = TestWebKitAPI.resources;
                        dstSubfolderSpec = 7;
                        files = (
-                               51C8E1A91F27F49600BF731B /* EmptyGrandfatheredResourceLoadStatistics.plist in Copy Resources */,
-                               571F7FD01F2961FB00946648 /* IndexedDBStructuredCloneBackwardCompatibility.sqlite3-wal in Copy Resources */,
-                               F45B63FB1F197F4A009D38B9 /* image-map.html in Copy Resources */,
-                               F407FE391F1D0DFC0017CF25 /* enormous.svg in Copy Resources */,
-                               F4D5E4E81F0C5D38008C1A49 /* dragstart-clear-selection.html in Copy Resources */,
-                               F4A32EC41F05F3850047C544 /* dragstart-change-selection-offscreen.html in Copy Resources */,
-                               F4A32ECB1F0643370047C544 /* contenteditable-in-iframe.html in Copy Resources */,
-                               F469FB241F01804B00401539 /* contenteditable-and-target.html in Copy Resources */,
-                               57599E271F071AA000A3FB8C /* IndexedDBStructuredCloneBackwardCompatibility.sqlite3 in Copy Resources */,
-                               57599E281F071AA000A3FB8C /* IndexedDBStructuredCloneBackwardCompatibility.sqlite3-shm in Copy Resources */,
-                               57599E2A1F071AA000A3FB8C /* IndexedDBStructuredCloneBackwardCompatibilityRead.html in Copy Resources */,
-                               57599E2B1F071AA000A3FB8C /* IndexedDBStructuredCloneBackwardCompatibilityWrite.html in Copy Resources */,
-                               F4B825D81EF4DBFB006E417F /* compressed-files.zip in Copy Resources */,
-                               F41AB99F1EF4696B0083FA08 /* autofocus-contenteditable.html in Copy Resources */,
-                               F41AB9A01EF4696B0083FA08 /* background-image-link-and-input.html in Copy Resources */,
-                               F41AB9A11EF4696B0083FA08 /* contenteditable-and-textarea.html in Copy Resources */,
-                               F41AB9A21EF4696B0083FA08 /* div-and-large-image.html in Copy Resources */,
-                               F41AB9A31EF4696B0083FA08 /* file-uploading.html in Copy Resources */,
-                               F41AB9A41EF4696B0083FA08 /* image-and-contenteditable.html in Copy Resources */,
-                               F41AB9A51EF4696B0083FA08 /* image-and-textarea.html in Copy Resources */,
-                               F41AB9A61EF4696B0083FA08 /* link-and-input.html in Copy Resources */,
-                               F41AB9A71EF4696B0083FA08 /* link-and-target-div.html in Copy Resources */,
-                               F41AB9A81EF4696B0083FA08 /* prevent-operation.html in Copy Resources */,
-                               F41AB9A91EF4696B0083FA08 /* prevent-start.html in Copy Resources */,
-                               F41AB9AA1EF4696B0083FA08 /* textarea-to-input.html in Copy Resources */,
-                               CDC9442F1EF205D60059C3C4 /* mediastreamtrack-detached.html in Copy Resources */,
-                               F46849C01EEF5EF300B937FE /* rich-and-plain-text.html in Copy Resources */,
-                               93E2D2761ED7D53200FA76F6 /* offscreen-iframe-of-media-document.html in Copy Resources */,
-                               F46A095A1ED8A6E600D4AA55 /* apple.gif in Copy Resources */,
-                               F46A095B1ED8A6E600D4AA55 /* gif-and-file-input.html in Copy Resources */,
-                               CDA3159A1ED548F1009F60D3 /* MediaPlaybackSleepAssertion.html in Copy Resources */,
-                               C9B1043E1ECF9848000520FA /* autoplay-inherits-gesture-from-document.html in Copy Resources */,
-                               3FCC4FE81EC4E8CA0076E37C /* PictureInPictureDelegate.html in Copy Resources */,
-                               C9B4AD2C1ECA6F7F00F5FEA0 /* js-autoplay-audio.html in Copy Resources */,
-                               C9B4AD2A1ECA6EBE00F5FEA0 /* silence-long.m4a in Copy Resources */,
-                               55226A2F1EBA44B900C36AD0 /* large-red-square-image.html in Copy Resources */,
-                               5797FE331EB15AB100B2F4A0 /* navigation-client-default-crypto.html in Copy Resources */,
-                               0799C34B1EBA3301003B7532 /* disableGetUserMedia.html in Copy Resources */,
-                               F4451C761EB8FD890020C5DA /* two-paragraph-contenteditable.html in Copy Resources */,
-                               074994421EA5034B000DA44E /* getUserMedia.html in Copy Resources */,
-                               C9BF06EF1E9C132500595E3E /* autoplay-muted-with-controls.html in Copy Resources */,
-                               F4DEF6ED1E9B4DB60048EF61 /* image-in-link-and-input.html in Copy Resources */,
                                1A9E52C913E65EF4006917F5 /* 18-characters.html in Copy Resources */,
                                379028B914FAC24C007E6B43 /* acceptsFirstMouse.html in Copy Resources */,
                                1C2B81871C8925A000A5529F /* Ahem.ttf in Copy Resources */,
                                1A63479F183D72A4005B1707 /* all-content-in-one-iframe.html in Copy Resources */,
-                               636353A71E98665D0009F8AF /* GeolocationGetCurrentPositionResult.html in Copy Resources */,
                                C25CCA0D1E5141840026CB8A /* AllAhem.svg in Copy Resources */,
+                               F46A095A1ED8A6E600D4AA55 /* apple.gif in Copy Resources */,
                                5C9E59411D3EB5AC00E3C62E /* ApplicationCache.db in Copy Resources */,
                                5C9E59421D3EB5AC00E3C62E /* ApplicationCache.db-shm in Copy Resources */,
                                5C9E59431D3EB5AC00E3C62E /* ApplicationCache.db-wal in Copy Resources */,
                                7C9ED98B17A19F4B00E4DC33 /* attributedStringStrikethrough.html in Copy Resources */,
                                CD9E292E1C90C33F000BB800 /* audio-only.html in Copy Resources */,
                                76E182DF154767E600F1FADD /* auto-submitting-form.html in Copy Resources */,
+                               F41AB99F1EF4696B0083FA08 /* autofocus-contenteditable.html in Copy Resources */,
                                93CFA8671CEB9E38000565A8 /* autofocused-text-input.html in Copy Resources */,
                                C9C60E651E53A9DC006DA181 /* autoplay-check-frame.html in Copy Resources */,
                                C9C60E661E53A9DC006DA181 /* autoplay-check-in-iframe.html in Copy Resources */,
                                C95984F41E36BC6B002C0D45 /* autoplay-check.html in Copy Resources */,
+                               C9B1043E1ECF9848000520FA /* autoplay-inherits-gesture-from-document.html in Copy Resources */,
+                               C9BF06EF1E9C132500595E3E /* autoplay-muted-with-controls.html in Copy Resources */,
                                C95984F51E36BC6B002C0D45 /* autoplay-no-audio-check.html in Copy Resources */,
                                C99B675C1E39721A00FC6C80 /* autoplay-with-controls.html in Copy Resources */,
                                C99BDF891E80980400C7170E /* autoplay-zero-volume-check.html in Copy Resources */,
                                2E14A5291D3FE96B0010F35B /* autoplaying-video-with-audio.html in Copy Resources */,
+                               F41AB9A01EF4696B0083FA08 /* background-image-link-and-input.html in Copy Resources */,
                                2DE71B001D49C3ED00904094 /* blinking-div.html in Copy Resources */,
                                7C486BA11AA12567003F6F9B /* bundle-file.html in Copy Resources */,
                                26DF5A6315A2A27E003689C2 /* CancelLoadFromResourceLoadDelegate.html in Copy Resources */,
                                9BD4239C1E04C01C00200395 /* chinese-character-with-image.html in Copy Resources */,
                                1A50AA201A2A51FC00F4C345 /* close-from-within-create-page.html in Copy Resources */,
                                9B270FEE1DDC2C0B002D53F3 /* closed-shadow-tree-test.html in Copy Resources */,
+                               F4B825D81EF4DBFB006E417F /* compressed-files.zip in Copy Resources */,
                                5C9E56871DF914AE00C9EE33 /* contentBlockerCheck.html in Copy Resources */,
+                               F469FB241F01804B00401539 /* contenteditable-and-target.html in Copy Resources */,
+                               F41AB9A11EF4696B0083FA08 /* contenteditable-and-textarea.html in Copy Resources */,
+                               F4A32ECB1F0643370047C544 /* contenteditable-in-iframe.html in Copy Resources */,
                                A16F66BA1C40EB4F00BD4D24 /* ContentFiltering.html in Copy Resources */,
                                5142B2731517C8C800C32B19 /* ContextMenuCanCopyURL.html in Copy Resources */,
                                5C2936961D5C00ED00DEAB1E /* CookieMessage.html in Copy Resources */,
                                7AEAD4811E20122700416EFE /* CrossPartitionFileSchemeAccess.html in Copy Resources */,
                                290F4275172A221C00939FF0 /* custom-protocol-sync-xhr.html in Copy Resources */,
                                C07E6CB213FD73930038B22B /* devicePixelRatio.html in Copy Resources */,
+                               0799C34B1EBA3301003B7532 /* disableGetUserMedia.html in Copy Resources */,
+                               F41AB9A21EF4696B0083FA08 /* div-and-large-image.html in Copy Resources */,
                                37E1064C1697681800B78BD0 /* DOMHTMLTableCellElementCellAbove.html in Copy Resources */,
                                37DC6791140D7D7600ABCCDB /* DOMRangeOfString.html in Copy Resources */,
                                F4FA91831E61857B007B8C1D /* double-click-does-not-select-trailing-space.html in Copy Resources */,
                                5714ECB91CA8B5B000051AC8 /* DownloadRequestOriginalURL.html in Copy Resources */,
                                5714ECBD1CA8C22A00051AC8 /* DownloadRequestOriginalURL2.html in Copy Resources */,
                                5714ECBB1CA8BFE400051AC8 /* DownloadRequestOriginalURLFrame.html in Copy Resources */,
+                               F4A32EC41F05F3850047C544 /* dragstart-change-selection-offscreen.html in Copy Resources */,
+                               F4D5E4E81F0C5D38008C1A49 /* dragstart-clear-selection.html in Copy Resources */,
                                A155022C1E050D0300A24C57 /* duplicate-completion-handler-calls.html in Copy Resources */,
                                9984FACE1CFFB090008D198C /* editable-body.html in Copy Resources */,
+                               51C8E1A91F27F49600BF731B /* EmptyGrandfatheredResourceLoadStatistics.plist in Copy Resources */,
                                A14AAB651E78DC5400C1ADC2 /* encrypted.pdf in Copy Resources */,
                                F4C2AB221DD6D95E00E06D5B /* enormous-video-with-sound.html in Copy Resources */,
+                               F407FE391F1D0DFC0017CF25 /* enormous.svg in Copy Resources */,
                                07492B3C1DF8B86600633DE1 /* enumerateMediaDevices.html in Copy Resources */,
                                C5E1AFFE16B221F1006CC1F2 /* execCopy.html in Copy Resources */,
+                               F41AB9A31EF4696B0083FA08 /* file-uploading.html in Copy Resources */,
                                BC2D006412AA04CE00E732A3 /* file-with-anchor.html in Copy Resources */,
                                CD59F53419E9110D00CF1835 /* file-with-mse.html in Copy Resources */,
                                524BBC9E19DF72C0002F1AF1 /* file-with-video.html in Copy Resources */,
                                CDE195B51CFE0B880053D256 /* FullscreenTopContentInset.html in Copy Resources */,
                                CDBFCC461A9FF49E00A7B691 /* FullscreenZoomInitialFrame.html in Copy Resources */,
                                26F52EAD1828827B0023D412 /* geolocationGetCurrentPosition.html in Copy Resources */,
+                               636353A71E98665D0009F8AF /* GeolocationGetCurrentPositionResult.html in Copy Resources */,
                                26F52EAF18288C230023D412 /* geolocationGetCurrentPositionWithHighAccuracy.html in Copy Resources */,
                                26F52EB218288F240023D412 /* geolocationWatchPosition.html in Copy Resources */,
                                26F52EB318288F240023D412 /* geolocationWatchPositionWithHighAccuracy.html in Copy Resources */,
+                               074994421EA5034B000DA44E /* getUserMedia.html in Copy Resources */,
+                               F46A095B1ED8A6E600D4AA55 /* gif-and-file-input.html in Copy Resources */,
                                9B4F8FA7159D52DD002D9F94 /* HTMLCollectionNamedItem.html in Copy Resources */,
                                9B26FCCA159D16DE00CC3765 /* HTMLFormCollectionNamedItem.html in Copy Resources */,
                                BCBD3737125ABBEB00D2C29F /* icon.png in Copy Resources */,
                                510477731D298DDD009747EB /* IDBDeleteRecovery.sqlite3-shm in Copy Resources */,
                                510477741D298DDD009747EB /* IDBDeleteRecovery.sqlite3-wal in Copy Resources */,
                                5110FCF11E01CD64006F8D0B /* IDBIndexUpgradeToV2.html in Copy Resources */,
+                               F41AB9A41EF4696B0083FA08 /* image-and-contenteditable.html in Copy Resources */,
+                               F41AB9A51EF4696B0083FA08 /* image-and-textarea.html in Copy Resources */,
+                               F4DEF6ED1E9B4DB60048EF61 /* image-in-link-and-input.html in Copy Resources */,
+                               F45B63FB1F197F4A009D38B9 /* image-map.html in Copy Resources */,
                                51A587851D2739E3004BA9AF /* IndexedDBDatabaseProcessKill-1.html in Copy Resources */,
                                51BCEE4E1C84F53B0042C82E /* IndexedDBMultiProcess-1.html in Copy Resources */,
                                51BCEE4F1C84F53B0042C82E /* IndexedDBMultiProcess-2.html in Copy Resources */,
                                51A5877D1D1B49CD004BA9AF /* IndexedDBMultiProcess-3.html in Copy Resources */,
                                51B1EE961C80FAEF0064FB98 /* IndexedDBPersistence-1.html in Copy Resources */,
                                51B1EE971C80FAEF0064FB98 /* IndexedDBPersistence-2.html in Copy Resources */,
+                               57599E271F071AA000A3FB8C /* IndexedDBStructuredCloneBackwardCompatibility.sqlite3 in Copy Resources */,
+                               57599E281F071AA000A3FB8C /* IndexedDBStructuredCloneBackwardCompatibility.sqlite3-shm in Copy Resources */,
+                               571F7FD01F2961FB00946648 /* IndexedDBStructuredCloneBackwardCompatibility.sqlite3-wal in Copy Resources */,
+                               57599E2A1F071AA000A3FB8C /* IndexedDBStructuredCloneBackwardCompatibilityRead.html in Copy Resources */,
+                               57599E2B1F071AA000A3FB8C /* IndexedDBStructuredCloneBackwardCompatibilityWrite.html in Copy Resources */,
                                5110FCF91E01CD8A006F8D0B /* IndexUpgrade.blob in Copy Resources */,
                                5110FCF61E01CD83006F8D0B /* IndexUpgrade.sqlite3 in Copy Resources */,
                                2EFF06CD1D8A429A0004BB30 /* input-field-in-scrollable-document.html in Copy Resources */,
                                CE3524FA1B1443890028A7C5 /* input-focus-blur.html in Copy Resources */,
                                57F56A5C1C7F8CC100F31D7E /* IsNavigationActionTrusted.html in Copy Resources */,
+                               C9B4AD2C1ECA6F7F00F5FEA0 /* js-autoplay-audio.html in Copy Resources */,
                                C99B675D1E39722000FC6C80 /* js-play-with-controls.html in Copy Resources */,
                                C2CF975B16CEC71B0054E99D /* JSContextBackForwardCache1.html in Copy Resources */,
                                C2CF975A16CEC7140054E99D /* JSContextBackForwardCache2.html in Copy Resources */,
                                F42DA5161D8CEFE400336F40 /* large-input-field-focus-onload.html in Copy Resources */,
+                               55226A2F1EBA44B900C36AD0 /* large-red-square-image.html in Copy Resources */,
                                F4538EF71E8473E600B5C953 /* large-red-square.png in Copy Resources */,
                                2E1B7B021D41B1B9007558B4 /* large-video-hides-controls-after-seek-to-end.html in Copy Resources */,
                                2E54F40D1D7BC84200921ADF /* large-video-mutes-onplaying.html in Copy Resources */,
                                2E1DFDEF1D42A6F200714A00 /* large-videos-with-audio-autoplay.html in Copy Resources */,
                                2E1DFDED1D42A51100714A00 /* large-videos-with-audio.html in Copy Resources */,
                                C25CCA0B1E5140C10026CB8A /* LineBreaking.html in Copy Resources */,
+                               F41AB9A61EF4696B0083FA08 /* link-and-input.html in Copy Resources */,
+                               F41AB9A71EF4696B0083FA08 /* link-and-target-div.html in Copy Resources */,
                                8361F1781E610B4E00759B25 /* link-with-download-attribute-with-slashes.html in Copy Resources */,
                                8349D3C41DB9728E004A9F65 /* link-with-download-attribute.html in Copy Resources */,
                                378E64791632707400B6C676 /* link-with-title.html in Copy Resources */,
                                2DD7D3AF178227B30026E1E3 /* lots-of-text-vertical-lr.html in Copy Resources */,
                                930AD402150698D00067970F /* lots-of-text.html in Copy Resources */,
                                AD57AC221DA7466E00FF1BDE /* many-iframes.html in Copy Resources */,
+                               CDA3159A1ED548F1009F60D3 /* MediaPlaybackSleepAssertion.html in Copy Resources */,
+                               CDC9442F1EF205D60059C3C4 /* mediastreamtrack-detached.html in Copy Resources */,
                                E1220DCA155B28AA0013E2FC /* MemoryCacheDisableWithinResourceLoadDelegate.html in Copy Resources */,
                                517E7E04151119C100D0B008 /* MemoryCachePruneWithinResourceLoadDelegate.html in Copy Resources */,
                                51CD1C721B38D48400142CA5 /* modal-alerts-in-new-about-blank-window.html in Copy Resources */,
                                7A1458FC1AD5C07000E06772 /* mouse-button-listener.html in Copy Resources */,
                                33E79E06137B5FD900E32D99 /* mouse-move-listener.html in Copy Resources */,
+                               5797FE331EB15AB100B2F4A0 /* navigation-client-default-crypto.html in Copy Resources */,
                                C99B675F1E39736F00FC6C80 /* no-autoplay-with-controls.html in Copy Resources */,
+                               93E2D2761ED7D53200FA76F6 /* offscreen-iframe-of-media-document.html in Copy Resources */,
                                CEA6CF2819CCF69D0064F5A7 /* open-and-close-window.html in Copy Resources */,
                                7CCB99231D3B4A46003922F6 /* open-multiple-external-url.html in Copy Resources */,
                                290A9BB91735F63800D71BBC /* OpenNewWindow.html in Copy Resources */,
                                A1C4FB731BACD1CA003742D0 /* pages.pages in Copy Resources */,
                                A57A34F216AF6B2B00C2501F /* PageVisibilityStateWithWindowChanges.html in Copy Resources */,
                                A1409AD91E7254D4004949D9 /* password-protected.pages in Copy Resources */,
+                               3FCC4FE81EC4E8CA0076E37C /* PictureInPictureDelegate.html in Copy Resources */,
                                F415086D1DA040C50044BE9B /* play-audio-on-click.html in Copy Resources */,
+                               F41AB9A81EF4696B0083FA08 /* prevent-operation.html in Copy Resources */,
+                               F41AB9A91EF4696B0083FA08 /* prevent-start.html in Copy Resources */,
                                F6FDDDD614241C6F004F1729 /* push-state.html in Copy Resources */,
                                A12DDC001E8373E700CF6CAE /* rendered-image-excluding-overflow.html in Copy Resources */,
-                               52B8CF9815868D9100281053 /* SetDocumentURI.html in Copy Resources */,
+                               F46849C01EEF5EF300B937FE /* rich-and-plain-text.html in Copy Resources */,
                                7A66BDB81EAF18D500CCC924 /* set-long-title.html in Copy Resources */,
+                               52B8CF9815868D9100281053 /* SetDocumentURI.html in Copy Resources */,
                                CEBABD491B71687C0051210A /* should-open-external-schemes.html in Copy Resources */,
+                               C9B4AD2A1ECA6EBE00F5FEA0 /* silence-long.m4a in Copy Resources */,
                                1ADBEFE3130C6AA100D61D19 /* simple-accelerated-compositing.html in Copy Resources */,
                                C0ADBE9612FCA79B00D2C129 /* simple-form.html in Copy Resources */,
                                33DC8912141955FE00747EF7 /* simple-iframe.html in Copy Resources */,
                                524BBCA119E30C77002F1AF1 /* test.mp4 in Copy Resources */,
                                7AE9E5091AE5AE8B00CF874B /* test.pdf in Copy Resources */,
                                2E9896151D8F093800739892 /* text-and-password-inputs.html in Copy Resources */,
+                               F41AB9AA1EF4696B0083FA08 /* textarea-to-input.html in Copy Resources */,
+                               F4451C761EB8FD890020C5DA /* two-paragraph-contenteditable.html in Copy Resources */,
                                C540F784152E5A9A00A40C8C /* verboseMarkup.html in Copy Resources */,
                                CDC8E4941BC6F10800594FEC /* video-with-audio.html in Copy Resources */,
                                CDC8E4951BC6F10800594FEC /* video-with-audio.mp4 in Copy Resources */,
                A1FDFD2E19C288BB005148A4 /* WKImageCreateCGImageCrash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKImageCreateCGImageCrash.cpp; sourceTree = "<group>"; };
                A57A34EF16AF677200C2501F /* PageVisibilityStateWithWindowChanges.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PageVisibilityStateWithWindowChanges.mm; sourceTree = "<group>"; };
                A57A34F116AF69E200C2501F /* PageVisibilityStateWithWindowChanges.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = PageVisibilityStateWithWindowChanges.html; sourceTree = "<group>"; };
+               A57D54F21F338C3600A97AA7 /* NeverDestroyed.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NeverDestroyed.cpp; sourceTree = "<group>"; };
+               A57D54F41F3395D000A97AA7 /* Logger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Logger.cpp; sourceTree = "<group>"; };
+               A57D54F51F3395D000A97AA7 /* Logger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Logger.h; sourceTree = "<group>"; };
+               A57D54F71F3397B400A97AA7 /* LifecycleLogger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = LifecycleLogger.cpp; sourceTree = "<group>"; };
+               A57D54F81F3397B400A97AA7 /* LifecycleLogger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LifecycleLogger.h; sourceTree = "<group>"; };
                A5E2027015B2180600C13E14 /* WindowlessWebViewWithMedia.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = WindowlessWebViewWithMedia.html; sourceTree = "<group>"; };
                A5E2027215B2181900C13E14 /* WindowlessWebViewWithMedia.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WindowlessWebViewWithMedia.mm; sourceTree = "<group>"; };
                A7A966DA140ECCC8005EF9B4 /* CheckedArithmeticOperations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CheckedArithmeticOperations.cpp; sourceTree = "<group>"; };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               CDA3159D1ED5643F009F60D3 /* IOKit.framework in Frameworks */,
-                               634910E01E9D3FF300880309 /* CoreLocation.framework in Frameworks */,
                                7A010BCB1D877C0500EDE72A /* CoreGraphics.framework in Frameworks */,
+                               634910E01E9D3FF300880309 /* CoreLocation.framework in Frameworks */,
+                               CDA3159D1ED5643F009F60D3 /* IOKit.framework in Frameworks */,
                                7C83E03F1D0A61A000FEBCF3 /* libicucore.dylib in Frameworks */,
                                7A010BCD1D877C0D00EDE72A /* QuartzCore.framework in Frameworks */,
                        );
                        children = (
                                A16F66B81C40E9E100BD4D24 /* Resources */,
                                7CEFA9641AC0B9E200B910FD /* _WKUserContentExtensionStore.mm */,
-                               07EDEFAC1EB9400C00D43292 /* UserMediaDisabled.mm */,
                                37E7DD631EA06FF2009B396D /* AdditionalReadAccessAllowedURLs.mm */,
                                37E7DD661EA071F3009B396D /* AdditionalReadAccessAllowedURLsPlugin.mm */,
                                37E7DD651EA0715B009B396D /* AdditionalReadAccessAllowedURLsProtocol.h */,
                                2D8104CB1BEC13E70020DA46 /* FindInPage.mm */,
                                2D1FE0AF1AD465C1006CD9E6 /* FixedLayoutSize.mm */,
                                CD78E11A1DB7EA360014A2DE /* FullscreenDelegate.mm */,
-                               3FCC4FE41EC4E8520076E37C /* PictureInPictureDelegate.mm */,
                                3F1B52681D3D7129008D60C4 /* FullscreenLayoutConstraints.mm */,
                                CDE195B31CFE0ADE0053D256 /* FullscreenTopContentInset.mm */,
                                631EFFF51E7B5E8D00D2EBB8 /* Geolocation.mm */,
                                51AF23DE1EF1A3720072F281 /* IconLoadingDelegate.mm */,
                                510477751D298E03009747EB /* IDBDeleteRecovery.mm */,
                                5110FCEF1E01CBAA006F8D0B /* IDBIndexUpgradeToV2.mm */,
-                               57599E201F07191700A3FB8C /* IndexedDBStructuredCloneBackwardCompatibility.mm */,
                                51A587841D272EF3004BA9AF /* IndexedDBDatabaseProcessKill.mm */,
                                51BCEE491C84F4AF0042C82E /* IndexedDBMultiProcess.mm */,
                                51B1EE8D1C80F5880064FB98 /* IndexedDBPersistence.mm */,
+                               57599E201F07191700A3FB8C /* IndexedDBStructuredCloneBackwardCompatibility.mm */,
                                5198A23F1EA7E595008910B7 /* InitialWarmedProcessUsed.mm */,
                                2DB0232E1E4E871800707123 /* InteractionDeadlockAfterCrash.mm */,
                                C25CCA051E51380B0026CB8A /* LineBreaking.mm */,
                                37A22AA51DCAA27200AFBFC4 /* ObservedRenderingProgressEventsAfterCrash.mm */,
                                CEA6CF2219CCF5BD0064F5A7 /* OpenAndCloseWindow.mm */,
                                CEBCA12E1E3A660100C73293 /* OverrideContentSecurityPolicy.mm */,
+                               3FCC4FE41EC4E8520076E37C /* PictureInPictureDelegate.mm */,
                                83BAEE8C1EF4625500DDE894 /* PluginLoadClientPolicies.mm */,
                                C95501BE19AD2FAF0049BE3E /* Preferences.mm */,
                                7C1AF7931E8DCBAB002645B9 /* PrepareForMoveToWindow.mm */,
                                7C882E041C80C624006BF731 /* UserContentWorldPlugIn.mm */,
                                7C882E051C80C624006BF731 /* UserContentWorldProtocol.h */,
                                7CCB99201D3B41F6003922F6 /* UserInitiatedActionInNavigationAction.mm */,
+                               07EDEFAC1EB9400C00D43292 /* UserMediaDisabled.mm */,
                                93E943F11CD3E87E00AC08C2 /* VideoControlsManager.mm */,
                                6356FB211EC4E0BA0044BF18 /* VisibleContentRect.mm */,
                                51714EB61CF8C7A4004723C4 /* WebProcessKillIDBCleanup.mm */,
                                5120C83C1E6750790025B250 /* WebsiteDataStoreCustomPaths.mm */,
                                5C9E56841DF9143D00C9EE33 /* WebsitePolicies.mm */,
                                1F83571A1D3FFB0E00E3967B /* WKBackForwardList.mm */,
+                               5CE354D81E70D9C300BEFE3B /* WKContentExtensionStore.mm */,
                                2D838B1E1EEF3A5B009B980E /* WKContentViewEditingActions.mm */,
                                51D124971E763AF8002B2820 /* WKHTTPCookieStore.mm */,
                                375E0E151D66674400EFEC2C /* WKNSNumber.mm */,
                                5E4B1D2C1D404C6100053621 /* WKScrollViewDelegateCrash.mm */,
                                51C683DD1EA134DB00650183 /* WKURLSchemeHandler-1.mm */,
                                5182C22D1F2BCB410059BA7C /* WKURLSchemeHandler-leaks.mm */,
-                               5CE354D81E70D9C300BEFE3B /* WKContentExtensionStore.mm */,
                                2EFF06D61D8AF34A0004BB30 /* WKWebViewCandidateTests.mm */,
                                7C417F311D19E14800B8EF53 /* WKWebViewDefaultNavigationDelegate.mm */,
+                               46E66A8F1F0D75590026D83C /* WKWebViewDiagnosticLogging.mm */,
                                0F3B94A51A77266C00DE3272 /* WKWebViewEvaluateJavaScript.mm */,
                                D3BE5E341E4CE85E00FD563A /* WKWebViewGetContents.mm */,
                                93F56DA81E5F9181003EDE84 /* WKWebViewSnapshot.mm */,
                                9984FACA1CFFAEEE008D198C /* WKWebViewTextInput.mm */,
-                               46E66A8F1F0D75590026D83C /* WKWebViewDiagnosticLogging.mm */,
                        );
                        name = "WebKit2 Cocoa";
                        path = WebKit2Cocoa;
                        isa = PBXGroup;
                        children = (
                                A1C4FB6F1BACCEFA003742D0 /* Resources */,
+                               F45B63FC1F19D410009D38B9 /* ActionSheetTests.mm */,
                                F4D4F3B71E4E36E400BB2767 /* DataInteractionTests.mm */,
                                7560917719259C59009EF06E /* MemoryCacheAddImageToCacheIOS.mm */,
                                F46849BD1EEF58E400B937FE /* UIPasteboardTests.mm */,
-                               F45B63FC1F19D410009D38B9 /* ActionSheetTests.mm */,
                        );
                        path = ios;
                        sourceTree = "<group>";
                7C83E0281D0A5CDF00FEBCF3 /* Frameworks */ = {
                        isa = PBXGroup;
                        children = (
+                               7A010BCA1D877C0500EDE72A /* CoreGraphics.framework */,
+                               634910DF1E9D3FF300880309 /* CoreLocation.framework */,
                                0F4FFAA01ED3D0DE00F7111F /* ImageIO.framework */,
                                CDA3159C1ED5643F009F60D3 /* IOKit.framework */,
-                               634910DF1E9D3FF300880309 /* CoreLocation.framework */,
-                               7A010BCA1D877C0500EDE72A /* CoreGraphics.framework */,
                                7C83E0331D0A5F2700FEBCF3 /* libicucore.dylib */,
                                7C83E0291D0A5CDF00FEBCF3 /* libWTF.a */,
                                7A010BCC1D877C0D00EDE72A /* QuartzCore.framework */,
                A16F66B81C40E9E100BD4D24 /* Resources */ = {
                        isa = PBXGroup;
                        children = (
-                               F4B825D61EF4DBD4006E417F /* compressed-files.zip */,
-                               F41AB9981EF4692C0083FA08 /* autofocus-contenteditable.html */,
-                               F41AB9971EF4692C0083FA08 /* background-image-link-and-input.html */,
-                               F469FB231F01803500401539 /* contenteditable-and-target.html */,
-                               F41AB99C1EF4692C0083FA08 /* contenteditable-and-textarea.html */,
-                               F4A32ECA1F0642F40047C544 /* contenteditable-in-iframe.html */,
-                               F41AB99E1EF4692C0083FA08 /* div-and-large-image.html */,
-                               F4D5E4E71F0C5D27008C1A49 /* dragstart-clear-selection.html */,
-                               F4A32EC31F05F3780047C544 /* dragstart-change-selection-offscreen.html */,
-                               F41AB99B1EF4692C0083FA08 /* file-uploading.html */,
-                               F41AB9991EF4692C0083FA08 /* image-and-contenteditable.html */,
-                               F41AB9931EF4692C0083FA08 /* image-and-textarea.html */,
-                               F45B63FA1F197F33009D38B9 /* image-map.html */,
-                               F41AB9961EF4692C0083FA08 /* link-and-input.html */,
-                               F41AB99D1EF4692C0083FA08 /* link-and-target-div.html */,
-                               F41AB9941EF4692C0083FA08 /* prevent-operation.html */,
-                               F41AB99A1EF4692C0083FA08 /* prevent-start.html */,
-                               F41AB9951EF4692C0083FA08 /* textarea-to-input.html */,
-                               F47D30EB1ED28619000482E1 /* apple.gif */,
                                C25CCA0C1E5140E50026CB8A /* AllAhem.svg */,
+                               F47D30EB1ED28619000482E1 /* apple.gif */,
                                5C9E593E1D3EB1DE00E3C62E /* ApplicationCache.db */,
                                5C9E593F1D3EB1DE00E3C62E /* ApplicationCache.db-shm */,
                                5C9E59401D3EB1DE00E3C62E /* ApplicationCache.db-wal */,
                                F4856CA21E6498A8009D7EE7 /* attachment-element.html */,
+                               F41AB9981EF4692C0083FA08 /* autofocus-contenteditable.html */,
                                93CFA8661CEB9DE1000565A8 /* autofocused-text-input.html */,
                                2E14A5281D3FE8B80010F35B /* autoplaying-video-with-audio.html */,
+                               F41AB9971EF4692C0083FA08 /* background-image-link-and-input.html */,
                                2DE71AFF1D49C2F000904094 /* blinking-div.html */,
                                2EFF06C41D8867700004BB30 /* change-video-source-on-click.html */,
                                2EFF06C61D886A560004BB30 /* change-video-source-on-end.html */,
+                               F4B825D61EF4DBD4006E417F /* compressed-files.zip */,
+                               F469FB231F01803500401539 /* contenteditable-and-target.html */,
+                               F41AB99C1EF4692C0083FA08 /* contenteditable-and-textarea.html */,
+                               F4A32ECA1F0642F40047C544 /* contenteditable-in-iframe.html */,
                                A16F66B91C40EA2000BD4D24 /* ContentFiltering.html */,
                                5C2936941D5BFD1900DEAB1E /* CookieMessage.html */,
                                0799C34A1EBA32F4003B7532 /* disableGetUserMedia.html */,
+                               F41AB99E1EF4692C0083FA08 /* div-and-large-image.html */,
                                837A35F01D9A1E6400663C57 /* DownloadRequestBlobURL.html */,
                                5714ECB81CA8B58800051AC8 /* DownloadRequestOriginalURL.html */,
                                5714ECBC1CA8C21800051AC8 /* DownloadRequestOriginalURL2.html */,
                                5714ECBA1CA8BFD100051AC8 /* DownloadRequestOriginalURLFrame.html */,
+                               F4A32EC31F05F3780047C544 /* dragstart-change-selection-offscreen.html */,
+                               F4D5E4E71F0C5D27008C1A49 /* dragstart-clear-selection.html */,
                                A155022B1E050BC500A24C57 /* duplicate-completion-handler-calls.html */,
-                               51C8E1A81F27F47300BF731B /* EmptyGrandfatheredResourceLoadStatistics.plist */,
                                9984FACD1CFFB038008D198C /* editable-body.html */,
-                               F407FE381F1D0DE60017CF25 /* enormous.svg */,
+                               51C8E1A81F27F47300BF731B /* EmptyGrandfatheredResourceLoadStatistics.plist */,
                                F4C2AB211DD6D94100E06D5B /* enormous-video-with-sound.html */,
+                               F407FE381F1D0DE60017CF25 /* enormous.svg */,
+                               F41AB99B1EF4692C0083FA08 /* file-uploading.html */,
                                93575C551D30366E000D604D /* focus-inputs.html */,
                                F4F405BA1D4C0CF8007A9707 /* full-size-autoplaying-video-with-audio.html */,
                                CD78E11B1DB7EA360014A2DE /* FullscreenDelegate.html */,
-                               3FCC4FE61EC4E87E0076E37C /* PictureInPictureDelegate.html */,
                                3FBD1B491D39D1DB00E6D6FA /* FullscreenLayoutConstraints.html */,
                                CDE195B21CFE0ADE0053D256 /* FullscreenTopContentInset.html */,
                                636353A61E9861940009F8AF /* GeolocationGetCurrentPositionResult.html */,
-                               F4DEF6EC1E9B4D950048EF61 /* image-in-link-and-input.html */,
+                               F47D30ED1ED28A6C000482E1 /* gif-and-file-input.html */,
                                510477761D298E57009747EB /* IDBDeleteRecovery.html */,
                                5104776F1D298D85009747EB /* IDBDeleteRecovery.sqlite3 */,
                                510477701D298D85009747EB /* IDBDeleteRecovery.sqlite3-shm */,
                                510477711D298D85009747EB /* IDBDeleteRecovery.sqlite3-wal */,
                                5110FCF01E01CD53006F8D0B /* IDBIndexUpgradeToV2.html */,
+                               F41AB9991EF4692C0083FA08 /* image-and-contenteditable.html */,
+                               F41AB9931EF4692C0083FA08 /* image-and-textarea.html */,
+                               F4DEF6EC1E9B4D950048EF61 /* image-in-link-and-input.html */,
+                               F45B63FA1F197F33009D38B9 /* image-map.html */,
                                51A587821D272EB5004BA9AF /* IndexedDBDatabaseProcessKill-1.html */,
                                51BCEE4C1C84F52C0042C82E /* IndexedDBMultiProcess-1.html */,
                                51BCEE4D1C84F52C0042C82E /* IndexedDBMultiProcess-2.html */,
                                2E1DFDEE1D42A6EB00714A00 /* large-videos-with-audio-autoplay.html */,
                                2E1DFDEC1D42A41C00714A00 /* large-videos-with-audio.html */,
                                C25CCA0A1E513F490026CB8A /* LineBreaking.html */,
+                               F41AB9961EF4692C0083FA08 /* link-and-input.html */,
+                               F41AB99D1EF4692C0083FA08 /* link-and-target-div.html */,
                                51E6A8951D2F1C7700C004B6 /* LocalStorageClear.html */,
                                46C519E21D35629600DAA51A /* LocalStorageNullEntries.html */,
                                46C519E31D35629600DAA51A /* LocalStorageNullEntries.localstorage */,
                                CEBCA1361E3A803400C73293 /* page-without-csp-iframe.html */,
                                CEBCA1371E3A803400C73293 /* page-without-csp.html */,
                                A1409AD81E7254AC004949D9 /* password-protected.pages */,
+                               3FCC4FE61EC4E87E0076E37C /* PictureInPictureDelegate.html */,
                                F415086C1DA040C10044BE9B /* play-audio-on-click.html */,
+                               F41AB9941EF4692C0083FA08 /* prevent-operation.html */,
+                               F41AB99A1EF4692C0083FA08 /* prevent-start.html */,
                                A12DDBFF1E8373C100CF6CAE /* rendered-image-excluding-overflow.html */,
                                F46849BF1EEF5EDC00B937FE /* rich-and-plain-text.html */,
                                C9B4AD291ECA6EA500F5FEA0 /* silence-long.m4a */,
                                F4F405BB1D4C0CF8007A9707 /* skinny-autoplaying-video-with-audio.html */,
                                515BE16E1D4288FF00DD7C68 /* StoreBlobToBeDeleted.html */,
                                2E9896141D8F092B00739892 /* text-and-password-inputs.html */,
+                               F41AB9951EF4692C0083FA08 /* textarea-to-input.html */,
                                F4451C751EB8FD7C0020C5DA /* two-paragraph-contenteditable.html */,
                                51714EB21CF8C761004723C4 /* WebProcessKillIDBCleanup-1.html */,
                                51714EB31CF8C761004723C4 /* WebProcessKillIDBCleanup-2.html */,
                                5120C83B1E674E350025B250 /* WebsiteDataStoreCustomPaths.html */,
                                2E131C171D83A97E001BA36C /* wide-autoplaying-video-with-audio.html */,
-                               F47D30ED1ED28A6C000482E1 /* gif-and-file-input.html */,
                        );
                        name = Resources;
                        sourceTree = "<group>";
                                290F4276172A232C00939FF0 /* CustomProtocolsSyncXHRTest.mm */,
                                29AB8A9F164C735800D49BEC /* CustomProtocolsTest.mm */,
                                2D1646E11D1862CD00015A1A /* DeferredViewInWindowStateChange.mm */,
+                               9B19CD9E1F06DFE3000548DD /* NetworkProcessCrashWithPendingConnection.mm */,
                                B55AD1D1179F336600AC1494 /* PreventImageLoadWithAutoResizing.mm */,
                                B55AD1D3179F3ABF00AC1494 /* PreventImageLoadWithAutoResizing_Bundle.cpp */,
-                               9B19CD9E1F06DFE3000548DD /* NetworkProcessCrashWithPendingConnection.mm */,
                                2943BE84161DFEB800999E3D /* UserContentTest.mm */,
                                BC3C4C7D14587AA60025FB62 /* WKBrowsingContextGroupTest.mm */,
                                BC3C4C7014575B6A0025FB62 /* WKBrowsingContextLoadDelegateTest.mm */,
                                93AF4ECA1506F035007FD57E /* NewFirstVisuallyNonEmptyLayoutForImages.cpp */,
                                93AF4ECD1506F064007FD57E /* NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp */,
                                93F7E86B14DC8E4D00C84A99 /* NewFirstVisuallyNonEmptyLayoutFrames.cpp */,
-                               115EB3421EE0B720003C2C0A /* ViewportSizeForViewportUnits.mm */,
                                93F7E86E14DC8E5B00C84A99 /* NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp */,
                                7CCB4DA71C83AE7300CC6918 /* PageGroup.cpp */,
                                BC909779125571AB00083756 /* PageLoadBasic.cpp */,
                                4A410F4B19AF7BD6002EBAB5 /* UserMedia.cpp */,
                                BC22D31314DC689800FFB1DD /* UserMessage.cpp */,
                                BC22D31714DC68B800FFB1DD /* UserMessage_Bundle.cpp */,
+                               115EB3421EE0B720003C2C0A /* ViewportSizeForViewportUnits.mm */,
                                520BCF4B141EB09E00937EA8 /* WebArchive.cpp */,
                                520BCF4A141EB09E00937EA8 /* WebArchive_Bundle.cpp */,
                                0F17BBD415AF6C4D007AB753 /* WebCoreStatisticsWithNoWebProcess.cpp */,
                                1AF7B21D1D6CD12E008C126C /* EnumTraits.cpp */,
                                AD7C434C1DD2A5470026888B /* Expected.cpp */,
                                9310CD361EF708FB0050FFE0 /* Function.cpp */,
+                               83DB79671EF63B3C00BFA5E5 /* Function.cpp */,
                                7A38D7E51C752D5F004F157D /* HashCountedSet.cpp */,
                                0BCD833414857CE400EA2003 /* HashMap.cpp */,
                                26B2DFF815BDE599004F691D /* HashSet.cpp */,
                                266FAFD215E5775200F61D5B /* IntegerToStringConversion.cpp */,
                                531C1D8D1DF8EF72006E979F /* LEBDecoder.cpp */,
+                               A57D54F71F3397B400A97AA7 /* LifecycleLogger.cpp */,
+                               A57D54F81F3397B400A97AA7 /* LifecycleLogger.h */,
                                26300B1716755CD90066886D /* ListHashSet.cpp */,
                                0FFC45A41B73EBE20085BD62 /* Lock.cpp */,
+                               A57D54F41F3395D000A97AA7 /* Logger.cpp */,
+                               A57D54F51F3395D000A97AA7 /* Logger.h */,
                                B4039F9C15E6D8B3007255D6 /* MathExtras.cpp */,
                                CD5393C71757BA9700C07123 /* MD5.cpp */,
                                CD5497B315857F0C00B5BC30 /* MediaTime.cpp */,
                                0FC6C4CE141034AD005B7F0C /* MetaAllocator.cpp */,
                                93A427AC180DA60F00CD24D7 /* MoveOnly.h */,
                                FEB6F74E1B2BA44E009E4922 /* NakedPtr.cpp */,
+                               A57D54F21F338C3600A97AA7 /* NeverDestroyed.cpp */,
                                1AFDE6541953B2C000C48FFA /* Optional.cpp */,
                                CE50D8C81C8665CE0072EA5A /* OptionSet.cpp */,
                                0FE447971B76F1E3009498EB /* ParkingLot.cpp */,
                                1CB9BC371A67482300FE5678 /* WeakPtr.cpp */,
                                7AA6A1511AAC0B31002B2ED3 /* WorkQueue.cpp */,
                                265AF54F15D1E48A00B0CB4A /* WTFString.cpp */,
-                               83DB79671EF63B3C00BFA5E5 /* Function.cpp */,
                        );
                        path = WTF;
                        sourceTree = "<group>";
                BC90977B125571AE00083756 /* Resources */ = {
                        isa = PBXGroup;
                        children = (
-                               55226A2E1EB969B600C36AD0 /* large-red-square-image.html */,
                                C045F9461385C2F800C0F3CD /* 18-characters.html */,
                                1C2B81851C89252300A5529F /* Ahem.ttf */,
                                93D3D19B17B1A7B000C7C415 /* all-content-in-one-iframe.html */,
                                CE3524F51B142BBB0028A7C5 /* input-focus-blur.html */,
                                C9B4AD2B1ECA6F7600F5FEA0 /* js-autoplay-audio.html */,
                                C99B675B1E3971FC00FC6C80 /* js-play-with-controls.html */,
+                               55226A2E1EB969B600C36AD0 /* large-red-square-image.html */,
                                8361F1771E610B2100759B25 /* link-with-download-attribute-with-slashes.html */,
                                8349D3C31DB9724F004A9F65 /* link-with-download-attribute.html */,
                                378E647816326FDF00B6C676 /* link-with-title.html */,
                                93AF4ECF1506F123007FD57E /* lots-of-images.html */,
                                2DD7D3AE178227AC0026E1E3 /* lots-of-text-vertical-lr.html */,
                                930AD401150698B30067970F /* lots-of-text.html */,
-                               5797FE321EB15A8900B2F4A0 /* navigation-client-default-crypto.html */,
                                AD57AC1D1DA7463800FF1BDE /* many-iframes.html */,
                                CDC9442B1EF1FBD20059C3C4 /* mediastreamtrack-detached.html */,
                                51CD1C711B38D48400142CA5 /* modal-alerts-in-new-about-blank-window.html */,
                                7A1458FB1AD5C03500E06772 /* mouse-button-listener.html */,
                                33E79E05137B5FCE00E32D99 /* mouse-move-listener.html */,
+                               5797FE321EB15A8900B2F4A0 /* navigation-client-default-crypto.html */,
                                C99B675E1E39735C00FC6C80 /* no-autoplay-with-controls.html */,
                                CEA6CF2719CCF69D0064F5A7 /* open-and-close-window.html */,
                                F6FDDDD514241C48004F1729 /* push-state.html */,
                                4BB4160116815B2600824238 /* JSWrapperForNodeInWebFrame.mm */,
                                7A7B0E7E1EAFE454006AB8AE /* LimitTitleSize.mm */,
                                57901FAE1CAF137100ED64F9 /* LoadInvalidURLRequest.mm */,
+                               CDA315961ED53651009F60D3 /* MediaPlaybackSleepAssertion.mm */,
                                E1220D9F155B25480013E2FC /* MemoryCacheDisableWithinResourceLoadDelegate.mm */,
                                517E7DFB15110EA600D0B008 /* MemoryCachePruneWithinResourceLoadDelegate.mm */,
                                5C0BF88C1DD5957400B00328 /* MemoryPressureHandler.mm */,
                                A5E2027215B2181900C13E14 /* WindowlessWebViewWithMedia.mm */,
                                F4FA917F1E61849B007B8C1D /* WKWebViewSelectionTests.mm */,
                                764322D51B61CCA40024F801 /* WordBoundaryTypingAttributes.mm */,
-                               CDA315961ED53651009F60D3 /* MediaPlaybackSleepAssertion.mm */,
                        );
                        path = mac;
                        sourceTree = "<group>";
                                C2CF975916CEC69E0054E99D /* JSContextBackForwardCache2.html */,
                                F42DA5151D8CEFDB00336F40 /* large-input-field-focus-onload.html */,
                                57901FB01CAF141C00ED64F9 /* LoadInvalidURLRequest.html */,
+                               CDA315991ED540A5009F60D3 /* MediaPlaybackSleepAssertion.html */,
                                E1220DC9155B287D0013E2FC /* MemoryCacheDisableWithinResourceLoadDelegate.html */,
                                517E7E031511187500D0B008 /* MemoryCachePruneWithinResourceLoadDelegate.html */,
                                290A9BB81735F42300D71BBC /* OpenNewWindow.html */,
                                536770351CC812F900D425B1 /* WebScriptObjectDescription.html */,
                                CE14F1A2181873B0001C2705 /* WillPerformClientRedirectToURLCrash.html */,
                                A5E2027015B2180600C13E14 /* WindowlessWebViewWithMedia.html */,
-                               CDA315991ED540A5009F60D3 /* MediaPlaybackSleepAssertion.html */,
                        );
                        name = Resources;
                        sourceTree = "<group>";
                C0C5D3BB14598B6F00A802A6 /* mac */ = {
                        isa = PBXGroup;
                        children = (
-                               7A95BDDF1E9BEC4000865498 /* InjectedBundleAppleEvent_Bundle.cpp */,
-                               7A95BDE01E9BEC4000865498 /* InjectedBundleAppleEvent.cpp */,
                                9BD423991E04BD9800200395 /* AttributedSubstringForProposedRangeWithImage.mm */,
                                8349D3C11DB96DDA004A9F65 /* ContextMenuDownload.mm */,
                                BCAA485714A044D40088FAC4 /* EditorCommands.mm */,
                                C0C5D3BC14598B6F00A802A6 /* GetBackingScaleFactor.mm */,
                                C0C5D3BD14598B6F00A802A6 /* GetBackingScaleFactor_Bundle.mm */,
                                1AEF994817A09F5300998EF0 /* GetPIDAfterAbortedProcessLaunch.cpp */,
+                               7A95BDE01E9BEC4000865498 /* InjectedBundleAppleEvent.cpp */,
+                               7A95BDDF1E9BEC4000865498 /* InjectedBundleAppleEvent_Bundle.cpp */,
                                46E816F71E79E29100375ADC /* RestoreStateAfterTermination.mm */,
                        );
                        path = mac;
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               E3DEA8111F0A589000CBC2E8 /* ThreadGroup.cpp in Sources */,
                                7C83DE991D0A590C00FEBCF3 /* AtomicString.cpp in Sources */,
                                1ADAD1501D77A9F600212586 /* BlockPtr.mm in Sources */,
                                7C83DE9C1D0A590C00FEBCF3 /* BloomFilter.cpp in Sources */,
-                               9310CD381EF708FB0050FFE0 /* Function.cpp in Sources */,
                                7C83DEA01D0A590C00FEBCF3 /* CheckedArithmeticOperations.cpp in Sources */,
                                7C83DEC31D0A590C00FEBCF3 /* Condition.cpp in Sources */,
                                7C83DEA61D0A590C00FEBCF3 /* Counters.cpp in Sources */,
                                7C83DEAD1D0A590C00FEBCF3 /* Deque.cpp in Sources */,
                                1AF7B21F1D6CD14D008C126C /* EnumTraits.cpp in Sources */,
                                AD7C434D1DD2A54E0026888B /* Expected.cpp in Sources */,
+                               9310CD381EF708FB0050FFE0 /* Function.cpp in Sources */,
                                6BFD294C1D5E6C1D008EC968 /* HashCountedSet.cpp in Sources */,
                                7C83DED21D0A590C00FEBCF3 /* HashMap.cpp in Sources */,
                                7C83DED41D0A590C00FEBCF3 /* HashSet.cpp in Sources */,
                                7C83DEE01D0A590C00FEBCF3 /* IntegerToStringConversion.cpp in Sources */,
                                531C1D8E1DF8EF72006E979F /* LEBDecoder.cpp in Sources */,
+                               A57D54F91F3397B400A97AA7 /* LifecycleLogger.cpp in Sources */,
                                7C83DEE81D0A590C00FEBCF3 /* ListHashSet.cpp in Sources */,
-                               5311BD5E1EA9490E00525281 /* ThreadMessages.cpp in Sources */,
                                7C83DF1D1D0A590C00FEBCF3 /* Lock.cpp in Sources */,
+                               A57D54F61F3395D000A97AA7 /* Logger.cpp in Sources */,
                                7C83DEED1D0A590C00FEBCF3 /* MathExtras.cpp in Sources */,
                                7C83DEEF1D0A590C00FEBCF3 /* MD5.cpp in Sources */,
                                7C83DEF11D0A590C00FEBCF3 /* MediaTime.cpp in Sources */,
                                7C83DEF61D0A590C00FEBCF3 /* MetaAllocator.cpp in Sources */,
                                7C83DEFE1D0A590C00FEBCF3 /* NakedPtr.cpp in Sources */,
+                               A57D54F31F338C3600A97AA7 /* NeverDestroyed.cpp in Sources */,
                                7C83DF011D0A590C00FEBCF3 /* Optional.cpp in Sources */,
                                1A77BAA31D9AFFFC005FC568 /* OptionSet.cpp in Sources */,
                                7C83DF021D0A590C00FEBCF3 /* OSObjectPtr.cpp in Sources */,
                                1A3524AE1D63A4FB0031729B /* Scope.cpp in Sources */,
                                7C83DF121D0A590C00FEBCF3 /* ScopedLambda.cpp in Sources */,
                                7C83DF3D1D0A590C00FEBCF3 /* SetForScope.cpp in Sources */,
-                               37C7CC2D1EA4146B007BD956 /* WeakLinking.cpp in Sources */,
                                7C83DF2A1D0A590C00FEBCF3 /* SHA1.cpp in Sources */,
                                7C83DF321D0A590C00FEBCF3 /* StringBuilder.cpp in Sources */,
                                7CD4C26E1E2C0E6E00929470 /* StringConcatenate.cpp in Sources */,
                                5597F8361D9596C80066BC21 /* SynchronizedFixedQueue.cpp in Sources */,
                                7C83DF401D0A590C00FEBCF3 /* TestsController.cpp in Sources */,
                                9329AA291DE3F81E003ABD07 /* TextBreakIterator.cpp in Sources */,
+                               E3DEA8111F0A589000CBC2E8 /* ThreadGroup.cpp in Sources */,
+                               5311BD5E1EA9490E00525281 /* ThreadMessages.cpp in Sources */,
                                0F2C20B81DCD545000542D9E /* Time.cpp in Sources */,
                                7C83E03B1D0A602700FEBCF3 /* UtilitiesCocoa.mm in Sources */,
                                7C83FC711D5535A8001DFBCD /* Variant.cpp in Sources */,
                                7C83DF4C1D0A590C00FEBCF3 /* Vector.cpp in Sources */,
+                               37C7CC2D1EA4146B007BD956 /* WeakLinking.cpp in Sources */,
                                7C83DF631D0A590C00FEBCF3 /* WTFString.cpp in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                                7CEFA9661AC0B9E200B910FD /* _WKUserContentExtensionStore.mm in Sources */,
                                7CCE7EE41A411AE600447C4C /* AboutBlankLoad.cpp in Sources */,
                                7CCE7EB31A411A7E00447C4C /* AcceptsFirstMouse.mm in Sources */,
+                               F45B63FE1F19D410009D38B9 /* ActionSheetTests.mm in Sources */,
+                               37E7DD641EA06FF2009B396D /* AdditionalReadAccessAllowedURLs.mm in Sources */,
                                7A909A7D1D877480007E10F8 /* AffineTransform.cpp in Sources */,
                                A1DF74321C41B65800A2F4D0 /* AlwaysRevalidatedURLSchemes.mm in Sources */,
                                2DE71AFE1D49C0BD00904094 /* AnimatedResize.mm in Sources */,
                                51D1249B1E785425002B2820 /* CookieManager.cpp in Sources */,
                                7CCE7EAC1A411A3400447C4C /* Counters.cpp in Sources */,
                                7AEAD47F1E20116C00416EFE /* CrossPartitionFileSchemeAccess.mm in Sources */,
-                               CDC9442E1EF1FC080059C3C4 /* MediaStreamTrackDetached.mm in Sources */,
                                7CCE7EDB1A411A9200447C4C /* CSSParser.cpp in Sources */,
                                7CCE7F291A411B1000447C4C /* CustomProtocolsInvalidScheme.mm in Sources */,
                                7CCE7F2A1A411B1000447C4C /* CustomProtocolsSyncXHRTest.mm in Sources */,
                                2DC4CF771D2D9DD800ECCC94 /* DataDetection.mm in Sources */,
                                F4D4F3B61E4E2BCB00BB2767 /* DataInteractionSimulator.mm in Sources */,
                                F4D4F3B91E4E36E400BB2767 /* DataInteractionTests.mm in Sources */,
+                               CEC16EA51EE863C000DE479A /* DecidePolicyForNavigationAction.mm in Sources */,
                                2D1646E21D1862CD00015A1A /* DeferredViewInWindowStateChange.mm in Sources */,
                                7CCE7EB91A411A7E00447C4C /* DeviceScaleFactorInDashboardRegions.mm in Sources */,
                                7CCE7EBA1A411A7E00447C4C /* DeviceScaleFactorOnBack.mm in Sources */,
                                7C83E04D1D0A641800FEBCF3 /* DFACombiner.cpp in Sources */,
                                7C83E04E1D0A641800FEBCF3 /* DFAMinimizer.cpp in Sources */,
-                               CEC16EA51EE863C000DE479A /* DecidePolicyForNavigationAction.mm in Sources */,
                                7CCE7EE91A411AE600447C4C /* DidAssociateFormControls.cpp in Sources */,
                                7CCE7EEA1A411AE600447C4C /* DidNotHandleKeyDown.cpp in Sources */,
                                AD57AC211DA7465B00FF1BDE /* DidRemoveFrameFromHiearchyInPageCache.cpp in Sources */,
                                7CCE7EBB1A411A7E00447C4C /* DOMHTMLTableCellCellAbove.mm in Sources */,
                                2D51A0C71C8BF00C00765C45 /* DOMHTMLVideoElementWrapper.mm in Sources */,
                                46397B951DC2C850009A78AE /* DOMNode.mm in Sources */,
-                               5198A2401EA7E59F008910B7 /* InitialWarmedProcessUsed.mm in Sources */,
-                               2D838B1F1EEF3A5C009B980E /* WKContentViewEditingActions.mm in Sources */,
                                7CCE7EBC1A411A7E00447C4C /* DOMNodeFromJSObject.mm in Sources */,
                                7CCE7EBD1A411A7E00447C4C /* DOMRangeOfString.mm in Sources */,
-                               115EB3431EE0BA03003C2C0A /* ViewportSizeForViewportUnits.mm in Sources */,
-                               37E7DD641EA06FF2009B396D /* AdditionalReadAccessAllowedURLs.mm in Sources */,
                                7CCE7EEC1A411AE600447C4C /* DOMWindowExtensionBasic.cpp in Sources */,
                                7CCE7EED1A411AE600447C4C /* DOMWindowExtensionNoCache.cpp in Sources */,
                                7CCE7F231A411AF600447C4C /* Download.mm in Sources */,
                                7CCE7EEE1A411AE600447C4C /* DownloadDecideDestinationCrash.cpp in Sources */,
                                F4BFA68E1E4AD08000154298 /* DragAndDropPasteboardTests.mm in Sources */,
                                A155022A1E05020B00A24C57 /* DuplicateCompletionHandlerCalls.mm in Sources */,
-                               4647B1261EBA3B850041D7EF /* ProcessDidTerminate.cpp in Sources */,
                                7CCE7EBE1A411A7E00447C4C /* DynamicDeviceScaleFactor.mm in Sources */,
                                5C0BF8921DD599B600B00328 /* EarlyKVOCrash.mm in Sources */,
                                7CCE7EE01A411A9A00447C4C /* EditorCommands.mm in Sources */,
                                07492B3B1DF8B14C00633DE1 /* EnumerateMediaDevices.cpp in Sources */,
                                448D7E471EA6C55500ECC756 /* EnvironmentUtilitiesTest.cpp in Sources */,
                                7CCE7EEF1A411AE600447C4C /* EphemeralSessionPushStateNoHistoryCallback.cpp in Sources */,
-                               F45B63FE1F19D410009D38B9 /* ActionSheetTests.mm in Sources */,
                                7CCE7EF01A411AE600447C4C /* EvaluateJavaScript.cpp in Sources */,
-                               57599E211F07191900A3FB8C /* IndexedDBStructuredCloneBackwardCompatibility.mm in Sources */,
+                               5C7964101EB0278D0075D74C /* EventModifiers.cpp in Sources */,
                                315118101DB1AE4000176304 /* ExtendedColor.cpp in Sources */,
                                7CCE7EF11A411AE600447C4C /* FailedLoad.cpp in Sources */,
+                               7A32D74A1F02151500162C44 /* FileMonitor.cpp in Sources */,
                                7C83E04F1D0A641800FEBCF3 /* FileSystem.cpp in Sources */,
                                7CCE7EF31A411AE600447C4C /* Find.cpp in Sources */,
                                7C83E0BB1D0A650000FEBCF3 /* FindInPage.mm in Sources */,
                                7CCE7EF41A411AE600447C4C /* FindMatches.mm in Sources */,
                                7C83E0401D0A63E300FEBCF3 /* FirstResponderScrollingPosition.mm in Sources */,
-                               51C8E1A51F26AF4C00BF731B /* ResourceLoadStatistics.mm in Sources */,
+                               C9E6DD351EA97D0800DD78AA /* FirstResponderSuppression.mm in Sources */,
                                7C83E0BC1D0A650700FEBCF3 /* FixedLayoutSize.mm in Sources */,
                                7A909A7E1D877480007E10F8 /* FloatPoint.cpp in Sources */,
                                7A909A7F1D877480007E10F8 /* FloatRect.cpp in Sources */,
                                7CCE7EF71A411AE600447C4C /* FrameMIMETypePNG.cpp in Sources */,
                                CD78E11D1DB7EA660014A2DE /* FullscreenDelegate.mm in Sources */,
                                7C83E0BD1D0A650C00FEBCF3 /* FullscreenTopContentInset.mm in Sources */,
-                               7A32D74A1F02151500162C44 /* FileMonitor.cpp in Sources */,
                                CDBFCC451A9FF45300A7B691 /* FullscreenZoomInitialFrame.mm in Sources */,
+                               83DB79691EF63B3C00BFA5E5 /* Function.cpp in Sources */,
                                7CCE7EF81A411AE600447C4C /* Geolocation.cpp in Sources */,
                                631EFFF61E7B5E8D00D2EBB8 /* Geolocation.mm in Sources */,
                                7CCE7EE11A411A9A00447C4C /* GetBackingScaleFactor.mm in Sources */,
                                7CCE7EF91A411AE600447C4C /* GetInjectedBundleInitializationUserDataCallback.cpp in Sources */,
                                7CCE7EE21A411A9A00447C4C /* GetPIDAfterAbortedProcessLaunch.cpp in Sources */,
+                               07CE1CF31F06A7E000BF89F5 /* GetUserMediaNavigation.mm in Sources */,
                                316BDBAC1E7207F100DE0D5A /* GPUBuffer.mm in Sources */,
+                               315231CA1EB3B3C700A22A16 /* GPUCommandQueue.mm in Sources */,
                                3162AE9C1E6F2FF5000E4DBC /* GPUDevice.mm in Sources */,
                                316BDBA41E70EF6800DE0D5A /* GPUFunction.mm in Sources */,
                                316BDBA11E70D71B00DE0D5A /* GPULibrary.mm in Sources */,
                                8E4A85371E1D1AB200F53B0F /* GridPosition.cpp in Sources */,
                                7CCE7EFA1A411AE600447C4C /* HitTestResultNodeHandle.cpp in Sources */,
                                7CCE7EC11A411A7E00447C4C /* HTMLCollectionNamedItem.mm in Sources */,
-                               2D21FE591F04642900B58E7D /* WKPDFViewStablePresentationUpdateCallback.mm in Sources */,
                                7CCE7EC21A411A7E00447C4C /* HTMLFormCollectionNamedItem.mm in Sources */,
                                7C83E0501D0A641800FEBCF3 /* HTMLParserIdioms.cpp in Sources */,
-                               7A95BDE11E9BEC5F00865498 /* InjectedBundleAppleEvent.cpp in Sources */,
+                               51AF23DF1EF1A3730072F281 /* IconLoadingDelegate.mm in Sources */,
                                510477781D29923B009747EB /* IDBDeleteRecovery.mm in Sources */,
                                5110FCFA1E01CDB8006F8D0B /* IDBIndexUpgradeToV2.mm in Sources */,
-                               83DE134D1EF1C50800C1B355 /* ResponsivenessTimer.cpp in Sources */,
                                51A587861D273AA9004BA9AF /* IndexedDBDatabaseProcessKill.mm in Sources */,
                                7C83E0BE1D0A651300FEBCF3 /* IndexedDBMultiProcess.mm in Sources */,
                                7C83E0BF1D0A652200FEBCF3 /* IndexedDBPersistence.mm in Sources */,
+                               57599E211F07191900A3FB8C /* IndexedDBStructuredCloneBackwardCompatibility.mm in Sources */,
+                               5198A2401EA7E59F008910B7 /* InitialWarmedProcessUsed.mm in Sources */,
+                               7A95BDE11E9BEC5F00865498 /* InjectedBundleAppleEvent.cpp in Sources */,
                                7CCE7EFB1A411AE600447C4C /* InjectedBundleBasic.cpp in Sources */,
                                7CCE7EFC1A411AE600447C4C /* InjectedBundleFrameHitTest.cpp in Sources */,
                                7CCE7EFD1A411AE600447C4C /* InjectedBundleInitializationUserDataCallbackWins.cpp in Sources */,
-                               3FCC4FE51EC4E8520076E37C /* PictureInPictureDelegate.mm in Sources */,
                                7C83E0B81D0A64BD00FEBCF3 /* InjectedBundleMakeAllShadowRootsOpen.cpp in Sources */,
                                7CCE7EC31A411A7E00447C4C /* InspectorBar.mm in Sources */,
                                95646E5B1F1DB60E00DE0EB9 /* InspectorValue.cpp in Sources */,
                                7CCE7EA51A411A0800447C4C /* JavaScriptTestMac.mm in Sources */,
                                7CCE7EC41A411A7E00447C4C /* JSWrapperForNodeInWebFrame.mm in Sources */,
                                7CCE7F061A411AE600447C4C /* LayoutMilestonesWithAllContentInFrame.cpp in Sources */,
-                               7A66BDB61EAF14EF00CCC924 /* LimitTitleSize.cpp in Sources */,
                                7CCE7EDF1A411A9200447C4C /* LayoutUnit.cpp in Sources */,
+                               7A66BDB61EAF14EF00CCC924 /* LimitTitleSize.cpp in Sources */,
+                               7A7B0E7F1EAFE4C3006AB8AE /* LimitTitleSize.mm in Sources */,
                                C25CCA061E51380B0026CB8A /* LineBreaking.mm in Sources */,
                                37D36ED71AF42ECD00BAF5D9 /* LoadAlternateHTMLString.mm in Sources */,
                                7CCE7EFE1A411AE600447C4C /* LoadAlternateHTMLStringWithNonDirectoryURL.cpp in Sources */,
                                7CCE7EFF1A411AE600447C4C /* LoadCanceledNoServerRedirectCallback.cpp in Sources */,
                                A125478F1DB18B9400358564 /* LoadDataWithNilMIMEType.mm in Sources */,
                                5C838F7F1DB04F900082858F /* LoadInvalidURLRequest.mm in Sources */,
-                               83DB79691EF63B3C00BFA5E5 /* Function.cpp in Sources */,
                                7C83E0C01D0A652700FEBCF3 /* LoadInvalidURLRequest.mm in Sources */,
                                7CCE7F001A411AE600447C4C /* LoadPageOnCrash.cpp in Sources */,
-                               6356FB221EC4E0BA0044BF18 /* VisibleContentRect.mm in Sources */,
                                51E6A8941D2F1C0A00C004B6 /* LocalStorageClear.mm in Sources */,
                                46C519DA1D355AB200DAA51A /* LocalStorageNullEntries.mm in Sources */,
                                7A6A2C701DCCFA8C00C0D085 /* LocalStorageQuirkTest.mm in Sources */,
+                               CDA315981ED53651009F60D3 /* MediaPlaybackSleepAssertion.mm in Sources */,
+                               CDC9442E1EF1FC080059C3C4 /* MediaStreamTrackDetached.mm in Sources */,
                                7CCE7EB21A411A5100447C4C /* MemoryCacheAddImageToCacheIOS.mm in Sources */,
                                7CCE7EC51A411A7E00447C4C /* MemoryCacheDisableWithinResourceLoadDelegate.mm in Sources */,
-                               07CE1CF31F06A7E000BF89F5 /* GetUserMediaNavigation.mm in Sources */,
                                7CCE7EC61A411A7E00447C4C /* MemoryCachePruneWithinResourceLoadDelegate.mm in Sources */,
-                               CDA315981ED53651009F60D3 /* MediaPlaybackSleepAssertion.mm in Sources */,
                                5C0BF88D1DD5964D00B00328 /* MemoryPressureHandler.mm in Sources */,
                                7C83E0B71D0A64B800FEBCF3 /* MenuTypesForMouseEvents.cpp in Sources */,
                                5C0BF8941DD599C900B00328 /* MenuTypesForMouseEvents.mm in Sources */,
                                7CCE7F011A411AE600447C4C /* MouseMoveAfterCrash.cpp in Sources */,
                                7CCE7F241A411AF600447C4C /* Navigation.mm in Sources */,
                                5C0BF8951DD599CD00B00328 /* NavigatorLanguage.mm in Sources */,
+                               9B19CDA01F06DFE3000548DD /* NetworkProcessCrashWithPendingConnection.mm in Sources */,
                                7CCE7F021A411AE600447C4C /* NewFirstVisuallyNonEmptyLayout.cpp in Sources */,
                                7CCE7F031A411AE600447C4C /* NewFirstVisuallyNonEmptyLayoutFails.cpp in Sources */,
                                7CCE7F041A411AE600447C4C /* NewFirstVisuallyNonEmptyLayoutForImages.cpp in Sources */,
                                7CCE7F051A411AE600447C4C /* NewFirstVisuallyNonEmptyLayoutFrames.cpp in Sources */,
                                2ECFF5551D9B12F800B55394 /* NowPlayingControlsTests.mm in Sources */,
                                A10F047E1E3AD29C00C95E19 /* NSFileManagerExtras.mm in Sources */,
-                               9B19CDA01F06DFE3000548DD /* NetworkProcessCrashWithPendingConnection.mm in Sources */,
                                37A22AA71DCAA27200AFBFC4 /* ObservedRenderingProgressEventsAfterCrash.mm in Sources */,
                                7CCE7F251A411AF600447C4C /* OpenAndCloseWindow.mm in Sources */,
                                CEBCA12F1E3A660100C73293 /* OverrideContentSecurityPolicy.mm in Sources */,
                                7CCE7EC71A411A7E00447C4C /* PageVisibilityStateWithWindowChanges.mm in Sources */,
                                7CCE7F091A411AE600447C4C /* ParentFrame.cpp in Sources */,
                                7C83E0511D0A641800FEBCF3 /* ParsedContentRange.cpp in Sources */,
-                               51AF23DF1EF1A3730072F281 /* IconLoadingDelegate.mm in Sources */,
                                7CCE7F0A1A411AE600447C4C /* PasteboardNotifications.mm in Sources */,
                                7C83E0531D0A643A00FEBCF3 /* PendingAPIRequestURL.cpp in Sources */,
+                               3FCC4FE51EC4E8520076E37C /* PictureInPictureDelegate.mm in Sources */,
                                7CCE7EAF1A411A3800447C4C /* PlatformUtilities.cpp in Sources */,
                                0F139E781A423A6B00F590F5 /* PlatformUtilitiesCocoa.mm in Sources */,
                                7CCE7EA61A411A0F00447C4C /* PlatformUtilitiesMac.mm in Sources */,
-                               51DB16CE1F085137001FA4C5 /* WebViewIconLoading.mm in Sources */,
                                7CCE7EA71A411A1300447C4C /* PlatformWebViewMac.mm in Sources */,
+                               83BAEE8D1EF4625500DDE894 /* PluginLoadClientPolicies.mm in Sources */,
                                7CCE7F261A411AF600447C4C /* Preferences.mm in Sources */,
                                7C1AF7951E8DCBAB002645B9 /* PrepareForMoveToWindow.mm in Sources */,
                                7CCE7F0B1A411AE600447C4C /* PreventEmptyUserAgent.cpp in Sources */,
                                7CCE7F2C1A411B1000447C4C /* PreventImageLoadWithAutoResizing.mm in Sources */,
-                               C9E6DD351EA97D0800DD78AA /* FirstResponderSuppression.mm in Sources */,
                                7CCE7F0C1A411AE600447C4C /* PrivateBrowsingPushStateNoHistoryCallback.cpp in Sources */,
+                               4647B1261EBA3B850041D7EF /* ProcessDidTerminate.cpp in Sources */,
                                7C83E0C11D0A652F00FEBCF3 /* ProvisionalURLNotChange.mm in Sources */,
                                7CCE7EC81A411A7E00447C4C /* PublicSuffix.mm in Sources */,
                                7C83E0C21D0A653500FEBCF3 /* QuickLook.mm in Sources */,
                                7C83E0C41D0A654200FEBCF3 /* RequiresUserActionForPlayback.mm in Sources */,
                                7CCE7F0E1A411AE600447C4C /* ResizeReversePaginatedWebView.cpp in Sources */,
                                7CCE7F0F1A411AE600447C4C /* ResizeWindowAfterCrash.cpp in Sources */,
+                               51C8E1A51F26AF4C00BF731B /* ResourceLoadStatistics.mm in Sources */,
+                               83DE134D1EF1C50800C1B355 /* ResponsivenessTimer.cpp in Sources */,
                                7CCE7F101A411AE600447C4C /* ResponsivenessTimerDoesntFireEarly.cpp in Sources */,
+                               83B6DE6F1EE75221001E792F /* RestoreSessionState.cpp in Sources */,
                                7CCE7F111A411AE600447C4C /* RestoreSessionStateContainingFormData.cpp in Sources */,
                                835CF9671D25FCD6001A65D4 /* RestoreSessionStateWithoutNavigation.cpp in Sources */,
                                46E816F81E79E29C00375ADC /* RestoreStateAfterTermination.mm in Sources */,
+                               A180C0FA1EE67DF000468F47 /* RunOpenPanel.mm in Sources */,
                                CDCFA7AA1E45183200C2433D /* SampleMap.cpp in Sources */,
                                7CCE7F121A411AE600447C4C /* ScrollPinningBehaviors.cpp in Sources */,
                                CE06DF9B1E1851F200E570C9 /* SecurityOrigin.cpp in Sources */,
                                5769C50B1D9B0002000847FB /* SerializedCryptoKeyWrap.mm in Sources */,
                                7CCE7ECB1A411A7E00447C4C /* SetAndUpdateCacheModel.mm in Sources */,
-                               51C683DE1EA134E800650183 /* WKURLSchemeHandler-1.mm in Sources */,
                                7CCE7ECC1A411A7E00447C4C /* SetDocumentURI.mm in Sources */,
                                7C83E0521D0A641800FEBCF3 /* SharedBuffer.cpp in Sources */,
                                A17991881E1C994E00A505ED /* SharedBuffer.mm in Sources */,
                                7C83E0C51D0A654600FEBCF3 /* ShrinkToFit.mm in Sources */,
                                7CCE7ECD1A411A7E00447C4C /* SimplifyMarkup.mm in Sources */,
                                2DFF7B6D1DA487AF00814614 /* SnapshotStore.mm in Sources */,
+                               0F4FFA9E1ED3AA8500F7111F /* SnapshotViaRenderInContext.mm in Sources */,
                                7CCE7F151A411AE600447C4C /* SpacebarScrolling.cpp in Sources */,
                                7CCE7EF21A411AE600447C4C /* StopLoadingDuringDidFailProvisionalLoad.cpp in Sources */,
                                7CCE7ECE1A411A7E00447C4C /* StopLoadingFromDidFinishLoading.mm in Sources */,
                                7CCE7ECF1A411A7E00447C4C /* StopLoadingFromDidReceiveResponse.mm in Sources */,
                                515BE1711D428E4B00DD7C68 /* StoreBlobThenDelete.mm in Sources */,
                                7CCE7ED01A411A7E00447C4C /* StringByEvaluatingJavaScriptFromString.mm in Sources */,
-                               83BAEE8D1EF4625500DDE894 /* PluginLoadClientPolicies.mm in Sources */,
                                7CCE7ED11A411A7E00447C4C /* StringTruncator.mm in Sources */,
                                ECA680CE1E68CC0900731D20 /* StringUtilities.mm in Sources */,
                                7CCE7ED21A411A7E00447C4C /* SubresourceErrorCrash.mm in Sources */,
                                A14FC5901B8AE36F00D107EB /* TestProtocol.mm in Sources */,
                                7CCE7EAE1A411A3400447C4C /* TestsController.cpp in Sources */,
                                2EFF06D41D8AEDBB0004BB30 /* TestWKWebView.mm in Sources */,
-                               46E66A901F0D75590026D83C /* WKWebViewDiagnosticLogging.mm in Sources */,
                                CE3524F91B1441C40028A7C5 /* TextFieldDidBeginAndEndEditing.cpp in Sources */,
                                7CCE7EDD1A411A9200447C4C /* TimeRanges.cpp in Sources */,
-                               0F4FFA9E1ED3AA8500F7111F /* SnapshotViaRenderInContext.mm in Sources */,
-                               A180C0FA1EE67DF000468F47 /* RunOpenPanel.mm in Sources */,
                                7CCE7ED31A411A7E00447C4C /* TypingStyleCrash.mm in Sources */,
+                               F46849BE1EEF58E400B937FE /* UIPasteboardTests.mm in Sources */,
                                7CCE7EDE1A411A9200447C4C /* URL.cpp in Sources */,
                                7CCE7EB01A411A4400447C4C /* URLExtras.mm in Sources */,
                                5C6E65441D5CEFD400F7862E /* URLParser.cpp in Sources */,
                                7C882E0A1C80C764006BF731 /* UserContentWorld.mm in Sources */,
                                7CCB99211D3B41F6003922F6 /* UserInitiatedActionInNavigationAction.mm in Sources */,
                                7CCE7F171A411AE600447C4C /* UserMedia.cpp in Sources */,
+                               0799C3491EBA2D7B003B7532 /* UserMediaDisabled.mm in Sources */,
                                7CCE7F181A411AE600447C4C /* UserMessage.cpp in Sources */,
                                7C83E03A1D0A602700FEBCF3 /* UtilitiesCocoa.mm in Sources */,
                                7C83E0C61D0A654E00FEBCF3 /* VideoControlsManager.mm in Sources */,
+                               115EB3431EE0BA03003C2C0A /* ViewportSizeForViewportUnits.mm in Sources */,
+                               6356FB221EC4E0BA0044BF18 /* VisibleContentRect.mm in Sources */,
                                0F139E771A423A5B00F590F5 /* WeakObjCPtr.mm in Sources */,
                                7CCE7F191A411AE600447C4C /* WebArchive.cpp in Sources */,
                                7C83E04C1D0A641800FEBCF3 /* WebCoreNSURLSession.mm in Sources */,
                                7CCE7F1A1A411AE600447C4C /* WebCoreStatisticsWithNoWebProcess.cpp in Sources */,
                                7CCE7EAB1A411A2400447C4C /* WebKitAgnosticTest.mm in Sources */,
                                51714EB81CF8CA17004723C4 /* WebProcessKillIDBCleanup.mm in Sources */,
-                               5182C22E1F2BCE540059BA7C /* WKURLSchemeHandler-leaks.mm in Sources */,
                                536770341CC8022800D425B1 /* WebScriptObjectDescription.mm in Sources */,
                                5120C83D1E6751290025B250 /* WebsiteDataStoreCustomPaths.mm in Sources */,
-                               7A7B0E7F1EAFE4C3006AB8AE /* LimitTitleSize.mm in Sources */,
                                5C9E56851DF9145400C9EE33 /* WebsitePolicies.mm in Sources */,
                                7CCE7ED41A411A7E00447C4C /* WebViewCanPasteURL.mm in Sources */,
                                5C0BF8911DD599A900B00328 /* WebViewCanPasteZeroPng.mm in Sources */,
                                7C83E0421D0A63FD00FEBCF3 /* WebViewCloseInsideDidFinishLoadForFrame.mm in Sources */,
                                7CCE7ED51A411A7E00447C4C /* WebViewDidCreateJavaScriptContext.mm in Sources */,
                                7CCE7ED61A411A7E00447C4C /* WebViewDidRemoveFrameFromHierarchy.mm in Sources */,
+                               51DB16CE1F085137001FA4C5 /* WebViewIconLoading.mm in Sources */,
                                7CCE7F1B1A411AE600447C4C /* WillLoad.cpp in Sources */,
                                7CCE7ED71A411A7E00447C4C /* WillPerformClientRedirectToURLCrash.mm in Sources */,
                                7CCE7F1C1A411AE600447C4C /* WillSendSubmitEvent.cpp in Sources */,
                                7CCE7F2E1A411B1000447C4C /* WKBrowsingContextGroupTest.mm in Sources */,
                                7CCE7F2F1A411B1000447C4C /* WKBrowsingContextLoadDelegateTest.mm in Sources */,
                                7C54A4BE1AA11CCA00380F78 /* WKBundleFileHandle.cpp in Sources */,
+                               5CE354D91E70DA5C00BEFE3B /* WKContentExtensionStore.mm in Sources */,
+                               2D838B1F1EEF3A5C009B980E /* WKContentViewEditingActions.mm in Sources */,
                                51D124981E763B02002B2820 /* WKHTTPCookieStore.mm in Sources */,
                                7CCE7F1D1A411AE600447C4C /* WKImageCreateCGImageCrash.cpp in Sources */,
-                               44817A2F1F0486BF00003810 /* WKRequestActivatedElementInfo.mm in Sources */,
                                375E0E171D66674400EFEC2C /* WKNSNumber.mm in Sources */,
                                37B47E301D64E7CA005F4EFF /* WKObject.mm in Sources */,
                                7C89D2AC1A69B80D003A5FDE /* WKPageConfiguration.cpp in Sources */,
                                7CCE7F201A411AE600447C4C /* WKPageIsPlayingAudio.cpp in Sources */,
                                A14AAB631E78D7DE00C1ADC2 /* WKPDFView.mm in Sources */,
                                2D00065F1C1F589A0088E6A7 /* WKPDFViewResizeCrash.mm in Sources */,
+                               2D21FE591F04642900B58E7D /* WKPDFViewStablePresentationUpdateCallback.mm in Sources */,
                                7CCE7F211A411AE600447C4C /* WKPreferences.cpp in Sources */,
+                               44817A2F1F0486BF00003810 /* WKRequestActivatedElementInfo.mm in Sources */,
                                7C83E0B51D0A649300FEBCF3 /* WKRetainPtr.cpp in Sources */,
                                5E4B1D2E1D404C6100053621 /* WKScrollViewDelegateCrash.mm in Sources */,
                                7CCE7F221A411AE600447C4C /* WKString.cpp in Sources */,
                                7CCE7F1E1A411AE600447C4C /* WKStringJSString.cpp in Sources */,
-                               5C7964101EB0278D0075D74C /* EventModifiers.cpp in Sources */,
                                2D4CF8BD1D8360CC0001CE8D /* WKThumbnailView.mm in Sources */,
-                               5CE354D91E70DA5C00BEFE3B /* WKContentExtensionStore.mm in Sources */,
-                               F46849BE1EEF58E400B937FE /* UIPasteboardTests.mm in Sources */,
+                               51C683DE1EA134E800650183 /* WKURLSchemeHandler-1.mm in Sources */,
+                               5182C22E1F2BCE540059BA7C /* WKURLSchemeHandler-leaks.mm in Sources */,
                                2EFF06D71D8AF34A0004BB30 /* WKWebViewCandidateTests.mm in Sources */,
                                A14FC5851B89739100D107EB /* WKWebViewConfigurationExtras.mm in Sources */,
                                7C417F331D19E14800B8EF53 /* WKWebViewDefaultNavigationDelegate.mm in Sources */,
+                               46E66A901F0D75590026D83C /* WKWebViewDiagnosticLogging.mm in Sources */,
                                0F3B94A71A77267400DE3272 /* WKWebViewEvaluateJavaScript.mm in Sources */,
                                D34E08761E4E42E1005FF14A /* WKWebViewGetContents.mm in Sources */,
-                               315231CA1EB3B3C700A22A16 /* GPUCommandQueue.mm in Sources */,
                                F4FA91811E61849B007B8C1D /* WKWebViewSelectionTests.mm in Sources */,
-                               0799C3491EBA2D7B003B7532 /* UserMediaDisabled.mm in Sources */,
                                93F56DA91E5F919D003EDE84 /* WKWebViewSnapshot.mm in Sources */,
-                               83B6DE6F1EE75221001E792F /* RestoreSessionState.cpp in Sources */,
                                9984FACC1CFFAF60008D198C /* WKWebViewTextInput.mm in Sources */,
                                764322D71B61CCC30024F801 /* WordBoundaryTypingAttributes.mm in Sources */,
                                9C64DC321D76198A004B598E /* YouTubePluginReplacement.cpp in Sources */,
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               37E7DD671EA071F3009B396D /* AdditionalReadAccessAllowedURLsPlugin.mm in Sources */,
                                374B7A611DF371CF00ACCB6C /* BundleEditingDelegatePlugIn.mm in Sources */,
                                A13EBBB01B87436F00097110 /* BundleParametersPlugIn.mm in Sources */,
                                37A709AF1E3EA97E00CA5969 /* BundleRangeHandlePlugIn.mm in Sources */,
                                A13EBBAB1B87434600097110 /* PlatformUtilitiesCocoa.mm in Sources */,
                                1A4F81CF1BDFFD53004E672E /* RemoteObjectRegistryPlugIn.mm in Sources */,
                                A12DDC021E837C2400CF6CAE /* RenderedImageWithOptionsPlugIn.mm in Sources */,
-                               37E7DD671EA071F3009B396D /* AdditionalReadAccessAllowedURLsPlugin.mm in Sources */,
                                7C882E091C80C630006BF731 /* UserContentWorldPlugIn.mm in Sources */,
                                7C83E03D1D0A60D600FEBCF3 /* UtilitiesCocoa.mm in Sources */,
                                A13EBBAA1B87428D00097110 /* WebProcessPlugIn.mm in Sources */,
                                C0C5D3C61459912900A802A6 /* GetBackingScaleFactor_Bundle.mm in Sources */,
                                F660AA1115A5F631003A1243 /* GetInjectedBundleInitializationUserDataCallback_Bundle.cpp in Sources */,
                                4BFDFFA71314776C0061F24B /* HitTestResultNodeHandle_Bundle.cpp in Sources */,
+                               7A95BDE21E9BEC7400865498 /* InjectedBundleAppleEvent_Bundle.cpp in Sources */,
                                BC575AB0126E83C8006F0F12 /* InjectedBundleBasic_Bundle.cpp in Sources */,
                                BC575AA2126E7660006F0F12 /* InjectedBundleController.cpp in Sources */,
                                1AEDE22613E5E7E700E62FE8 /* InjectedBundleControllerMac.mm in Sources */,
                                93F7E86F14DC8E5C00C84A99 /* NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp in Sources */,
                                52E5CE4914D21EAB003B2BD8 /* ParentFrame_Bundle.cpp in Sources */,
                                C54237F116B8957D00E638FC /* PasteboardNotifications_Bundle.cpp in Sources */,
-                               7A95BDE21E9BEC7400865498 /* InjectedBundleAppleEvent_Bundle.cpp in Sources */,
                                BC575BD9126F58E2006F0F12 /* PlatformUtilities.cpp in Sources */,
                                0F139E791A42457000F590F5 /* PlatformUtilitiesCocoa.mm in Sources */,
                                BC575BE0126F590D006F0F12 /* PlatformUtilitiesMac.mm in Sources */,
diff --git a/Tools/TestWebKitAPI/Tests/WTF/LifecycleLogger.cpp b/Tools/TestWebKitAPI/Tests/WTF/LifecycleLogger.cpp
new file mode 100644 (file)
index 0000000..0a61df0
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2013-2017 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.
+ */
+
+#include "config.h"
+#include "LifecycleLogger.h"
+
+namespace TestWebKitAPI {
+
+LifecycleLogger::LifecycleLogger()
+{
+    log() << "construct(" << name << ") ";
+}
+
+LifecycleLogger::LifecycleLogger(const char* name)
+    : name { name }
+{
+    log() << "construct(" << name << ") ";
+}
+
+LifecycleLogger::LifecycleLogger(const LifecycleLogger& other)
+    : name { other.name }
+{
+    log() << "copy-construct(" << name << ") ";
+}
+
+LifecycleLogger::LifecycleLogger(LifecycleLogger&& other)
+{
+    std::swap(name, other.name);
+    log() << "move-construct(" << name << ") ";
+}
+
+LifecycleLogger& LifecycleLogger::operator=(const LifecycleLogger& other)
+{
+    name = other.name;
+    log() << "copy-assign(" << name << ") ";
+    return *this;
+}
+
+LifecycleLogger& LifecycleLogger::operator=(LifecycleLogger&& other)
+{
+    std::swap(name, other.name);
+    log() << "move-assign(" << name << ") ";
+    return *this;
+}
+
+LifecycleLogger::~LifecycleLogger()
+{
+    log() << "destruct(" << name << ") ";
+}
+
+void LifecycleLogger::setName(const char* newName)
+{
+    name = newName;
+    log() << "set-name(" << name << ") ";
+}
+
+TEST(LifecycleLogger, Basic)
+{
+    { LifecycleLogger l; }
+    ASSERT_STREQ("construct(<default>) destruct(<default>) ", takeLogStr().c_str());
+
+    { LifecycleLogger l("a"); }
+    ASSERT_STREQ("construct(a) destruct(a) ", takeLogStr().c_str());
+
+    { LifecycleLogger l("b"); LifecycleLogger l2(l); }
+    ASSERT_STREQ("construct(b) copy-construct(b) destruct(b) destruct(b) ", takeLogStr().c_str());
+
+    { LifecycleLogger l("c"); LifecycleLogger l2; l2 = l; }
+    ASSERT_STREQ("construct(c) construct(<default>) copy-assign(c) destruct(c) destruct(c) ", takeLogStr().c_str());
+
+    { LifecycleLogger l("d"); LifecycleLogger l2(WTFMove(l)); }
+    ASSERT_STREQ("construct(d) move-construct(d) destruct(d) destruct(<default>) ", takeLogStr().c_str());
+
+    { LifecycleLogger l("e"); LifecycleLogger l2; l2 = WTFMove(l); }
+    ASSERT_STREQ("construct(e) construct(<default>) move-assign(e) destruct(e) destruct(<default>) ", takeLogStr().c_str());
+
+    { LifecycleLogger l("f"); l.setName("x"); }
+    ASSERT_STREQ("construct(f) set-name(x) destruct(x) ", takeLogStr().c_str());
+
+    { static LifecycleLogger l("g"); }
+    ASSERT_STREQ("construct(g) ", takeLogStr().c_str());
+}
+
+}
diff --git a/Tools/TestWebKitAPI/Tests/WTF/LifecycleLogger.h b/Tools/TestWebKitAPI/Tests/WTF/LifecycleLogger.h
new file mode 100644 (file)
index 0000000..e1c1642
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2017 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
+
+#include "Logger.h"
+
+namespace TestWebKitAPI {
+
+struct LifecycleLogger {
+    LifecycleLogger();
+    LifecycleLogger(const char* name);
+    LifecycleLogger(const LifecycleLogger&);
+    LifecycleLogger(LifecycleLogger&&);
+    LifecycleLogger& operator=(const LifecycleLogger&);
+    LifecycleLogger& operator=(LifecycleLogger&&);
+    ~LifecycleLogger();
+
+    void setName(const char*);
+
+    const char* name { "<default>" };
+};
+
+}
diff --git a/Tools/TestWebKitAPI/Tests/WTF/Logger.cpp b/Tools/TestWebKitAPI/Tests/WTF/Logger.cpp
new file mode 100644 (file)
index 0000000..1e903e9
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2013-2017 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.
+ */
+
+#include "config.h"
+#include "Logger.h"
+
+namespace TestWebKitAPI {
+
+std::ostringstream& log()
+{
+    static std::ostringstream log;
+    return log;
+}
+
+std::string takeLogStr()
+{
+    std::string string = log().str();
+    log().str("");
+    return string;
+}
+
+}
diff --git a/Tools/TestWebKitAPI/Tests/WTF/Logger.h b/Tools/TestWebKitAPI/Tests/WTF/Logger.h
new file mode 100644 (file)
index 0000000..1698b26
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2013-2017 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
+
+namespace TestWebKitAPI {
+
+std::ostringstream& log();
+
+std::string takeLogStr();
+
+}
diff --git a/Tools/TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp b/Tools/TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp
new file mode 100644 (file)
index 0000000..702953d
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+#include "config.h"
+
+#include "LifecycleLogger.h"
+#include <wtf/NeverDestroyed.h>
+#include <wtf/Vector.h>
+
+namespace TestWebKitAPI {
+
+TEST(WTF_NeverDestroyed, Construct)
+{
+    { static NeverDestroyed<LifecycleLogger> x; UNUSED_PARAM(x);}
+    ASSERT_STREQ("construct(<default>) ", takeLogStr().c_str());
+
+    { static NeverDestroyed<LifecycleLogger> x("name"); UNUSED_PARAM(x); }
+    ASSERT_STREQ("construct(name) ", takeLogStr().c_str());
+
+    { static auto x = makeNeverDestroyed(LifecycleLogger { "name" }); UNUSED_PARAM(x); }
+    ASSERT_STREQ("construct(name) move-construct(name) destruct(<default>) ", takeLogStr().c_str());
+
+    {
+        static NeverDestroyed<LifecycleLogger> x("name");
+        LifecycleLogger l = x.get();
+        l.setName("x");
+        ASSERT_STREQ(x.get().name, "name");
+    }
+    ASSERT_STREQ("construct(name) copy-construct(name) set-name(x) destruct(x) ", takeLogStr().c_str());
+}
+
+static const Vector<int>& list()
+{
+    static const auto x = makeNeverDestroyed(Vector<int> { 1, 2, 3 });
+    return x;
+}
+
+TEST(WTF_NeverDestroyed, Basic)
+{
+    ASSERT_EQ(list().size(), 3u);
+    ASSERT_EQ(&list(), &list());
+}
+
+} // namespace TestWebKitAPI
index 7f165f242c4a2b936a4d543f0e5bf242e0b50815..edb2e2b4a1264dab17fd0a55d2be924b53f64029 100644 (file)
 
 namespace TestWebKitAPI {
 
-std::ostringstream& log()
-{
-    static std::ostringstream log;
-    return log;
-}
-
-std::string takeLogStr()
-{
-    std::string string = log().str();
-    log().str("");
-    return string;
-}
-
 RefLogger::RefLogger(const char* name)
     : name { *name }
 {
index 7266cbe694f7abbd6edf9f1fe6e7a068f3270e16..6b412d2913a481c5cdf1edd0d1964898474283cc 100644 (file)
 
 #pragma once
 
-namespace TestWebKitAPI {
-
-std::ostringstream& log();
+#include "Logger.h"
 
-std::string takeLogStr();
+namespace TestWebKitAPI {
 
 struct RefLogger {
     RefLogger(const char* name);