Unreviewed, rolling out r247159.
authorryanhaddad@apple.com <ryanhaddad@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 5 Jul 2019 18:00:54 +0000 (18:00 +0000)
committerryanhaddad@apple.com <ryanhaddad@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 5 Jul 2019 18:00:54 +0000 (18:00 +0000)
IndexedDB layout tests are failing the new assert.

Reverted changeset:

"ASSERT that a sessionID is valid when encoding it"
https://bugs.webkit.org/show_bug.cgi?id=199302
https://trac.webkit.org/changeset/247159

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

Source/WebCore/ChangeLog
Source/WebCore/Modules/indexeddb/IDBValue.h
Source/WebCore/Modules/indexeddb/shared/IDBRequestData.cpp
Source/WebCore/Modules/indexeddb/shared/IDBRequestData.h
Source/WebCore/PAL/ChangeLog
Source/WebCore/PAL/pal/SessionID.h

index d87dbc8..bbb8aa0 100644 (file)
@@ -1,5 +1,17 @@
 2019-07-05  Ryan Haddad  <ryanhaddad@apple.com>
 
+        Unreviewed, rolling out r247159.
+
+        IndexedDB layout tests are failing the new assert.
+
+        Reverted changeset:
+
+        "ASSERT that a sessionID is valid when encoding it"
+        https://bugs.webkit.org/show_bug.cgi?id=199302
+        https://trac.webkit.org/changeset/247159
+
+2019-07-05  Ryan Haddad  <ryanhaddad@apple.com>
+
         Unreviewed, rolling out r247123.
 
         Caused TestWebKitAPI.Challenge.BasicProposedCredential to
index c7f2322..fb46700 100644 (file)
@@ -50,7 +50,7 @@ public:
 
     const ThreadSafeDataBuffer& data() const { return m_data; }
     const Vector<String>& blobURLs() const { return m_blobURLs; }
-    const PAL::SessionID& sessionID() const;
+    const PAL::SessionID& sessionID() const { return m_sessionID; }
     const Vector<String>& blobFilePaths() const { return m_blobFilePaths; }
 
     template<class Encoder> void encode(Encoder&) const;
@@ -59,17 +59,10 @@ public:
 private:
     ThreadSafeDataBuffer m_data;
     Vector<String> m_blobURLs;
-    mutable Optional<PAL::SessionID> m_sessionID;
+    PAL::SessionID m_sessionID;
     Vector<String> m_blobFilePaths;
 };
 
-inline const PAL::SessionID& IDBValue::sessionID() const
-{
-    // FIXME: We should assert m_sessionID is valid or remove m_sessionID.
-    if (!m_sessionID)
-        m_sessionID = PAL::SessionID { };
-    return *m_sessionID;
-}
 
 template<class Encoder>
 void IDBValue::encode(Encoder& encoder) const
index b10d840..574ea8b 100644 (file)
@@ -98,8 +98,7 @@ void IDBRequestData::isolatedCopy(const IDBRequestData& source, IDBRequestData&
     destination.m_requestedVersion = source.m_requestedVersion;
     destination.m_requestType = source.m_requestType;
 
-    if (source.m_databaseIdentifier)
-        destination.m_databaseIdentifier = source.m_databaseIdentifier->isolatedCopy();
+    destination.m_databaseIdentifier = source.m_databaseIdentifier.isolatedCopy();
 
     if (source.m_requestIdentifier)
         destination.m_requestIdentifier = std::make_unique<IDBResourceIdentifier>(*source.m_requestIdentifier);
index 45cffae..b582167 100644 (file)
@@ -65,7 +65,7 @@ public:
     IndexedDB::IndexRecordType indexRecordType() const;
     IDBResourceIdentifier cursorIdentifier() const;
 
-    const IDBDatabaseIdentifier& databaseIdentifier() const;
+    const IDBDatabaseIdentifier& databaseIdentifier() const { return m_databaseIdentifier; }
     uint64_t requestedVersion() const;
 
     bool isOpenRequest() const { return m_requestType == IndexedDB::RequestType::Open; }
@@ -89,20 +89,12 @@ private:
     uint64_t m_indexIdentifier { 0 };
     IndexedDB::IndexRecordType m_indexRecordType;
 
-    mutable Optional<IDBDatabaseIdentifier> m_databaseIdentifier;
+    IDBDatabaseIdentifier m_databaseIdentifier;
     uint64_t m_requestedVersion { 0 };
 
     IndexedDB::RequestType m_requestType { IndexedDB::RequestType::Other };
 };
 
-inline const IDBDatabaseIdentifier& IDBRequestData::databaseIdentifier() const
-{
-    ASSERT(m_databaseIdentifier);
-    if (!m_databaseIdentifier)
-        m_databaseIdentifier = IDBDatabaseIdentifier { };
-    return *m_databaseIdentifier;
-}
-
 template<class Encoder>
 void IDBRequestData::encode(Encoder& encoder) const
 {
@@ -136,7 +128,7 @@ bool IDBRequestData::decode(Decoder& decoder, IDBRequestData& request)
     if (!decoder.decode(request.m_indexIdentifier))
         return false;
 
-    Optional<Optional<IDBDatabaseIdentifier>> databaseIdentifier;
+    Optional<IDBDatabaseIdentifier> databaseIdentifier;
     decoder >> databaseIdentifier;
     if (!databaseIdentifier)
         return false;
index 6fb7431..4406811 100644 (file)
@@ -1,3 +1,15 @@
+2019-07-05  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r247159.
+
+        IndexedDB layout tests are failing the new assert.
+
+        Reverted changeset:
+
+        "ASSERT that a sessionID is valid when encoding it"
+        https://bugs.webkit.org/show_bug.cgi?id=199302
+        https://trac.webkit.org/changeset/247159
+
 2019-07-05  Youenn Fablet  <youenn@apple.com>
 
         ASSERT that a sessionID is valid when encoding it
index f7cca7d..2b1cdb2 100644 (file)
@@ -80,7 +80,7 @@ private:
 template<class Encoder>
 void SessionID::encode(Encoder& encoder) const
 {
-    ASSERT(isValid());
+    // FIXME: Eliminate places that encode invalid SessionIDs, then ASSERT here that the sessionID is valid.
     encoder << m_sessionID;
 }
 
@@ -104,8 +104,7 @@ Optional<SessionID> SessionID::decode(Decoder& decoder)
     if (!sessionID)
         return WTF::nullopt;
 
-    // FIXME: We should fail to decode an invalid sessionID.
-    ASSERT(SessionID { *sessionID }.isValid());
+    // FIXME: Eliminate places that encode invalid SessionIDs, then fail to decode an invalid sessionID.
     return SessionID { *sessionID };
 }