Add an address-of operator to RetainPtr
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 16 Aug 2016 19:29:35 +0000 (19:29 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 16 Aug 2016 19:29:35 +0000 (19:29 +0000)
https://bugs.webkit.org/show_bug.cgi?id=160879

Reviewed by Tim Horton.

Source/WTF:

This will make some security-related code from WebKitSystemInterface easier to port.

* wtf/HashIterators.h:
(WTF::HashTableValuesIterator::get):
* wtf/HashTable.h:
(WTF::HashTableBucketInitializer<true>::initialize):
Use std::addressof instead of &, in case & is overloaded.

* wtf/RetainPtr.h:
(WTF::RetainPtr::operator&):
Implement this.

Tools:

Test HashMap and HashSet with an object whose operator& is deleted.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Sort the Xcode project.

* TestWebKitAPI/Tests/WTF/DeletedAddressOfOperator.h: Added.
(DeletedAddressOfOperator::DeletedAddressOfOperator):
(DeletedAddressOfOperator::value):
(DeletedAddressOfOperator::operator==):
(WTF::HashTraits<DeletedAddressOfOperator>::constructDeletedValue):
(WTF::HashTraits<DeletedAddressOfOperator>::isDeletedValue):
(WTF::DefaultHash<DeletedAddressOfOperator>::Hash::hash):
(WTF::DefaultHash<DeletedAddressOfOperator>::Hash::equal):
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::TEST):

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

Source/WTF/ChangeLog
Source/WTF/wtf/HashIterators.h
Source/WTF/wtf/HashTable.h
Source/WTF/wtf/RetainPtr.h
Source/WebCore/platform/network/cf/CookieJarCFNet.cpp
Tools/ChangeLog
Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
Tools/TestWebKitAPI/Tests/WTF/DeletedAddressOfOperator.h [new file with mode: 0644]
Tools/TestWebKitAPI/Tests/WTF/HashMap.cpp
Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp

index 93feacb..496051a 100644 (file)
@@ -1,3 +1,22 @@
+2016-08-15  Anders Carlsson  <andersca@apple.com>
+
+        Add an address-of operator to RetainPtr
+        https://bugs.webkit.org/show_bug.cgi?id=160879
+
+        Reviewed by Tim Horton.
+
+        This will make some security-related code from WebKitSystemInterface easier to port.
+
+        * wtf/HashIterators.h:
+        (WTF::HashTableValuesIterator::get):
+        * wtf/HashTable.h:
+        (WTF::HashTableBucketInitializer<true>::initialize):
+        Use std::addressof instead of &, in case & is overloaded.
+
+        * wtf/RetainPtr.h:
+        (WTF::RetainPtr::operator&):
+        Implement this.
+
 2016-08-15  Sam Weinig  <sam@webkit.org>
 
         Speed up compile times by not including wtf/Variant.h so much
index 11f62f5..318a849 100644 (file)
@@ -23,8 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef WTF_HashIterators_h
-#define WTF_HashIterators_h
+#pragma once
 
 #include <iterator>
 
@@ -151,7 +150,7 @@ namespace WTF {
     public:
         HashTableValuesIterator(const Iterator& impl) : m_impl(impl) {}
         
-        MappedType* get() const { return &(m_impl.get()->value); }
+        MappedType* get() const { return std::addressof(m_impl.get()->value); }
         MappedType& operator*() const { return *get(); }
         MappedType* operator->() const { return get(); }
 
@@ -214,7 +213,4 @@ namespace WTF {
         return a.m_impl != b.m_impl;
     }
 
-
 } // namespace WTF
-
-#endif // WTF_HashIterators_h
index 2e59771..db4c56f 100644 (file)
@@ -19,8 +19,7 @@
  *
  */
 
-#ifndef WTF_HashTable_h
-#define WTF_HashTable_h
+#pragma once
 
 #include <atomic>
 #include <iterator>
@@ -848,7 +847,7 @@ namespace WTF {
             // This initializes the bucket without copying the empty value.
             // That makes it possible to use this with types that don't support copying.
             // The memset to 0 looks like a slow operation but is optimized by the compilers.
-            memset(&bucket, 0, sizeof(bucket));
+            memset(std::addressof(bucket), 0, sizeof(bucket));
         }
     };
     
@@ -1199,12 +1198,12 @@ namespace WTF {
         Value* newEntry = nullptr;
         for (unsigned i = 0; i != oldTableSize; ++i) {
             if (isEmptyOrDeletedBucket(oldTable[i])) {
-                ASSERT(&oldTable[i] != entry);
+                ASSERT(std::addressof(oldTable[i]) != entry);
                 continue;
             }
 
             Value* reinsertedEntry = reinsert(WTFMove(oldTable[i]));
-            if (&oldTable[i] == entry) {
+            if (std::addressof(oldTable[i]) == entry) {
                 ASSERT(!newEntry);
                 newEntry = reinsertedEntry;
             }
@@ -1530,5 +1529,3 @@ namespace WTF {
 } // namespace WTF
 
 #include <wtf/HashIterators.h>
-
-#endif // WTF_HashTable_h
index c55eec3..42a8196 100644 (file)
@@ -88,6 +88,18 @@ public:
 
     bool operator!() const { return !m_ptr; }
 
+#if !(defined (__OBJC__) && __has_feature(objc_arc))
+    // This function is useful for passing RetainPtrs to functions that return
+    // CF types as out parameters.
+    PtrType* operator&()
+    {
+        // Require that the pointer is null, to prevent leaks.
+        ASSERT(!m_ptr);
+
+        return &m_ptr;
+    }
+#endif
+
     // This conversion operator allows implicit conversion to bool but not to other integer types.
     typedef StorageType RetainPtr::*UnspecifiedBoolType;
     operator UnspecifiedBoolType() const { return m_ptr ? &RetainPtr::m_ptr : nullptr; }
index 2ade361..929186b 100644 (file)
@@ -142,8 +142,9 @@ void setCookiesFromDOM(const NetworkStorageSession& session, const URL& firstPar
     String cookieString = value.contains('=') ? value : value + "=";
 
     RetainPtr<CFStringRef> cookieStringCF = cookieString.createCFString();
+    auto cookieStringCFPtr = cookieStringCF.get();
     RetainPtr<CFDictionaryRef> headerFieldsCF = adoptCF(CFDictionaryCreate(kCFAllocatorDefault,
-        (const void**)&s_setCookieKeyCF, (const void**)&cookieStringCF, 1,
+        (const void**)&s_setCookieKeyCF, (const void**)&cookieStringCFPtr, 1,
         &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
 
     RetainPtr<CFArrayRef> unfilteredCookies = adoptCF(createCookies(headerFieldsCF.get(), urlCF.get()));
index ad59e80..eac885a 100644 (file)
@@ -1,3 +1,28 @@
+2016-08-15  Anders Carlsson  <andersca@apple.com>
+
+        Add an address-of operator to RetainPtr
+        https://bugs.webkit.org/show_bug.cgi?id=160879
+
+        Reviewed by Tim Horton.
+
+        Test HashMap and HashSet with an object whose operator& is deleted.
+
+        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
+        Sort the Xcode project.
+
+        * TestWebKitAPI/Tests/WTF/DeletedAddressOfOperator.h: Added.
+        (DeletedAddressOfOperator::DeletedAddressOfOperator):
+        (DeletedAddressOfOperator::value):
+        (DeletedAddressOfOperator::operator==):
+        (WTF::HashTraits<DeletedAddressOfOperator>::constructDeletedValue):
+        (WTF::HashTraits<DeletedAddressOfOperator>::isDeletedValue):
+        (WTF::DefaultHash<DeletedAddressOfOperator>::Hash::hash):
+        (WTF::DefaultHash<DeletedAddressOfOperator>::Hash::equal):
+        * TestWebKitAPI/Tests/WTF/HashMap.cpp:
+        (TestWebKitAPI::TEST):
+        * TestWebKitAPI/Tests/WTF/HashSet.cpp:
+        (TestWebKitAPI::TEST):
+
 2016-08-16  Jonathan Bedard  <jbedard@apple.com>
 
         False crashes in fast/text/emoji-gender-* tests
index 676f253..db65b1a 100644 (file)
                        dstPath = TestWebKitAPI.resources;
                        dstSubfolderSpec = 7;
                        files = (
-                               F4F405BC1D4C0D1C007A9707 /* full-size-autoplaying-video-with-audio.html in Copy Resources */,
-                               5C2936961D5C00ED00DEAB1E /* CookieMessage.html in Copy Resources */,
-                               F4F405BD1D4C0D1C007A9707 /* skinny-autoplaying-video-with-audio.html in Copy Resources */,
-                               515BE16F1D428BB100DD7C68 /* StoreBlobToBeDeleted.html in Copy Resources */,
-                               2E1DFDF11D42E1E400714A00 /* large-video-seek-to-beginning-and-play-after-ending.html in Copy Resources */,
-                               2E1B7B021D41B1B9007558B4 /* large-video-hides-controls-after-seek-to-end.html in Copy Resources */,
-                               2E1B7B001D41ABA7007558B4 /* large-video-seek-after-ending.html in Copy Resources */,
-                               2E1DFDEF1D42A6F200714A00 /* large-videos-with-audio-autoplay.html in Copy Resources */,
-                               2E1DFDED1D42A51100714A00 /* large-videos-with-audio.html in Copy Resources */,
-                               5C9E59411D3EB5AC00E3C62E /* ApplicationCache.db in Copy Resources */,
-                               2DE71B001D49C3ED00904094 /* blinking-div.html in Copy Resources */,
-                               5C9E59421D3EB5AC00E3C62E /* ApplicationCache.db-shm in Copy Resources */,
-                               5C9E59431D3EB5AC00E3C62E /* ApplicationCache.db-wal in Copy Resources */,
-                               2E14A5291D3FE96B0010F35B /* autoplaying-video-with-audio.html in Copy Resources */,
-                               7CCB99231D3B4A46003922F6 /* open-multiple-external-url.html in Copy Resources */,
-                               932AE53D1D371047005DFFAF /* focus-inputs.html in Copy Resources */,
-                               46C519E61D3563FD00DAA51A /* LocalStorageNullEntries.html in Copy Resources */,
-                               46C519E71D3563FD00DAA51A /* LocalStorageNullEntries.localstorage in Copy Resources */,
-                               46C519E81D3563FD00DAA51A /* LocalStorageNullEntries.localstorage-shm in Copy Resources */,
-                               51E6A8961D2F1CA700C004B6 /* LocalStorageClear.html in Copy Resources */,
-                               51A587851D2739E3004BA9AF /* IndexedDBDatabaseProcessKill-1.html in Copy Resources */,
-                               510477771D298E72009747EB /* IDBDeleteRecovery.html in Copy Resources */,
-                               510477721D298DDD009747EB /* IDBDeleteRecovery.sqlite3 in Copy Resources */,
-                               510477731D298DDD009747EB /* IDBDeleteRecovery.sqlite3-shm in Copy Resources */,
-                               510477741D298DDD009747EB /* IDBDeleteRecovery.sqlite3-wal in Copy Resources */,
-                               51A5877D1D1B49CD004BA9AF /* IndexedDBMultiProcess-3.html in Copy Resources */,
-                               9984FACE1CFFB090008D198C /* editable-body.html in Copy Resources */,
-                               51714EB41CF8C78C004723C4 /* WebProcessKillIDBCleanup-1.html in Copy Resources */,
-                               51714EB51CF8C78C004723C4 /* WebProcessKillIDBCleanup-2.html in Copy Resources */,
-                               CDE195B51CFE0B880053D256 /* FullscreenTopContentInset.html in Copy Resources */,
-                               3FBD1B4A1D3D66AB00E6D6FA /* FullscreenLayoutConstraints.html in Copy Resources */,
-                               93CFA8671CEB9E38000565A8 /* autofocused-text-input.html in Copy Resources */,
-                               93625D271CD9741C006DC1F1 /* large-video-without-audio.html in Copy Resources */,
-                               936F72801CD7D9EC0068A0FB /* large-video-with-audio.html in Copy Resources */,
-                               936F72811CD7D9EC0068A0FB /* large-video-with-audio.mp4 in Copy Resources */,
-                               536770361CC81B6100D425B1 /* WebScriptObjectDescription.html in Copy Resources */,
-                               57901FB11CAF142D00ED64F9 /* LoadInvalidURLRequest.html in Copy Resources */,
-                               5714ECBD1CA8C22A00051AC8 /* DownloadRequestOriginalURL2.html in Copy Resources */,
-                               5714ECBB1CA8BFE400051AC8 /* DownloadRequestOriginalURLFrame.html in Copy Resources */,
-                               5714ECB91CA8B5B000051AC8 /* DownloadRequestOriginalURL.html in Copy Resources */,
-                               CD9E292E1C90C33F000BB800 /* audio-only.html in Copy Resources */,
-                               51BCEE4E1C84F53B0042C82E /* IndexedDBMultiProcess-1.html in Copy Resources */,
-                               51BCEE4F1C84F53B0042C82E /* IndexedDBMultiProcess-2.html in Copy Resources */,
-                               51B1EE961C80FAEF0064FB98 /* IndexedDBPersistence-1.html in Copy Resources */,
-                               51B1EE971C80FAEF0064FB98 /* IndexedDBPersistence-2.html in Copy Resources */,
-                               57F56A5C1C7F8CC100F31D7E /* IsNavigationActionTrusted.html in Copy Resources */,
-                               A16F66BA1C40EB4F00BD4D24 /* ContentFiltering.html in Copy Resources */,
-                               CDC8E4941BC6F10800594FEC /* video-with-audio.html in Copy Resources */,
-                               CDC8E4951BC6F10800594FEC /* video-with-audio.mp4 in Copy Resources */,
-                               CDC8E4961BC6F10800594FEC /* video-without-audio.html in Copy Resources */,
-                               CDC8E4971BC6F10800594FEC /* video-without-audio.mp4 in Copy Resources */,
-                               A1C4FB731BACD1CA003742D0 /* pages.pages in Copy Resources */,
-                               51CD1C721B38D48400142CA5 /* modal-alerts-in-new-about-blank-window.html in Copy Resources */,
-                               1C2B81871C8925A000A5529F /* Ahem.ttf in Copy Resources */,
-                               7AE9E5091AE5AE8B00CF874B /* test.pdf in Copy Resources */,
-                               7A1458FC1AD5C07000E06772 /* mouse-button-listener.html in Copy Resources */,
-                               7C486BA11AA12567003F6F9B /* bundle-file.html in Copy Resources */,
                                1A9E52C913E65EF4006917F5 /* 18-characters.html in Copy Resources */,
-                               1C2B81861C89259D00A5529F /* webfont.html in Copy Resources */,
                                379028B914FAC24C007E6B43 /* acceptsFirstMouse.html in Copy Resources */,
+                               1C2B81871C8925A000A5529F /* Ahem.ttf in Copy Resources */,
                                B55F11BE15191A0600915916 /* Ahem.ttf in Copy Resources */,
                                1A63479F183D72A4005B1707 /* all-content-in-one-iframe.html in Copy Resources */,
+                               5C9E59411D3EB5AC00E3C62E /* ApplicationCache.db in Copy Resources */,
+                               5C9E59421D3EB5AC00E3C62E /* ApplicationCache.db-shm in Copy Resources */,
+                               5C9E59431D3EB5AC00E3C62E /* ApplicationCache.db-wal in Copy Resources */,
                                F6B7BE9717469B96008A3445 /* associate-form-controls.html in Copy Resources */,
                                B55F11B71517D03300915916 /* attributedStringCustomFont.html in Copy Resources */,
                                7C9ED98B17A19F4B00E4DC33 /* attributedStringStrikethrough.html in Copy Resources */,
+                               CD9E292E1C90C33F000BB800 /* audio-only.html in Copy Resources */,
                                76E182DF154767E600F1FADD /* auto-submitting-form.html in Copy Resources */,
+                               93CFA8671CEB9E38000565A8 /* autofocused-text-input.html in Copy Resources */,
+                               2E14A5291D3FE96B0010F35B /* autoplaying-video-with-audio.html in Copy Resources */,
+                               2DE71B001D49C3ED00904094 /* blinking-div.html in Copy Resources */,
+                               7C486BA11AA12567003F6F9B /* bundle-file.html in Copy Resources */,
                                26DF5A6315A2A27E003689C2 /* CancelLoadFromResourceLoadDelegate.html in Copy Resources */,
                                1A50AA201A2A51FC00F4C345 /* close-from-within-create-page.html in Copy Resources */,
+                               A16F66BA1C40EB4F00BD4D24 /* ContentFiltering.html in Copy Resources */,
                                5142B2731517C8C800C32B19 /* ContextMenuCanCopyURL.html in Copy Resources */,
+                               5C2936961D5C00ED00DEAB1E /* CookieMessage.html in Copy Resources */,
                                290F4275172A221C00939FF0 /* custom-protocol-sync-xhr.html in Copy Resources */,
                                C07E6CB213FD73930038B22B /* devicePixelRatio.html in Copy Resources */,
                                37E1064C1697681800B78BD0 /* DOMHTMLTableCellElementCellAbove.html in Copy Resources */,
                                37DC6791140D7D7600ABCCDB /* DOMRangeOfString.html in Copy Resources */,
+                               5714ECB91CA8B5B000051AC8 /* DownloadRequestOriginalURL.html in Copy Resources */,
+                               5714ECBD1CA8C22A00051AC8 /* DownloadRequestOriginalURL2.html in Copy Resources */,
+                               5714ECBB1CA8BFE400051AC8 /* DownloadRequestOriginalURLFrame.html in Copy Resources */,
+                               9984FACE1CFFB090008D198C /* editable-body.html in Copy Resources */,
                                C5E1AFFE16B221F1006CC1F2 /* execCopy.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 */,
                                1A02C870125D4CFD00E3F4BD /* find.html in Copy Resources */,
                                C5101C4F176B8D9200EE9B15 /* findRanges.html in Copy Resources */,
+                               932AE53D1D371047005DFFAF /* focus-inputs.html in Copy Resources */,
                                1A7E8B3618120B2F00AEB74A /* FragmentNavigation.html in Copy Resources */,
+                               F4F405BC1D4C0D1C007A9707 /* full-size-autoplaying-video-with-audio.html in Copy Resources */,
+                               3FBD1B4A1D3D66AB00E6D6FA /* FullscreenLayoutConstraints.html in Copy Resources */,
+                               CDE195B51CFE0B880053D256 /* FullscreenTopContentInset.html in Copy Resources */,
                                CDBFCC461A9FF49E00A7B691 /* FullscreenZoomInitialFrame.html in Copy Resources */,
                                26F52EAD1828827B0023D412 /* geolocationGetCurrentPosition.html in Copy Resources */,
                                26F52EAF18288C230023D412 /* geolocationGetCurrentPositionWithHighAccuracy.html in Copy Resources */,
                                9B4F8FA7159D52DD002D9F94 /* HTMLCollectionNamedItem.html in Copy Resources */,
                                9B26FCCA159D16DE00CC3765 /* HTMLFormCollectionNamedItem.html in Copy Resources */,
                                BCBD3737125ABBEB00D2C29F /* icon.png in Copy Resources */,
+                               510477771D298E72009747EB /* IDBDeleteRecovery.html in Copy Resources */,
+                               510477721D298DDD009747EB /* IDBDeleteRecovery.sqlite3 in Copy Resources */,
+                               510477731D298DDD009747EB /* IDBDeleteRecovery.sqlite3-shm in Copy Resources */,
+                               510477741D298DDD009747EB /* IDBDeleteRecovery.sqlite3-wal 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 */,
                                CE3524FA1B1443890028A7C5 /* input-focus-blur.html in Copy Resources */,
+                               57F56A5C1C7F8CC100F31D7E /* IsNavigationActionTrusted.html in Copy Resources */,
                                C2CF975B16CEC71B0054E99D /* JSContextBackForwardCache1.html in Copy Resources */,
                                C2CF975A16CEC7140054E99D /* JSContextBackForwardCache2.html in Copy Resources */,
+                               2E1B7B021D41B1B9007558B4 /* large-video-hides-controls-after-seek-to-end.html in Copy Resources */,
+                               2E1B7B001D41ABA7007558B4 /* large-video-seek-after-ending.html in Copy Resources */,
+                               2E1DFDF11D42E1E400714A00 /* large-video-seek-to-beginning-and-play-after-ending.html in Copy Resources */,
+                               936F72801CD7D9EC0068A0FB /* large-video-with-audio.html in Copy Resources */,
+                               936F72811CD7D9EC0068A0FB /* large-video-with-audio.mp4 in Copy Resources */,
+                               93625D271CD9741C006DC1F1 /* large-video-without-audio.html in Copy Resources */,
+                               2E1DFDEF1D42A6F200714A00 /* large-videos-with-audio-autoplay.html in Copy Resources */,
+                               2E1DFDED1D42A51100714A00 /* large-videos-with-audio.html in Copy Resources */,
                                378E64791632707400B6C676 /* link-with-title.html in Copy Resources */,
+                               57901FB11CAF142D00ED64F9 /* LoadInvalidURLRequest.html in Copy Resources */,
+                               51E6A8961D2F1CA700C004B6 /* LocalStorageClear.html in Copy Resources */,
+                               46C519E61D3563FD00DAA51A /* LocalStorageNullEntries.html in Copy Resources */,
+                               46C519E71D3563FD00DAA51A /* LocalStorageNullEntries.localstorage in Copy Resources */,
+                               46C519E81D3563FD00DAA51A /* LocalStorageNullEntries.localstorage-shm in Copy Resources */,
                                9361002914DC95A70061379D /* lots-of-iframes.html in Copy Resources */,
                                93AF4ED11506F130007FD57E /* lots-of-images.html in Copy Resources */,
                                2DD7D3AF178227B30026E1E3 /* lots-of-text-vertical-lr.html in Copy Resources */,
                                930AD402150698D00067970F /* lots-of-text.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 */,
                                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 */,
                                F6FDDDD614241C6F004F1729 /* push-state.html in Copy Resources */,
                                52B8CF9815868D9100281053 /* SetDocumentURI.html in Copy Resources */,
+                               CEBABD491B71687C0051210A /* should-open-external-schemes.html 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 */,
                                BC909784125571CF00083756 /* simple.html in Copy Resources */,
                                51E5C7021919C3B200D8B3E1 /* simple2.html in Copy Resources */,
                                51E5C7031919C3B200D8B3E1 /* simple3.html in Copy Resources */,
+                               F4F405BD1D4C0D1C007A9707 /* skinny-autoplaying-video-with-audio.html in Copy Resources */,
                                C01A23F21266156700C9ED55 /* spacebar-scrolling.html in Copy Resources */,
-                               CEBABD491B71687C0051210A /* should-open-external-schemes.html in Copy Resources */,
                                E194E1BD177E53C7009C4D4E /* StopLoadingFromDidReceiveResponse.html in Copy Resources */,
+                               515BE16F1D428BB100DD7C68 /* StoreBlobToBeDeleted.html in Copy Resources */,
                                CD59F53519E9110D00CF1835 /* test-mse.mp4 in Copy Resources */,
                                524BBCA119E30C77002F1AF1 /* test.mp4 in Copy Resources */,
+                               7AE9E5091AE5AE8B00CF874B /* test.pdf 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 */,
+                               CDC8E4961BC6F10800594FEC /* video-without-audio.html in Copy Resources */,
+                               CDC8E4971BC6F10800594FEC /* video-without-audio.mp4 in Copy Resources */,
+                               1C2B81861C89259D00A5529F /* webfont.html in Copy Resources */,
+                               51714EB41CF8C78C004723C4 /* WebProcessKillIDBCleanup-1.html in Copy Resources */,
+                               51714EB51CF8C78C004723C4 /* WebProcessKillIDBCleanup-2.html in Copy Resources */,
+                               536770361CC81B6100D425B1 /* WebScriptObjectDescription.html in Copy Resources */,
                                CE14F1A4181873B0001C2705 /* WillPerformClientRedirectToURLCrash.html in Copy Resources */,
                                A5E2027515B21F6E00C13E14 /* WindowlessWebViewWithMedia.html in Copy Resources */,
                        );
                14F3B11215E45EAB00210069 /* SaturatedArithmeticOperations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SaturatedArithmeticOperations.cpp; sourceTree = "<group>"; };
                1A02C84B125D4A5E00E3F4BD /* find.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = find.html; sourceTree = "<group>"; };
                1A02C84E125D4A8400E3F4BD /* Find.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Find.cpp; sourceTree = "<group>"; };
+               1A3524A91D627BD40031729B /* DeletedAddressOfOperator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DeletedAddressOfOperator.h; sourceTree = "<group>"; };
                1A4F81C81BDFFD18004E672E /* RemoteObjectRegistry.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteObjectRegistry.mm; sourceTree = "<group>"; };
                1A4F81CD1BDFFD53004E672E /* RemoteObjectRegistryPlugIn.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteObjectRegistryPlugIn.mm; sourceTree = "<group>"; };
                1A4F81D01BDFFDCF004E672E /* RemoteObjectRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteObjectRegistry.h; sourceTree = "<group>"; };
                                BC575BBF126F5752006F0F12 /* PlatformUtilities.cpp */,
                                BC131883117114A800B69727 /* PlatformUtilities.h */,
                                BC90951B125533D700083756 /* PlatformWebView.h */,
-                               7C83E0361D0A5F7000FEBCF3 /* Utilities.h */,
                                BCB9E7FA112359A300A137E0 /* Test.h */,
                                BC131AA8117131FC00B69727 /* TestsController.cpp */,
                                BCB9E7C711234E3A00A137E0 /* TestsController.h */,
+                               7C83E0361D0A5F7000FEBCF3 /* Utilities.h */,
                                44A622C114A0E2B60048515B /* WTFStringUtilities.h */,
                        );
                        name = Source;
                0F139E711A423A1D00F590F5 /* cocoa */ = {
                        isa = PBXGroup;
                        children = (
+                               A13EBB441B87332B00097110 /* WebProcessPlugIn */,
                                5C726D6D1D3EE06800C5E1A1 /* InstanceMethodSwizzler.h */,
                                5C726D6E1D3EE06800C5E1A1 /* InstanceMethodSwizzler.mm */,
-                               A13EBB441B87332B00097110 /* WebProcessPlugIn */,
                                0F139E721A423A2B00F590F5 /* PlatformUtilitiesCocoa.mm */,
                                A14FC58D1B8AE36500D107EB /* TestProtocol.h */,
                                A14FC58E1B8AE36500D107EB /* TestProtocol.mm */,
                        isa = PBXGroup;
                        children = (
                                8DD76FA10486AA7600D96B5E /* TestWebKitAPI */,
+                               7C83E0231D0A5AE400FEBCF3 /* TestWTF */,
                                BC575980126E74AF006F0F12 /* InjectedBundleTestWebKitAPI.bundle */,
                                7CCE7E8C1A41144E00447C4C /* libTestWebKitAPI.a */,
-                               A13EBB491B87339E00097110 /* TestWebKitAPI.wkbundle */,
                                7C83DF681D0A590C00FEBCF3 /* libTestWTF.a */,
-                               7C83E0231D0A5AE400FEBCF3 /* TestWTF */,
+                               A13EBB491B87339E00097110 /* TestWebKitAPI.wkbundle */,
                        );
                        name = Products;
                        sourceTree = "<group>";
                1ABC3DEC1899BE55004F0626 /* WebKit2 Cocoa */ = {
                        isa = PBXGroup;
                        children = (
-                               5C2936911D5BF63E00DEAB1E /* CookieAcceptPolicy.mm */,
                                A16F66B81C40E9E100BD4D24 /* Resources */,
                                7CEFA9641AC0B9E200B910FD /* _WKUserContentExtensionStore.mm */,
                                A1DF74301C41B65800A2F4D0 /* AlwaysRevalidatedURLSchemes.mm */,
                                A13EBBAE1B87436F00097110 /* BundleParametersPlugIn.mm */,
                                1C2B817E1C891E4200A5529F /* CancelFontSubresource.mm */,
                                1C2B81811C891EFA00A5529F /* CancelFontSubresourcePlugIn.mm */,
+                               1AAD19F51C7CE20300831E47 /* Coding.mm */,
                                7C3DB8E21D12129B00AE8CC3 /* CommandBackForward.mm */,
                                A18AA8CC1C3FA218009B2B97 /* ContentFiltering.h */,
                                A14FC5861B8991B600D107EB /* ContentFiltering.mm */,
                                A14FC5891B89927100D107EB /* ContentFilteringPlugIn.mm */,
-                               1AAD19F51C7CE20300831E47 /* Coding.mm */,
+                               5C2936911D5BF63E00DEAB1E /* CookieAcceptPolicy.mm */,
                                2DC4CF761D2D9DD800ECCC94 /* DataDetection.mm */,
                                A1A4FE5D18DD3DB700B5EA8A /* Download.mm */,
                                2D8104CB1BEC13E70020DA46 /* FindInPage.mm */,
                                2D1FE0AF1AD465C1006CD9E6 /* FixedLayoutSize.mm */,
                                3F1B52681D3D7129008D60C4 /* FullscreenLayoutConstraints.mm */,
                                CDE195B31CFE0ADE0053D256 /* FullscreenTopContentInset.mm */,
-                               51A587841D272EF3004BA9AF /* IndexedDBDatabaseProcessKill.mm */,
                                510477751D298E03009747EB /* IDBDeleteRecovery.mm */,
+                               51A587841D272EF3004BA9AF /* IndexedDBDatabaseProcessKill.mm */,
                                51BCEE491C84F4AF0042C82E /* IndexedDBMultiProcess.mm */,
                                51B1EE8D1C80F5880064FB98 /* IndexedDBPersistence.mm */,
                                37D36ED61AF42ECD00BAF5D9 /* LoadAlternateHTMLString.mm */,
                                7C882E051C80C624006BF731 /* UserContentWorldProtocol.h */,
                                7CCB99201D3B41F6003922F6 /* UserInitiatedActionInNavigationAction.mm */,
                                93E943F11CD3E87E00AC08C2 /* VideoControlsManager.mm */,
+                               51714EB61CF8C7A4004723C4 /* WebProcessKillIDBCleanup.mm */,
+                               1F83571A1D3FFB0E00E3967B /* WKBackForwardList.mm */,
                                2D00065D1C1F58940088E6A7 /* WKPDFViewResizeCrash.mm */,
                                5E4B1D2C1D404C6100053621 /* WKScrollViewDelegateCrash.mm */,
                                7C417F311D19E14800B8EF53 /* WKWebViewDefaultNavigationDelegate.mm */,
                                0F3B94A51A77266C00DE3272 /* WKWebViewEvaluateJavaScript.mm */,
                                9984FACA1CFFAEEE008D198C /* WKWebViewTextInput.mm */,
-                               51714EB61CF8C7A4004723C4 /* WebProcessKillIDBCleanup.mm */,
-                               1F83571A1D3FFB0E00E3967B /* WKBackForwardList.mm */,
                        );
                        name = "WebKit2 Cocoa";
                        path = WebKit2Cocoa;
                440A1D3614A01000008A66F2 /* WebCore */ = {
                        isa = PBXGroup;
                        children = (
-                               5C6E65411D5CEF8500F7862E /* URLParser.cpp */,
                                CD89D0371C4EDB1300040A04 /* cocoa */,
                                93A720E518F1A0E800A848E1 /* CalculationValue.cpp */,
+                               7C3965051CDD74F90094DBB8 /* Color.cpp */,
                                7CB184C41AA3F2100066EDFD /* ContentExtensions.cpp */,
                                CD5451E919E41F9D0016936F /* CSSParser.cpp */,
                                260BA5781B1D2E7B004FA07C /* DFACombiner.cpp */,
                                41973B5C1AF22875006C7B36 /* SharedBuffer.cpp */,
                                CDC2C7141797089D00E627FB /* TimeRanges.cpp */,
                                440A1D3814A0103A008A66F2 /* URL.cpp */,
-                               7C3965051CDD74F90094DBB8 /* Color.cpp */,
+                               5C6E65411D5CEF8500F7862E /* URLParser.cpp */,
                        );
                        path = WebCore;
                        sourceTree = "<group>";
                A16F66B81C40E9E100BD4D24 /* Resources */ = {
                        isa = PBXGroup;
                        children = (
-                               5C2936941D5BFD1900DEAB1E /* CookieMessage.html */,
-                               F4F405BA1D4C0CF8007A9707 /* full-size-autoplaying-video-with-audio.html */,
-                               F4F405BB1D4C0CF8007A9707 /* skinny-autoplaying-video-with-audio.html */,
-                               2E1DFDF01D42E14400714A00 /* large-video-seek-to-beginning-and-play-after-ending.html */,
-                               2E1B7B011D41B1B3007558B4 /* large-video-hides-controls-after-seek-to-end.html */,
-                               2E1DFDEE1D42A6EB00714A00 /* large-videos-with-audio-autoplay.html */,
                                5C9E593E1D3EB1DE00E3C62E /* ApplicationCache.db */,
                                5C9E593F1D3EB1DE00E3C62E /* ApplicationCache.db-shm */,
                                5C9E59401D3EB1DE00E3C62E /* ApplicationCache.db-wal */,
-                               2E14A5281D3FE8B80010F35B /* autoplaying-video-with-audio.html */,
                                93CFA8661CEB9DE1000565A8 /* autofocused-text-input.html */,
+                               2E14A5281D3FE8B80010F35B /* autoplaying-video-with-audio.html */,
                                2DE71AFF1D49C2F000904094 /* blinking-div.html */,
                                A16F66B91C40EA2000BD4D24 /* ContentFiltering.html */,
+                               5C2936941D5BFD1900DEAB1E /* CookieMessage.html */,
                                5714ECB81CA8B58800051AC8 /* DownloadRequestOriginalURL.html */,
                                5714ECBC1CA8C21800051AC8 /* DownloadRequestOriginalURL2.html */,
                                5714ECBA1CA8BFD100051AC8 /* DownloadRequestOriginalURLFrame.html */,
                                9984FACD1CFFB038008D198C /* editable-body.html */,
                                93575C551D30366E000D604D /* focus-inputs.html */,
+                               F4F405BA1D4C0CF8007A9707 /* full-size-autoplaying-video-with-audio.html */,
                                3FBD1B491D39D1DB00E6D6FA /* FullscreenLayoutConstraints.html */,
                                CDE195B21CFE0ADE0053D256 /* FullscreenTopContentInset.html */,
                                510477761D298E57009747EB /* IDBDeleteRecovery.html */,
                                51A5877C1D1B3D8D004BA9AF /* IndexedDBMultiProcess-3.html */,
                                51B1EE941C80FADD0064FB98 /* IndexedDBPersistence-1.html */,
                                51B1EE951C80FADD0064FB98 /* IndexedDBPersistence-2.html */,
+                               2E1B7B011D41B1B3007558B4 /* large-video-hides-controls-after-seek-to-end.html */,
+                               2E1B7AFF1D41A95F007558B4 /* large-video-seek-after-ending.html */,
+                               2E1DFDF01D42E14400714A00 /* large-video-seek-to-beginning-and-play-after-ending.html */,
                                936F727E1CD7D9D00068A0FB /* large-video-with-audio.html */,
                                936F727F1CD7D9D00068A0FB /* large-video-with-audio.mp4 */,
                                93625D261CD973AF006DC1F1 /* large-video-without-audio.html */,
+                               2E1DFDEE1D42A6EB00714A00 /* large-videos-with-audio-autoplay.html */,
+                               2E1DFDEC1D42A41C00714A00 /* large-videos-with-audio.html */,
                                51E6A8951D2F1C7700C004B6 /* LocalStorageClear.html */,
                                46C519E21D35629600DAA51A /* LocalStorageNullEntries.html */,
                                46C519E31D35629600DAA51A /* LocalStorageNullEntries.localstorage */,
                                46C519E41D35629600DAA51A /* LocalStorageNullEntries.localstorage-shm */,
                                7CCB99221D3B44E7003922F6 /* open-multiple-external-url.html */,
+                               F4F405BB1D4C0CF8007A9707 /* skinny-autoplaying-video-with-audio.html */,
                                515BE16E1D4288FF00DD7C68 /* StoreBlobToBeDeleted.html */,
                                51714EB21CF8C761004723C4 /* WebProcessKillIDBCleanup-1.html */,
                                51714EB31CF8C761004723C4 /* WebProcessKillIDBCleanup-2.html */,
-                               2E1B7AFF1D41A95F007558B4 /* large-video-seek-after-ending.html */,
-                               2E1DFDEC1D42A41C00714A00 /* large-videos-with-audio.html */,
                        );
                        name = Resources;
                        sourceTree = "<group>";
                                C0C5D3BB14598B6F00A802A6 /* mac */,
                                BC90977B125571AE00083756 /* Resources */,
                                BC246D8C132F115A00B56D7C /* AboutBlankLoad.cpp */,
-                               BC246D97132F1FE100B56D7C /* CanHandleRequest_Bundle.cpp */,
                                BC246D98132F1FE100B56D7C /* CanHandleRequest.cpp */,
+                               BC246D97132F1FE100B56D7C /* CanHandleRequest_Bundle.cpp */,
                                1A50AA1C1A2A4E7000F4C345 /* CloseFromWithinCreatePage.cpp */,
                                7C8DDAA91735DE1D00EA5AC0 /* CloseThenTerminate.cpp */,
                                F6F3F29013342FEB00A6BF19 /* CookieManager.cpp */,
-                               F6B7BE92174691EF008A3445 /* DidAssociateFormControls_Bundle.cpp */,
                                F6B7BE93174691EF008A3445 /* DidAssociateFormControls.cpp */,
+                               F6B7BE92174691EF008A3445 /* DidAssociateFormControls_Bundle.cpp */,
                                9331407B17B4419000F083B1 /* DidNotHandleKeyDown.cpp */,
-                               BCB68041126FBFF100642A61 /* DocumentStartUserScriptAlertCrash_Bundle.cpp */,
                                BCB6803F126FBFE100642A61 /* DocumentStartUserScriptAlertCrash.cpp */,
-                               51393E1D1523944A005F39C5 /* DOMWindowExtensionBasic_Bundle.cpp */,
+                               BCB68041126FBFF100642A61 /* DocumentStartUserScriptAlertCrash_Bundle.cpp */,
                                51393E1E1523944A005F39C5 /* DOMWindowExtensionBasic.cpp */,
-                               F6F49C6615545C8D0007F39D /* DOMWindowExtensionNoCache_Bundle.cpp */,
+                               51393E1D1523944A005F39C5 /* DOMWindowExtensionBasic_Bundle.cpp */,
                                F6F49C6715545C8D0007F39D /* DOMWindowExtensionNoCache.cpp */,
+                               F6F49C6615545C8D0007F39D /* DOMWindowExtensionNoCache_Bundle.cpp */,
                                C045F9441385C2E900C0F3CD /* DownloadDecideDestinationCrash.cpp */,
                                75F3133F18C171B70041CAEC /* EphemeralSessionPushStateNoHistoryCallback.cpp */,
                                1A5FEFDC1270E2A3000E2921 /* EvaluateJavaScript.cpp */,
                                BCC8B95A12611F4700DE46A4 /* FailedLoad.cpp */,
                                1A02C84E125D4A8400E3F4BD /* Find.cpp */,
+                               C51AFB98169F49FF009CCF66 /* FindMatches.mm */,
                                1ADBEFAD130C689C00D61D19 /* ForceRepaint.cpp */,
                                BCBD370F125AA2EB00D2C29F /* FrameMIMETypeHTML.cpp */,
                                BCBD3760125ABCFE00D2C29F /* FrameMIMETypePNG.cpp */,
                                26F52EAA182872600023D412 /* Geolocation.cpp */,
-                               F660AA0F15A5F624003A1243 /* GetInjectedBundleInitializationUserDataCallback_Bundle.cpp */,
                                F660AA0C15A5F061003A1243 /* GetInjectedBundleInitializationUserDataCallback.cpp */,
-                               4BFDFFA61314776C0061F24B /* HitTestResultNodeHandle_Bundle.cpp */,
+                               F660AA0F15A5F624003A1243 /* GetInjectedBundleInitializationUserDataCallback_Bundle.cpp */,
                                4BFDFFA8131477770061F24B /* HitTestResultNodeHandle.cpp */,
-                               BC575AAF126E83C8006F0F12 /* InjectedBundleBasic_Bundle.cpp */,
+                               4BFDFFA61314776C0061F24B /* HitTestResultNodeHandle_Bundle.cpp */,
                                BC575AAC126E83B9006F0F12 /* InjectedBundleBasic.cpp */,
-                               378E64751632655D00B6C676 /* InjectedBundleFrameHitTest_Bundle.cpp */,
+                               BC575AAF126E83C8006F0F12 /* InjectedBundleBasic_Bundle.cpp */,
                                378E64711632646D00B6C676 /* InjectedBundleFrameHitTest.cpp */,
-                               F660AA1415A61ABF003A1243 /* InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp */,
+                               378E64751632655D00B6C676 /* InjectedBundleFrameHitTest_Bundle.cpp */,
                                F660AA1215A619C8003A1243 /* InjectedBundleInitializationUserDataCallbackWins.cpp */,
+                               F660AA1415A61ABF003A1243 /* InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp */,
                                9B0786A41C5885C300D159E3 /* InjectedBundleMakeAllShadowRootOpen_Bundle.cpp */,
                                9B0786A21C58830F00D159E3 /* InjectedBundleMakeAllShadowRootsOpen.cpp */,
                                93D3D19D17B1A84200C7C415 /* LayoutMilestonesWithAllContentInFrame.cpp */,
                                52CB47401448FB9300873995 /* LoadAlternateHTMLStringWithNonDirectoryURL.cpp */,
-                               33DC89131419579F00747EF7 /* LoadCanceledNoServerRedirectCallback_Bundle.cpp */,
                                33DC8910141953A300747EF7 /* LoadCanceledNoServerRedirectCallback.cpp */,
+                               33DC89131419579F00747EF7 /* LoadCanceledNoServerRedirectCallback_Bundle.cpp */,
                                8AA28C1916D2FA7B002FF4DB /* LoadPageOnCrash.cpp */,
                                7A5623101AD5AF3E0096B920 /* MenuTypesForMouseEvents.cpp */,
                                51CB4AD71B3A079C00C1B1C6 /* ModalAlertsSPI.cpp */,
-                               33BE5AF8137B5AAE00705813 /* MouseMoveAfterCrash_Bundle.cpp */,
                                33BE5AF4137B5A6C00705813 /* MouseMoveAfterCrash.cpp */,
-                               93F1DB3314DA20870024C362 /* NewFirstVisuallyNonEmptyLayout_Bundle.cpp */,
+                               33BE5AF8137B5AAE00705813 /* MouseMoveAfterCrash_Bundle.cpp */,
                                93F1DB3014DA20760024C362 /* NewFirstVisuallyNonEmptyLayout.cpp */,
-                               93F1DB5614DB1B840024C362 /* NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp */,
+                               93F1DB3314DA20870024C362 /* NewFirstVisuallyNonEmptyLayout_Bundle.cpp */,
                                93F1DB5414DB1B730024C362 /* NewFirstVisuallyNonEmptyLayoutFails.cpp */,
-                               93AF4ECD1506F064007FD57E /* NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp */,
+                               93F1DB5614DB1B840024C362 /* NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp */,
                                93AF4ECA1506F035007FD57E /* NewFirstVisuallyNonEmptyLayoutForImages.cpp */,
-                               93F7E86E14DC8E5B00C84A99 /* NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp */,
+                               93AF4ECD1506F064007FD57E /* NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp */,
                                93F7E86B14DC8E4D00C84A99 /* NewFirstVisuallyNonEmptyLayoutFrames.cpp */,
+                               93F7E86E14DC8E5B00C84A99 /* NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp */,
                                7CCB4DA71C83AE7300CC6918 /* PageGroup.cpp */,
                                BC909779125571AB00083756 /* PageLoadBasic.cpp */,
                                BC2D004812A9FDFA00E732A3 /* PageLoadDidChangeLocationWithinPageForFrame.cpp */,
-                               52E5CE4814D21EAB003B2BD8 /* ParentFrame_Bundle.cpp */,
                                52E5CE4514D21E9D003B2BD8 /* ParentFrame.cpp */,
+                               52E5CE4814D21EAB003B2BD8 /* ParentFrame_Bundle.cpp */,
+                               C54237EE16B8955800E638FC /* PasteboardNotifications.mm */,
                                C54237ED16B8955800E638FC /* PasteboardNotifications_Bundle.cpp */,
                                0766DD1F1A5AD5200023E3BB /* PendingAPIRequestURL.cpp */,
                                333B9CE11277F23100FEFCE3 /* PreventEmptyUserAgent.cpp */,
                                8A3AF93A16C9ED2700D248C1 /* ReloadPageAfterCrash.cpp */,
                                2DD7D3A9178205D00026E1E3 /* ResizeReversePaginatedWebView.cpp */,
                                8A2C750D16CED9550024F352 /* ResizeWindowAfterCrash.cpp */,
-                               C0BD669E131D3CFF00E18F2A /* ResponsivenessTimerDoesntFireEarly_Bundle.cpp */,
                                C0BD669C131D3CF700E18F2A /* ResponsivenessTimerDoesntFireEarly.cpp */,
+                               C0BD669E131D3CFF00E18F2A /* ResponsivenessTimerDoesntFireEarly_Bundle.cpp */,
                                C0ADBE8212FCA6AA00D2C129 /* RestoreSessionStateContainingFormData.cpp */,
                                835CF9661D25FCD6001A65D4 /* RestoreSessionStateWithoutNavigation.cpp */,
                                2D640B5417875DFF00BFAF99 /* ScrollPinningBehaviors.cpp */,
-                               51FCF7971534AC6D00104491 /* ShouldGoToBackForwardListItem_Bundle.cpp */,
                                51FCF7981534AC6D00104491 /* ShouldGoToBackForwardListItem.cpp */,
+                               51FCF7971534AC6D00104491 /* ShouldGoToBackForwardListItem_Bundle.cpp */,
                                51E5C7041919EA5F00D8B3E1 /* ShouldKeepCurrentBackForwardListItemInList.cpp */,
                                C02B77F1126612140026BF0F /* SpacebarScrolling.cpp */,
-                               7673499A1930182E00E44DF9 /* StopLoadingDuringDidFailProvisionalLoad_bundle.cpp */,
                                76734997193016DC00E44DF9 /* StopLoadingDuringDidFailProvisionalLoad.cpp */,
+                               7673499A1930182E00E44DF9 /* StopLoadingDuringDidFailProvisionalLoad_bundle.cpp */,
                                1AE72F47173EB214006362F0 /* TerminateTwice.cpp */,
-                               CE3524F21B142B8D0028A7C5 /* TextFieldDidBeginAndEndEditing_Bundle.cpp */,
                                CE3524F11B142B8D0028A7C5 /* TextFieldDidBeginAndEndEditing.cpp */,
+                               CE3524F21B142B8D0028A7C5 /* TextFieldDidBeginAndEndEditing_Bundle.cpp */,
                                4A410F4B19AF7BD6002EBAB5 /* UserMedia.cpp */,
-                               BC22D31714DC68B800FFB1DD /* UserMessage_Bundle.cpp */,
                                BC22D31314DC689800FFB1DD /* UserMessage.cpp */,
-                               520BCF4A141EB09E00937EA8 /* WebArchive_Bundle.cpp */,
+                               BC22D31714DC68B800FFB1DD /* UserMessage_Bundle.cpp */,
                                520BCF4B141EB09E00937EA8 /* WebArchive.cpp */,
+                               520BCF4A141EB09E00937EA8 /* WebArchive_Bundle.cpp */,
                                0F17BBD415AF6C4D007AB753 /* WebCoreStatisticsWithNoWebProcess.cpp */,
-                               7CFBCAE31743238E00B2BFCF /* WillLoad_Bundle.cpp */,
                                7CFBCADD1743234F00B2BFCF /* WillLoad.cpp */,
-                               76E182DC1547569100F1FADD /* WillSendSubmitEvent_Bundle.cpp */,
+                               7CFBCAE31743238E00B2BFCF /* WillLoad_Bundle.cpp */,
                                76E182D91547550100F1FADD /* WillSendSubmitEvent.cpp */,
-                               7C54A4BF1AA11CE400380F78 /* WKBundleFileHandle_Bundle.cpp */,
+                               76E182DC1547569100F1FADD /* WillSendSubmitEvent_Bundle.cpp */,
                                7C54A4BC1AA11CCA00380F78 /* WKBundleFileHandle.cpp */,
+                               7C54A4BF1AA11CE400380F78 /* WKBundleFileHandle_Bundle.cpp */,
                                A1FDFD2E19C288BB005148A4 /* WKImageCreateCGImageCrash.cpp */,
                                7C89D2AA1A69B80D003A5FDE /* WKPageConfiguration.cpp */,
                                52D673EC1AFB126800FA19FE /* WKPageCopySessionStateWithFiltering.cpp */,
                                1CF0D3781BBF2F3D00B4EF54 /* WKRetainPtr.cpp */,
                                BC90995D12567BC100083756 /* WKString.cpp */,
                                BC9099931256ACF100083756 /* WKStringJSString.cpp */,
-                               C51AFB98169F49FF009CCF66 /* FindMatches.mm */,
-                               C54237EE16B8955800E638FC /* PasteboardNotifications.mm */,
                        );
                        path = WebKit2;
                        sourceTree = "<group>";
                BC9096461255618900083756 /* WTF */ = {
                        isa = PBXGroup;
                        children = (
-                               5C5E633D1D0B67940085A025 /* UniqueRef.cpp */,
                                C0991C4F143C7D68007998F2 /* cf */,
                                7CBBA07519BB8A0900BBF025 /* darwin */,
                                BC029B1A1486B23800817DA9 /* ns */,
                                26F1B44215CA434F00D1E4BF /* AtomicString.cpp */,
+                               E40019301ACE9B5C001B0A2A /* BloomFilter.cpp */,
                                A7A966DA140ECCC8005EF9B4 /* CheckedArithmeticOperations.cpp */,
                                0FEAE3671B7D19CB00CE17F2 /* Condition.cpp */,
-                               26A2C72E15E2E73C005B1A14 /* CString.cpp */,
-                               E40019301ACE9B5C001B0A2A /* BloomFilter.cpp */,
                                51714EB91D087416004723C4 /* CrossThreadTask.cpp */,
+                               26A2C72E15E2E73C005B1A14 /* CString.cpp */,
                                7AA021BA1AB09EA70052953F /* DateMath.cpp */,
+                               1A3524A91D627BD40031729B /* DeletedAddressOfOperator.h */,
                                E4A757D3178AEA5B00B5D7A4 /* Deque.cpp */,
                                7A38D7E51C752D5F004F157D /* HashCountedSet.cpp */,
                                0BCD833414857CE400EA2003 /* HashMap.cpp */,
                                0FC6C4CE141034AD005B7F0C /* MetaAllocator.cpp */,
                                93A427AC180DA60F00CD24D7 /* MoveOnly.h */,
                                FEB6F74E1B2BA44E009E4922 /* NakedPtr.cpp */,
-                               CE50D8C81C8665CE0072EA5A /* OptionSet.cpp */,
                                1AFDE6541953B2C000C48FFA /* Optional.cpp */,
+                               CE50D8C81C8665CE0072EA5A /* OptionSet.cpp */,
                                0FE447971B76F1E3009498EB /* ParkingLot.cpp */,
                                0FC6C4CB141027E0005B7F0C /* RedBlackTree.cpp */,
                                93A427AA180DA26400CD24D7 /* Ref.cpp */,
                                C01363C713C3997300EF3964 /* StringOperators.cpp */,
                                7C74D42D188228F300E5ED57 /* StringView.cpp */,
                                0BCD85691485C98B00EA2003 /* TemporaryChange.cpp */,
-                               BC55F5F814AD78EE00484BE1 /* Vector.cpp */,
+                               5C5E633D1D0B67940085A025 /* UniqueRef.cpp */,
                                7CD0D5AA1D5534DE000CC9E1 /* Variant.cpp */,
-                               265AF54F15D1E48A00B0CB4A /* WTFString.cpp */,
+                               BC55F5F814AD78EE00484BE1 /* Vector.cpp */,
                                1CB9BC371A67482300FE5678 /* WeakPtr.cpp */,
                                7AA6A1511AAC0B31002B2ED3 /* WorkQueue.cpp */,
+                               265AF54F15D1E48A00B0CB4A /* WTFString.cpp */,
                        );
                        path = WTF;
                        sourceTree = "<group>";
                BC90977B125571AE00083756 /* Resources */ = {
                        isa = PBXGroup;
                        children = (
-                               1C2B81851C89252300A5529F /* Ahem.ttf */,
                                C045F9461385C2F800C0F3CD /* 18-characters.html */,
+                               1C2B81851C89252300A5529F /* Ahem.ttf */,
                                93D3D19B17B1A7B000C7C415 /* all-content-in-one-iframe.html */,
                                F6B7BE9617469B7E008A3445 /* associate-form-controls.html */,
                                76E182DE15475A8300F1FADD /* auto-submitting-form.html */,
                                33E79E05137B5FCE00E32D99 /* mouse-move-listener.html */,
                                CEA6CF2719CCF69D0064F5A7 /* open-and-close-window.html */,
                                F6FDDDD514241C48004F1729 /* push-state.html */,
+                               CEBABD481B71687C0051210A /* should-open-external-schemes.html */,
                                1ADBEFBC130C6A0100D61D19 /* simple-accelerated-compositing.html */,
                                C0ADBE8412FCA6B600D2C129 /* simple-form.html */,
                                33DC890E1419539300747EF7 /* simple-iframe.html */,
                                BC909778125571AB00083756 /* simple.html */,
                                51E780361919AFF8001829A2 /* simple2.html */,
                                51E780371919AFF8001829A2 /* simple3.html */,
-                               CEBABD481B71687C0051210A /* should-open-external-schemes.html */,
                                C02B7882126615410026BF0F /* spacebar-scrolling.html */,
-                               7AE9E5081AE5AE8B00CF874B /* test.pdf */,
                                CD59F53319E910BC00CF1835 /* test-mse.mp4 */,
                                524BBCA019E30C63002F1AF1 /* test.mp4 */,
+                               7AE9E5081AE5AE8B00CF874B /* test.pdf */,
                                1C2B81841C8924A200A5529F /* webfont.html */,
                        );
                        name = Resources;
                                B55F119F1516834F00915916 /* AttributedString.mm */,
                                00CD9F6215BE312C002DA2CE /* BackForwardList.mm */,
                                26DF5A5D15A29BAA003689C2 /* CancelLoadFromResourceLoadDelegate.mm */,
+                               93CFA8681CEBCFED000565A8 /* CandidateTests.mm */,
                                290A9BB51735DE8A00D71BBC /* CloseNewWindowInNavigationPolicyDelegate.mm */,
                                A1146A8A1D2D704F000FE710 /* ContentFiltering.mm */,
                                5142B2701517C88B00C32B19 /* ContextMenuCanCopyURL.mm */,
                                C07E6CAE13FD67650038B22B /* DynamicDeviceScaleFactor.mm */,
                                1A9FB6CC1CA34BE500966124 /* EarlyKVOCrash.mm */,
                                4BB4160316815F9100824238 /* ElementAtPointInWebFrame.mm */,
+                               9B79164F1BD89D0D00D50B8F /* FirstResponderScrollingPosition.mm */,
                                1A7E8B33181208DE00AEB74A /* FragmentNavigation.mm */,
                                CDBFCC431A9FF44800A7B691 /* FullscreenZoomInitialFrame.mm */,
                                9B4F8FA3159D52B1002D9F94 /* HTMLCollectionNamedItem.mm */,
                                7A99D9931AD4A29D00373141 /* MenuTypesForMouseEvents.mm */,
                                E19DB9781B32137C00DB38D4 /* NavigatorLanguage.mm */,
                                A57A34EF16AF677200C2501F /* PageVisibilityStateWithWindowChanges.mm */,
-                               9B79164F1BD89D0D00D50B8F /* FirstResponderScrollingPosition.mm */,
                                00BC16851680FE810065F1E5 /* PublicSuffix.mm */,
                                37C784DE197C8F2E0010A496 /* RenderedImageFromDOMNode.mm */,
                                3722C8681461E03E00C45D00 /* RenderedImageFromDOMRange.mm */,
                                939BFE3918E5548900883275 /* StringTruncator.mm */,
                                37A6895D148A9B50005100FA /* SubresourceErrorCrash.mm */,
                                E490296714E2E3A4002BEDD1 /* TypingStyleCrash.mm */,
-                               93CFA8681CEBCFED000565A8 /* CandidateTests.mm */,
+                               536770331CC8022800D425B1 /* WebScriptObjectDescription.mm */,
                                51FBBB4C1513D4E900822738 /* WebViewCanPasteURL.mm */,
-                               C2EB2DD116CAC7AC009B52EE /* WebViewDidCreateJavaScriptContext.mm */,
                                51B454EB1B4E236B0085EAA6 /* WebViewCloseInsideDidFinishLoadForFrame.mm */,
+                               C2EB2DD116CAC7AC009B52EE /* WebViewDidCreateJavaScriptContext.mm */,
                                37E38C33169B7D010084C28C /* WebViewDidRemoveFrameFromHierarchy.mm */,
                                CE32C7C718184C4900CD8C28 /* WillPerformClientRedirectToURLCrash.mm */,
                                1A7BFC0A171A0BDB00BC5F64 /* WillSendSubmitEvent.mm */,
                                A5E2027215B2181900C13E14 /* WindowlessWebViewWithMedia.mm */,
                                764322D51B61CCA40024F801 /* WordBoundaryTypingAttributes.mm */,
-                               536770331CC8022800D425B1 /* WebScriptObjectDescription.mm */,
                        );
                        path = mac;
                        sourceTree = "<group>";
                                52B8CF9415868CF000281053 /* SetDocumentURI.html */,
                                E194E1BC177E534A009C4D4E /* StopLoadingFromDidReceiveResponse.html */,
                                C540F783152E5A7800A40C8C /* verboseMarkup.html */,
+                               536770351CC812F900D425B1 /* WebScriptObjectDescription.html */,
                                CE14F1A2181873B0001C2705 /* WillPerformClientRedirectToURLCrash.html */,
                                A5E2027015B2180600C13E14 /* WindowlessWebViewWithMedia.html */,
-                               536770351CC812F900D425B1 /* WebScriptObjectDescription.html */,
                        );
                        name = Resources;
                        sourceTree = "<group>";
                CD89D0371C4EDB1300040A04 /* cocoa */ = {
                        isa = PBXGroup;
                        children = (
-                               CD89D0381C4EDB2A00040A04 /* WebCoreNSURLSession.mm */,
                                93A7EB3C18FA63A4009E7670 /* URLExtras.mm */,
+                               CD89D0381C4EDB2A00040A04 /* WebCoreNSURLSession.mm */,
                        );
                        name = cocoa;
                        sourceTree = "<group>";
                        files = (
                                7C83DE991D0A590C00FEBCF3 /* AtomicString.cpp in Sources */,
                                7C83DE9C1D0A590C00FEBCF3 /* BloomFilter.cpp in Sources */,
-                               7C83DEA91D0A590C00FEBCF3 /* CString.cpp in Sources */,
                                7C83DEA01D0A590C00FEBCF3 /* CheckedArithmeticOperations.cpp in Sources */,
                                7C83DEC31D0A590C00FEBCF3 /* Condition.cpp in Sources */,
                                7C83DEA61D0A590C00FEBCF3 /* Counters.cpp in Sources */,
+                               7C83DEA91D0A590C00FEBCF3 /* CString.cpp in Sources */,
                                7C83DEAD1D0A590C00FEBCF3 /* Deque.cpp in Sources */,
                                6BFD294C1D5E6C1D008EC968 /* HashCountedSet.cpp in Sources */,
                                7C83DED21D0A590C00FEBCF3 /* HashMap.cpp in Sources */,
                                7C83DEE01D0A590C00FEBCF3 /* IntegerToStringConversion.cpp in Sources */,
                                7C83DEE81D0A590C00FEBCF3 /* ListHashSet.cpp in Sources */,
                                7C83DF1D1D0A590C00FEBCF3 /* Lock.cpp in Sources */,
-                               7C83DEEF1D0A590C00FEBCF3 /* MD5.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 */,
-                               7C83DF021D0A590C00FEBCF3 /* OSObjectPtr.cpp in Sources */,
                                7C83DF011D0A590C00FEBCF3 /* Optional.cpp in Sources */,
+                               7C83DF021D0A590C00FEBCF3 /* OSObjectPtr.cpp in Sources */,
                                7C83DF591D0A590C00FEBCF3 /* ParkingLot.cpp in Sources */,
                                7C83DF131D0A590C00FEBCF3 /* RedBlackTree.cpp in Sources */,
                                7C83DF141D0A590C00FEBCF3 /* Ref.cpp in Sources */,
                                7C83DF161D0A590C00FEBCF3 /* RefPtr.cpp in Sources */,
                                7C83DF241D0A590C00FEBCF3 /* RetainPtr.mm in Sources */,
                                7C83DF051D0A590C00FEBCF3 /* RunLoop.cpp in Sources */,
-                               7C83DF2A1D0A590C00FEBCF3 /* SHA1.cpp in Sources */,
                                7C83DF261D0A590C00FEBCF3 /* SaturatedArithmeticOperations.cpp in Sources */,
                                7C83DF121D0A590C00FEBCF3 /* ScopedLambda.cpp in Sources */,
+                               7C83DF2A1D0A590C00FEBCF3 /* SHA1.cpp in Sources */,
                                7C83DF321D0A590C00FEBCF3 /* StringBuilder.cpp in Sources */,
                                7C83DF361D0A590C00FEBCF3 /* StringHasher.cpp in Sources */,
                                7C83DF371D0A590C00FEBCF3 /* StringImpl.cpp in Sources */,
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               7CEFA9661AC0B9E200B910FD /* _WKUserContentExtensionStore.mm in Sources */,
                                7CCE7EE41A411AE600447C4C /* AboutBlankLoad.cpp in Sources */,
                                7CCE7EB31A411A7E00447C4C /* AcceptsFirstMouse.mm in Sources */,
+                               A1DF74321C41B65800A2F4D0 /* AlwaysRevalidatedURLSchemes.mm in Sources */,
+                               2DE71AFE1D49C0BD00904094 /* AnimatedResize.mm in Sources */,
                                7CCE7EB41A411A7E00447C4C /* AttributedString.mm in Sources */,
-                               510477781D29923B009747EB /* IDBDeleteRecovery.mm in Sources */,
+                               CDC8E48D1BC5CB4500594FEC /* AudioSessionCategoryIOS.mm in Sources */,
+                               7C83E0B91D0A64F100FEBCF3 /* AutoLayoutIntegration.mm in Sources */,
                                7CCE7EB51A411A7E00447C4C /* BackForwardList.mm in Sources */,
+                               A13EBBB11B87438000097110 /* BundleParameters.mm in Sources */,
                                7CCE7EDC1A411A9200447C4C /* CalculationValue.cpp in Sources */,
-                               7C83E0BA1D0A64FB00FEBCF3 /* Coding.mm in Sources */,
+                               1C2B81801C891E7C00A5529F /* CancelFontSubresource.mm in Sources */,
                                7CCE7EB61A411A7E00447C4C /* CancelLoadFromResourceLoadDelegate.mm in Sources */,
+                               7C83E0411D0A63F200FEBCF3 /* CandidateTests.mm in Sources */,
                                7CCE7EE71A411AE600447C4C /* CanHandleRequest.cpp in Sources */,
                                7CCE7EE61A411AE600447C4C /* CloseFromWithinCreatePage.cpp in Sources */,
                                7CCE7EB71A411A7E00447C4C /* CloseNewWindowInNavigationPolicyDelegate.mm in Sources */,
                                7CCE7EE51A411AE600447C4C /* CloseThenTerminate.cpp in Sources */,
+                               7C83E0BA1D0A64FB00FEBCF3 /* Coding.mm in Sources */,
+                               7C3965061CDD74F90094DBB8 /* Color.cpp in Sources */,
+                               7C3DB8E41D12129B00AE8CC3 /* CommandBackForward.mm in Sources */,
+                               7CB184C61AA3F2100066EDFD /* ContentExtensions.cpp in Sources */,
+                               A1146A8D1D2D7115000FE710 /* ContentFiltering.mm in Sources */,
+                               A14FC5881B8991BF00D107EB /* ContentFiltering.mm in Sources */,
                                7CCE7EB81A411A7E00447C4C /* ContextMenuCanCopyURL.mm in Sources */,
+                               5C2936931D5BF70D00DEAB1E /* CookieAcceptPolicy.mm in Sources */,
                                7CCE7EE81A411AE600447C4C /* CookieManager.cpp in Sources */,
                                7CCE7EAC1A411A3400447C4C /* Counters.cpp in Sources */,
                                7CCE7EDB1A411A9200447C4C /* CSSParser.cpp in Sources */,
-                               7C83E0401D0A63E300FEBCF3 /* FirstResponderScrollingPosition.mm in Sources */,
-                               7C83E0521D0A641800FEBCF3 /* SharedBuffer.cpp in Sources */,
-                               0F3B94A71A77267400DE3272 /* WKWebViewEvaluateJavaScript.mm in Sources */,
                                7CCE7F291A411B1000447C4C /* CustomProtocolsInvalidScheme.mm in Sources */,
                                7CCE7F2A1A411B1000447C4C /* CustomProtocolsSyncXHRTest.mm in Sources */,
                                7CCE7F2B1A411B1000447C4C /* CustomProtocolsTest.mm in Sources */,
+                               2DC4CF771D2D9DD800ECCC94 /* DataDetection.mm in Sources */,
+                               2D1646E21D1862CD00015A1A /* DeferredViewInWindowStateChange.mm in Sources */,
                                7CCE7EB91A411A7E00447C4C /* DeviceScaleFactorInDashboardRegions.mm in Sources */,
-                               7C83E0BF1D0A652200FEBCF3 /* IndexedDBPersistence.mm in Sources */,
                                7CCE7EBA1A411A7E00447C4C /* DeviceScaleFactorOnBack.mm in Sources */,
+                               7C83E04D1D0A641800FEBCF3 /* DFACombiner.cpp in Sources */,
+                               7C83E04E1D0A641800FEBCF3 /* DFAMinimizer.cpp in Sources */,
                                7CCE7EE91A411AE600447C4C /* DidAssociateFormControls.cpp in Sources */,
                                7CCE7EEA1A411AE600447C4C /* DidNotHandleKeyDown.cpp in Sources */,
                                7CCE7EEB1A411AE600447C4C /* DocumentStartUserScriptAlertCrash.cpp in Sources */,
                                7CCE7EBB1A411A7E00447C4C /* DOMHTMLTableCellCellAbove.mm in Sources */,
+                               2D51A0C71C8BF00C00765C45 /* DOMHTMLVideoElementWrapper.mm in Sources */,
                                7CCE7EBC1A411A7E00447C4C /* DOMNodeFromJSObject.mm in Sources */,
-                               1C2B81801C891E7C00A5529F /* CancelFontSubresource.mm in Sources */,
                                7CCE7EBD1A411A7E00447C4C /* DOMRangeOfString.mm in Sources */,
                                7CCE7EEC1A411AE600447C4C /* DOMWindowExtensionBasic.cpp in Sources */,
                                7CCE7EED1A411AE600447C4C /* DOMWindowExtensionNoCache.cpp in Sources */,
-                               7C83E04D1D0A641800FEBCF3 /* DFACombiner.cpp in Sources */,
-                               9984FACC1CFFAF60008D198C /* WKWebViewTextInput.mm in Sources */,
                                7CCE7F231A411AF600447C4C /* Download.mm in Sources */,
                                7CCE7EEE1A411AE600447C4C /* DownloadDecideDestinationCrash.cpp in Sources */,
-                               7C83E0C01D0A652700FEBCF3 /* LoadInvalidURLRequest.mm in Sources */,
-                               7C83E0C21D0A653500FEBCF3 /* QuickLook.mm in Sources */,
-                               2D1646E21D1862CD00015A1A /* DeferredViewInWindowStateChange.mm in Sources */,
-                               7C83E0421D0A63FD00FEBCF3 /* WebViewCloseInsideDidFinishLoadForFrame.mm in Sources */,
                                7CCE7EBE1A411A7E00447C4C /* DynamicDeviceScaleFactor.mm in Sources */,
-                               37BCA61C1B596BA9002012CA /* ShouldOpenExternalURLsInNewWindowActions.mm in Sources */,
-                               7C83E0411D0A63F200FEBCF3 /* CandidateTests.mm in Sources */,
-                               7CEFA9661AC0B9E200B910FD /* _WKUserContentExtensionStore.mm in Sources */,
                                7CCE7EE01A411A9A00447C4C /* EditorCommands.mm in Sources */,
                                7CCE7EBF1A411A7E00447C4C /* ElementAtPointInWebFrame.mm in Sources */,
-                               5E4B1D2E1D404C6100053621 /* WKScrollViewDelegateCrash.mm in Sources */,
                                7CCE7EEF1A411AE600447C4C /* EphemeralSessionPushStateNoHistoryCallback.cpp in Sources */,
                                7CCE7EF01A411AE600447C4C /* EvaluateJavaScript.cpp in Sources */,
                                7CCE7EF11A411AE600447C4C /* FailedLoad.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 */,
+                               7C83E0BC1D0A650700FEBCF3 /* FixedLayoutSize.mm in Sources */,
                                7CCE7EF51A411AE600447C4C /* ForceRepaint.cpp in Sources */,
-                               52D673EE1AFB127300FA19FE /* WKPageCopySessionStateWithFiltering.cpp in Sources */,
-                               7C83E0C61D0A654E00FEBCF3 /* VideoControlsManager.mm in Sources */,
                                7CCE7EC01A411A7E00447C4C /* FragmentNavigation.mm in Sources */,
                                7CCE7EF61A411AE600447C4C /* FrameMIMETypeHTML.cpp in Sources */,
                                7CCE7EF71A411AE600447C4C /* FrameMIMETypePNG.cpp in Sources */,
+                               7C83E0BD1D0A650C00FEBCF3 /* FullscreenTopContentInset.mm in Sources */,
+                               CDBFCC451A9FF45300A7B691 /* FullscreenZoomInitialFrame.mm in Sources */,
                                7CCE7EF81A411AE600447C4C /* Geolocation.cpp in Sources */,
                                7CCE7EE11A411A9A00447C4C /* GetBackingScaleFactor.mm in Sources */,
-                               CDBFCC451A9FF45300A7B691 /* FullscreenZoomInitialFrame.mm in Sources */,
-                               5C2936931D5BF70D00DEAB1E /* CookieAcceptPolicy.mm in Sources */,
-                               7C83E0B61D0A64B300FEBCF3 /* ModalAlertsSPI.cpp in Sources */,
-                               7C83E04E1D0A641800FEBCF3 /* DFAMinimizer.cpp in Sources */,
-                               7C83E0B81D0A64BD00FEBCF3 /* InjectedBundleMakeAllShadowRootsOpen.cpp in Sources */,
-                               A1146A8D1D2D7115000FE710 /* ContentFiltering.mm in Sources */,
                                7CCE7EF91A411AE600447C4C /* GetInjectedBundleInitializationUserDataCallback.cpp in Sources */,
-                               5C6E65441D5CEFD400F7862E /* URLParser.cpp in Sources */,
-                               536770341CC8022800D425B1 /* WebScriptObjectDescription.mm in Sources */,
                                7CCE7EE21A411A9A00447C4C /* GetPIDAfterAbortedProcessLaunch.cpp in Sources */,
-                               51714EB81CF8CA17004723C4 /* WebProcessKillIDBCleanup.mm in Sources */,
                                7CCE7EFA1A411AE600447C4C /* HitTestResultNodeHandle.cpp in Sources */,
                                7CCE7EC11A411A7E00447C4C /* HTMLCollectionNamedItem.mm in Sources */,
-                               51E6A8941D2F1C0A00C004B6 /* LocalStorageClear.mm in Sources */,
                                7CCE7EC21A411A7E00447C4C /* HTMLFormCollectionNamedItem.mm in Sources */,
+                               7C83E0501D0A641800FEBCF3 /* HTMLParserIdioms.cpp in Sources */,
+                               510477781D29923B009747EB /* IDBDeleteRecovery.mm in Sources */,
+                               51A587861D273AA9004BA9AF /* IndexedDBDatabaseProcessKill.mm in Sources */,
+                               7C83E0BE1D0A651300FEBCF3 /* IndexedDBMultiProcess.mm in Sources */,
+                               7C83E0BF1D0A652200FEBCF3 /* IndexedDBPersistence.mm in Sources */,
                                7CCE7EFB1A411AE600447C4C /* InjectedBundleBasic.cpp in Sources */,
                                7CCE7EFC1A411AE600447C4C /* InjectedBundleFrameHitTest.cpp in Sources */,
                                7CCE7EFD1A411AE600447C4C /* InjectedBundleInitializationUserDataCallbackWins.cpp in Sources */,
+                               7C83E0B81D0A64BD00FEBCF3 /* InjectedBundleMakeAllShadowRootsOpen.cpp in Sources */,
                                7CCE7EC31A411A7E00447C4C /* InspectorBar.mm in Sources */,
                                7CCE7EDA1A411A8700447C4C /* InstanceMethodSwizzler.mm in Sources */,
-                               7C54A4BE1AA11CCA00380F78 /* WKBundleFileHandle.cpp in Sources */,
-                               CDC8E48D1BC5CB4500594FEC /* AudioSessionCategoryIOS.mm in Sources */,
+                               5C726D6F1D3EE06E00C5E1A1 /* InstanceMethodSwizzler.mm in Sources */,
                                7CCE7EAD1A411A3400447C4C /* JavaScriptTest.cpp in Sources */,
                                7CCE7EA51A411A0800447C4C /* JavaScriptTestMac.mm in Sources */,
                                7CCE7EC41A411A7E00447C4C /* JSWrapperForNodeInWebFrame.mm in Sources */,
                                7CCE7F061A411AE600447C4C /* LayoutMilestonesWithAllContentInFrame.cpp in Sources */,
                                7CCE7EDF1A411A9200447C4C /* LayoutUnit.cpp in Sources */,
-                               A13EBBB11B87438000097110 /* BundleParameters.mm in Sources */,
                                37D36ED71AF42ECD00BAF5D9 /* LoadAlternateHTMLString.mm in Sources */,
                                7CCE7EFE1A411AE600447C4C /* LoadAlternateHTMLStringWithNonDirectoryURL.cpp in Sources */,
-                               7C83E04C1D0A641800FEBCF3 /* WebCoreNSURLSession.mm in Sources */,
                                7CCE7EFF1A411AE600447C4C /* LoadCanceledNoServerRedirectCallback.cpp in Sources */,
+                               7C83E0C01D0A652700FEBCF3 /* LoadInvalidURLRequest.mm in Sources */,
                                7CCE7F001A411AE600447C4C /* LoadPageOnCrash.cpp in Sources */,
-                               7C83E0BC1D0A650700FEBCF3 /* FixedLayoutSize.mm in Sources */,
-                               7C89D2AC1A69B80D003A5FDE /* WKPageConfiguration.cpp in Sources */,
-                               A14FC5901B8AE36F00D107EB /* TestProtocol.mm in Sources */,
-                               7CCB4DA91C83AE7300CC6918 /* PageGroup.cpp in Sources */,
+                               51E6A8941D2F1C0A00C004B6 /* LocalStorageClear.mm in Sources */,
+                               46C519DA1D355AB200DAA51A /* LocalStorageNullEntries.mm in Sources */,
                                7CCE7EB21A411A5100447C4C /* MemoryCacheAddImageToCacheIOS.mm in Sources */,
                                7CCE7EC51A411A7E00447C4C /* MemoryCacheDisableWithinResourceLoadDelegate.mm in Sources */,
                                7CCE7EC61A411A7E00447C4C /* MemoryCachePruneWithinResourceLoadDelegate.mm in Sources */,
+                               7C83E0B71D0A64B800FEBCF3 /* MenuTypesForMouseEvents.cpp in Sources */,
+                               51CD1C6C1B38CE4300142CA5 /* ModalAlerts.mm in Sources */,
+                               7C83E0B61D0A64B300FEBCF3 /* ModalAlertsSPI.cpp in Sources */,
                                7CCE7F011A411AE600447C4C /* MouseMoveAfterCrash.cpp in Sources */,
                                7CCE7F241A411AF600447C4C /* Navigation.mm in Sources */,
-                               A14FC5881B8991BF00D107EB /* ContentFiltering.mm in Sources */,
                                7CCE7F021A411AE600447C4C /* NewFirstVisuallyNonEmptyLayout.cpp in Sources */,
-                               2DE71AFE1D49C0BD00904094 /* AnimatedResize.mm in Sources */,
-                               51A587861D273AA9004BA9AF /* IndexedDBDatabaseProcessKill.mm in Sources */,
                                7CCE7F031A411AE600447C4C /* NewFirstVisuallyNonEmptyLayoutFails.cpp in Sources */,
                                7CCE7F041A411AE600447C4C /* NewFirstVisuallyNonEmptyLayoutForImages.cpp in Sources */,
-                               764322D71B61CCC30024F801 /* WordBoundaryTypingAttributes.mm in Sources */,
                                7CCE7F051A411AE600447C4C /* NewFirstVisuallyNonEmptyLayoutFrames.cpp in Sources */,
                                7CCE7F251A411AF600447C4C /* OpenAndCloseWindow.mm in Sources */,
-                               2DC4CF771D2D9DD800ECCC94 /* DataDetection.mm in Sources */,
+                               7CCB4DA91C83AE7300CC6918 /* PageGroup.cpp in Sources */,
                                7CCE7F071A411AE600447C4C /* PageLoadBasic.cpp in Sources */,
-                               7C83E0C11D0A652F00FEBCF3 /* ProvisionalURLNotChange.mm in Sources */,
                                7CCE7F081A411AE600447C4C /* PageLoadDidChangeLocationWithinPageForFrame.cpp in Sources */,
                                7CCE7EC71A411A7E00447C4C /* PageVisibilityStateWithWindowChanges.mm in Sources */,
                                7CCE7F091A411AE600447C4C /* ParentFrame.cpp in Sources */,
+                               7C83E0511D0A641800FEBCF3 /* ParsedContentRange.cpp in Sources */,
                                7CCE7F0A1A411AE600447C4C /* PasteboardNotifications.mm in Sources */,
-                               7C83E0BB1D0A650000FEBCF3 /* FindInPage.mm in Sources */,
-                               5C726D6F1D3EE06E00C5E1A1 /* InstanceMethodSwizzler.mm in Sources */,
+                               7C83E0531D0A643A00FEBCF3 /* PendingAPIRequestURL.cpp in Sources */,
                                7CCE7EAF1A411A3800447C4C /* PlatformUtilities.cpp in Sources */,
                                0F139E781A423A6B00F590F5 /* PlatformUtilitiesCocoa.mm in Sources */,
-                               7C417F331D19E14800B8EF53 /* WKWebViewDefaultNavigationDelegate.mm in Sources */,
                                7CCE7EA61A411A0F00447C4C /* PlatformUtilitiesMac.mm in Sources */,
                                7CCE7EA71A411A1300447C4C /* PlatformWebViewMac.mm in Sources */,
-                               835CF9671D25FCD6001A65D4 /* RestoreSessionStateWithoutNavigation.cpp in Sources */,
-                               515BE1711D428E4B00DD7C68 /* StoreBlobThenDelete.mm in Sources */,
                                7CCE7F261A411AF600447C4C /* Preferences.mm in Sources */,
                                7CCE7F0B1A411AE600447C4C /* PreventEmptyUserAgent.cpp in Sources */,
-                               7C83E0BD1D0A650C00FEBCF3 /* FullscreenTopContentInset.mm in Sources */,
                                7CCE7F2C1A411B1000447C4C /* PreventImageLoadWithAutoResizing.mm in Sources */,
                                7CCE7F0C1A411AE600447C4C /* PrivateBrowsingPushStateNoHistoryCallback.cpp in Sources */,
+                               7C83E0C11D0A652F00FEBCF3 /* ProvisionalURLNotChange.mm in Sources */,
                                7CCE7EC81A411A7E00447C4C /* PublicSuffix.mm in Sources */,
-                               1F83571B1D3FFB2300E3967B /* WKBackForwardList.mm in Sources */,
-                               7C83E0511D0A641800FEBCF3 /* ParsedContentRange.cpp in Sources */,
-                               46C519DA1D355AB200DAA51A /* LocalStorageNullEntries.mm in Sources */,
-                               7C3965061CDD74F90094DBB8 /* Color.cpp in Sources */,
+                               7C83E0C21D0A653500FEBCF3 /* QuickLook.mm in Sources */,
                                7CCE7F0D1A411AE600447C4C /* ReloadPageAfterCrash.cpp in Sources */,
+                               7C83E0C31D0A653A00FEBCF3 /* RemoteObjectRegistry.mm in Sources */,
                                7CCE7EC91A411A7E00447C4C /* RenderedImageFromDOMNode.mm in Sources */,
-                               83CF1C301C4F1B8B00688447 /* StringUtilities.mm in Sources */,
                                7CCE7ECA1A411A7E00447C4C /* RenderedImageFromDOMRange.mm in Sources */,
-                               51CD1C6C1B38CE4300142CA5 /* ModalAlerts.mm in Sources */,
-                               7C83E0531D0A643A00FEBCF3 /* PendingAPIRequestURL.cpp in Sources */,
-                               7C83E0C31D0A653A00FEBCF3 /* RemoteObjectRegistry.mm in Sources */,
+                               7C83E0C41D0A654200FEBCF3 /* RequiresUserActionForPlayback.mm in Sources */,
                                7CCE7F0E1A411AE600447C4C /* ResizeReversePaginatedWebView.cpp in Sources */,
                                7CCE7F0F1A411AE600447C4C /* ResizeWindowAfterCrash.cpp in Sources */,
                                7CCE7F101A411AE600447C4C /* ResponsivenessTimerDoesntFireEarly.cpp in Sources */,
                                7CCE7F111A411AE600447C4C /* RestoreSessionStateContainingFormData.cpp in Sources */,
-                               2D00065F1C1F589A0088E6A7 /* WKPDFViewResizeCrash.mm in Sources */,
+                               835CF9671D25FCD6001A65D4 /* RestoreSessionStateWithoutNavigation.cpp in Sources */,
                                7CCE7F121A411AE600447C4C /* ScrollPinningBehaviors.cpp in Sources */,
                                7CCE7ECB1A411A7E00447C4C /* SetAndUpdateCacheModel.mm in Sources */,
                                7CCE7ECC1A411A7E00447C4C /* SetDocumentURI.mm in Sources */,
+                               7C83E0521D0A641800FEBCF3 /* SharedBuffer.cpp in Sources */,
                                7CCE7F131A411AE600447C4C /* ShouldGoToBackForwardListItem.cpp in Sources */,
-                               7C83E0501D0A641800FEBCF3 /* HTMLParserIdioms.cpp in Sources */,
                                7CCE7F141A411AE600447C4C /* ShouldKeepCurrentBackForwardListItemInList.cpp in Sources */,
+                               37BCA61C1B596BA9002012CA /* ShouldOpenExternalURLsInNewWindowActions.mm in Sources */,
+                               7C83E0C51D0A654600FEBCF3 /* ShrinkToFit.mm in Sources */,
                                7CCE7ECD1A411A7E00447C4C /* SimplifyMarkup.mm in Sources */,
-                               7C83E0BE1D0A651300FEBCF3 /* IndexedDBMultiProcess.mm in Sources */,
                                7CCE7F151A411AE600447C4C /* SpacebarScrolling.cpp in Sources */,
                                7CCE7EF21A411AE600447C4C /* StopLoadingDuringDidFailProvisionalLoad.cpp in Sources */,
                                7CCE7ECE1A411A7E00447C4C /* StopLoadingFromDidFinishLoading.mm in Sources */,
                                7CCE7ECF1A411A7E00447C4C /* StopLoadingFromDidReceiveResponse.mm in Sources */,
-                               A14FC5851B89739100D107EB /* WKWebViewConfigurationExtras.mm in Sources */,
-                               7CB184C61AA3F2100066EDFD /* ContentExtensions.cpp in Sources */,
+                               515BE1711D428E4B00DD7C68 /* StoreBlobThenDelete.mm in Sources */,
                                7CCE7ED01A411A7E00447C4C /* StringByEvaluatingJavaScriptFromString.mm in Sources */,
                                7CCE7ED11A411A7E00447C4C /* StringTruncator.mm in Sources */,
+                               83CF1C301C4F1B8B00688447 /* StringUtilities.mm in Sources */,
                                7CCE7ED21A411A7E00447C4C /* SubresourceErrorCrash.mm in Sources */,
                                7CCE7EA81A411A1900447C4C /* SyntheticBackingScaleFactorWindow.m in Sources */,
                                7CCE7F161A411AE600447C4C /* TerminateTwice.cpp in Sources */,
                                7CCE7EA91A411A1D00447C4C /* TestBrowsingContextLoadDelegate.mm in Sources */,
+                               A14FC5901B8AE36F00D107EB /* TestProtocol.mm in Sources */,
                                7CCE7EAE1A411A3400447C4C /* TestsController.cpp in Sources */,
                                CE3524F91B1441C40028A7C5 /* TextFieldDidBeginAndEndEditing.cpp in Sources */,
                                7CCE7EDD1A411A9200447C4C /* TimeRanges.cpp in Sources */,
                                7CCE7ED31A411A7E00447C4C /* TypingStyleCrash.mm in Sources */,
-                               2D51A0C71C8BF00C00765C45 /* DOMHTMLVideoElementWrapper.mm in Sources */,
-                               7C83E0B91D0A64F100FEBCF3 /* AutoLayoutIntegration.mm in Sources */,
                                7CCE7EDE1A411A9200447C4C /* URL.cpp in Sources */,
                                7CCE7EB01A411A4400447C4C /* URLExtras.mm in Sources */,
-                               7C882E0A1C80C764006BF731 /* UserContentWorld.mm in Sources */,
+                               5C6E65441D5CEFD400F7862E /* URLParser.cpp in Sources */,
                                7CCE7F271A411AF600447C4C /* UserContentController.mm in Sources */,
-                               7C83E04F1D0A641800FEBCF3 /* FileSystem.cpp in Sources */,
-                               7C3DB8E41D12129B00AE8CC3 /* CommandBackForward.mm in Sources */,
                                7CCE7F2D1A411B1000447C4C /* UserContentTest.mm in Sources */,
-                               7CCE7F171A411AE600447C4C /* UserMedia.cpp in Sources */,
-                               7C83E0C41D0A654200FEBCF3 /* RequiresUserActionForPlayback.mm in Sources */,
+                               7C882E0A1C80C764006BF731 /* UserContentWorld.mm in Sources */,
                                7CCB99211D3B41F6003922F6 /* UserInitiatedActionInNavigationAction.mm in Sources */,
+                               7CCE7F171A411AE600447C4C /* UserMedia.cpp in Sources */,
                                7CCE7F181A411AE600447C4C /* UserMessage.cpp in Sources */,
+                               7C83E03A1D0A602700FEBCF3 /* UtilitiesCocoa.mm in Sources */,
+                               7C83E0C61D0A654E00FEBCF3 /* VideoControlsManager.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 */,
-                               7C83E03A1D0A602700FEBCF3 /* UtilitiesCocoa.mm in Sources */,
+                               51714EB81CF8CA17004723C4 /* WebProcessKillIDBCleanup.mm in Sources */,
+                               536770341CC8022800D425B1 /* WebScriptObjectDescription.mm in Sources */,
                                7CCE7ED41A411A7E00447C4C /* WebViewCanPasteURL.mm in Sources */,
+                               7C83E0421D0A63FD00FEBCF3 /* WebViewCloseInsideDidFinishLoadForFrame.mm in Sources */,
                                7CCE7ED51A411A7E00447C4C /* WebViewDidCreateJavaScriptContext.mm in Sources */,
                                7CCE7ED61A411A7E00447C4C /* WebViewDidRemoveFrameFromHierarchy.mm in Sources */,
                                7CCE7F1B1A411AE600447C4C /* WillLoad.cpp in Sources */,
                                7CCE7ED71A411A7E00447C4C /* WillPerformClientRedirectToURLCrash.mm in Sources */,
                                7CCE7F1C1A411AE600447C4C /* WillSendSubmitEvent.cpp in Sources */,
-                               A1DF74321C41B65800A2F4D0 /* AlwaysRevalidatedURLSchemes.mm in Sources */,
-                               7C83E0C51D0A654600FEBCF3 /* ShrinkToFit.mm in Sources */,
                                7CCE7ED81A411A7E00447C4C /* WillSendSubmitEvent.mm in Sources */,
                                7CCE7ED91A411A7E00447C4C /* WindowlessWebViewWithMedia.mm in Sources */,
-                               7C83E0B71D0A64B800FEBCF3 /* MenuTypesForMouseEvents.cpp in Sources */,
+                               1F83571B1D3FFB2300E3967B /* WKBackForwardList.mm in Sources */,
                                7CCE7F2E1A411B1000447C4C /* WKBrowsingContextGroupTest.mm in Sources */,
                                7CCE7F2F1A411B1000447C4C /* WKBrowsingContextLoadDelegateTest.mm in Sources */,
+                               7C54A4BE1AA11CCA00380F78 /* WKBundleFileHandle.cpp in Sources */,
                                7CCE7F1D1A411AE600447C4C /* WKImageCreateCGImageCrash.cpp in Sources */,
-                               7C83E0B51D0A649300FEBCF3 /* WKRetainPtr.cpp in Sources */,
+                               7C89D2AC1A69B80D003A5FDE /* WKPageConfiguration.cpp in Sources */,
+                               52D673EE1AFB127300FA19FE /* WKPageCopySessionStateWithFiltering.cpp in Sources */,
                                7CCE7F1F1A411AE600447C4C /* WKPageGetScaleFactorNotZero.cpp in Sources */,
                                7CCE7F201A411AE600447C4C /* WKPageIsPlayingAudio.cpp in Sources */,
+                               2D00065F1C1F589A0088E6A7 /* WKPDFViewResizeCrash.mm in Sources */,
                                7CCE7F211A411AE600447C4C /* WKPreferences.cpp in Sources */,
+                               7C83E0B51D0A649300FEBCF3 /* WKRetainPtr.cpp in Sources */,
+                               5E4B1D2E1D404C6100053621 /* WKScrollViewDelegateCrash.mm in Sources */,
                                7CCE7F221A411AE600447C4C /* WKString.cpp in Sources */,
                                7CCE7F1E1A411AE600447C4C /* WKStringJSString.cpp in Sources */,
+                               A14FC5851B89739100D107EB /* WKWebViewConfigurationExtras.mm in Sources */,
+                               7C417F331D19E14800B8EF53 /* WKWebViewDefaultNavigationDelegate.mm in Sources */,
+                               0F3B94A71A77267400DE3272 /* WKWebViewEvaluateJavaScript.mm in Sources */,
+                               9984FACC1CFFAF60008D198C /* WKWebViewTextInput.mm in Sources */,
+                               764322D71B61CCC30024F801 /* WordBoundaryTypingAttributes.mm in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               7C882E091C80C630006BF731 /* UserContentWorldPlugIn.mm in Sources */,
-                               A13EBBAA1B87428D00097110 /* WebProcessPlugIn.mm in Sources */,
-                               7C83E03D1D0A60D600FEBCF3 /* UtilitiesCocoa.mm in Sources */,
-                               1A4F81CF1BDFFD53004E672E /* RemoteObjectRegistryPlugIn.mm in Sources */,
-                               1C2B81831C891F0900A5529F /* CancelFontSubresourcePlugIn.mm in Sources */,
                                A13EBBB01B87436F00097110 /* BundleParametersPlugIn.mm in Sources */,
-                               A13EBBAB1B87434600097110 /* PlatformUtilitiesCocoa.mm in Sources */,
+                               1C2B81831C891F0900A5529F /* CancelFontSubresourcePlugIn.mm in Sources */,
                                A14FC58B1B89927100D107EB /* ContentFilteringPlugIn.mm in Sources */,
+                               A13EBBAB1B87434600097110 /* PlatformUtilitiesCocoa.mm in Sources */,
+                               1A4F81CF1BDFFD53004E672E /* RemoteObjectRegistryPlugIn.mm in Sources */,
+                               7C882E091C80C630006BF731 /* UserContentWorldPlugIn.mm in Sources */,
+                               7C83E03D1D0A60D600FEBCF3 /* UtilitiesCocoa.mm in Sources */,
+                               A13EBBAA1B87428D00097110 /* WebProcessPlugIn.mm in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        files = (
                                BC246D9C132F1FF000B56D7C /* CanHandleRequest_Bundle.cpp in Sources */,
                                297234B7173AFAC700983601 /* CustomProtocolsInvalidScheme_Bundle.cpp in Sources */,
-                               7C83E03C1D0A60D600FEBCF3 /* UtilitiesCocoa.mm in Sources */,
                                F6B7BE9517469212008A3445 /* DidAssociateFormControls_Bundle.cpp in Sources */,
                                BCB68042126FBFF100642A61 /* DocumentStartUserScriptAlertCrash_Bundle.cpp in Sources */,
                                51393E221523952D005F39C5 /* DOMWindowExtensionBasic_Bundle.cpp in Sources */,
                                F660AA1115A5F631003A1243 /* GetInjectedBundleInitializationUserDataCallback_Bundle.cpp in Sources */,
                                4BFDFFA71314776C0061F24B /* HitTestResultNodeHandle_Bundle.cpp in Sources */,
                                BC575AB0126E83C8006F0F12 /* InjectedBundleBasic_Bundle.cpp in Sources */,
-                               7C54A4C11AA11CE400380F78 /* WKBundleFileHandle_Bundle.cpp in Sources */,
                                BC575AA2126E7660006F0F12 /* InjectedBundleController.cpp in Sources */,
                                1AEDE22613E5E7E700E62FE8 /* InjectedBundleControllerMac.mm in Sources */,
                                378E64771632655E00B6C676 /* InjectedBundleFrameHitTest_Bundle.cpp in Sources */,
                                F660AA1515A61ABF003A1243 /* InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp in Sources */,
                                BC575A97126E74F1006F0F12 /* InjectedBundleMain.cpp in Sources */,
+                               9B0786A51C5885C300D159E3 /* InjectedBundleMakeAllShadowRootOpen_Bundle.cpp in Sources */,
                                33DC89141419579F00747EF7 /* LoadCanceledNoServerRedirectCallback_Bundle.cpp in Sources */,
                                33BE5AF9137B5AAE00705813 /* MouseMoveAfterCrash_Bundle.cpp in Sources */,
                                93F1DB3414DA20870024C362 /* NewFirstVisuallyNonEmptyLayout_Bundle.cpp in Sources */,
                                C0BD669F131D3CFF00E18F2A /* ResponsivenessTimerDoesntFireEarly_Bundle.cpp in Sources */,
                                51FCF7A11534B2A000104491 /* ShouldGoToBackForwardListItem_Bundle.cpp in Sources */,
                                7673499D1930C5BB00E44DF9 /* StopLoadingDuringDidFailProvisionalLoad_bundle.cpp in Sources */,
-                               9B0786A51C5885C300D159E3 /* InjectedBundleMakeAllShadowRootOpen_Bundle.cpp in Sources */,
                                CE3524F81B1431F60028A7C5 /* TextFieldDidBeginAndEndEditing_Bundle.cpp in Sources */,
                                BC22D31914DC68B900FFB1DD /* UserMessage_Bundle.cpp in Sources */,
+                               7C83E03C1D0A60D600FEBCF3 /* UtilitiesCocoa.mm in Sources */,
                                520BCF4C141EB09E00937EA8 /* WebArchive_Bundle.cpp in Sources */,
                                7CFBCAE51743238F00B2BFCF /* WillLoad_Bundle.cpp in Sources */,
                                76E182DD1547569100F1FADD /* WillSendSubmitEvent_Bundle.cpp in Sources */,
+                               7C54A4C11AA11CE400380F78 /* WKBundleFileHandle_Bundle.cpp in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
diff --git a/Tools/TestWebKitAPI/Tests/WTF/DeletedAddressOfOperator.h b/Tools/TestWebKitAPI/Tests/WTF/DeletedAddressOfOperator.h
new file mode 100644 (file)
index 0000000..31d5d80
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <wtf/HashFunctions.h>
+#include <wtf/HashTraits.h>
+
+class DeletedAddressOfOperator {
+public:
+    DeletedAddressOfOperator()
+        : m_value(0)
+    {
+    }
+
+    DeletedAddressOfOperator(unsigned value)
+        : m_value(value)
+    {
+    }
+
+    DeletedAddressOfOperator* operator&() = delete;
+
+    unsigned value() const
+    {
+        return m_value;
+    }
+
+    friend bool operator==(const DeletedAddressOfOperator& a, const DeletedAddressOfOperator& b)
+    {
+        return a.m_value == b.m_value;
+    }
+
+private:
+    unsigned m_value;
+};
+
+namespace WTF {
+
+template<> struct HashTraits<DeletedAddressOfOperator> : public GenericHashTraits<DeletedAddressOfOperator> {
+    static const bool emptyValueIsZero = true;
+
+    static void constructDeletedValue(DeletedAddressOfOperator& slot) { slot = DeletedAddressOfOperator(std::numeric_limits<unsigned>::max()); }
+    static bool isDeletedValue(const DeletedAddressOfOperator& slot) { return slot.value() == std::numeric_limits<unsigned>::max(); }
+};
+
+template<> struct DefaultHash<DeletedAddressOfOperator> {
+    struct Hash {
+        static unsigned hash(const DeletedAddressOfOperator& key)
+        {
+            return intHash(key.value());
+        }
+
+        static bool equal(const DeletedAddressOfOperator& a, const DeletedAddressOfOperator& b)
+        {
+            return a == b;
+        }
+
+        static const bool safeToCompareToEmptyOrDeleted = true;
+    };
+};
+}
+
index 7973a7b..42a9b78 100644 (file)
@@ -26,6 +26,7 @@
 #include "config.h"
 
 #include "Counters.h"
+#include "DeletedAddressOfOperator.h"
 #include "MoveOnly.h"
 #include "RefLogger.h"
 #include "Test.h"
@@ -891,6 +892,11 @@ TEST(WTF_HashMap, Ref_Value)
     ASSERT_STREQ("ref(a) deref(a) ", takeLogStr().c_str());
 }
 
-
+TEST(WTF_HashMap, DeletedAddressOfOperator)
+{
+    HashMap<int, DeletedAddressOfOperator> map1;
+    for (auto& value : map1.values())
+        (void)value;
+}
 
 } // namespace TestWebKitAPI
index 6b81300..922c16c 100644 (file)
@@ -26,6 +26,7 @@
 #include "config.h"
 
 #include "Counters.h"
+#include "DeletedAddressOfOperator.h"
 #include "MoveOnly.h"
 #include "RefLogger.h"
 #include <wtf/HashSet.h>
@@ -429,4 +430,12 @@ TEST(WTF_HashSet, Ref)
     ASSERT_STREQ("ref(a) deref(a) ", takeLogStr().c_str());
 }
 
+TEST(WTF_HashSet, DeletedAddressOfOperator)
+{
+    HashSet<DeletedAddressOfOperator> set1;
+    set1.add(10);
+
+    set1.remove(10);
+}
+
 } // namespace TestWebKitAPI