Title: [170262] trunk/Source/WebKit2
Revision
170262
Author
[email protected]
Date
2014-06-22 09:34:15 -0700 (Sun, 22 Jun 2014)

Log Message

Implement the rest of back forward tree decoding
https://bugs.webkit.org/show_bug.cgi?id=134166

Reviewed by Sam Weinig.

* UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::HistoryEntryDataDecoder::operator>>):
(WebKit::decodeFormDataElement):
(WebKit::decodeFormData):
(WebKit::decodeBackForwardTreeNode):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (170261 => 170262)


--- trunk/Source/WebKit2/ChangeLog	2014-06-22 16:33:40 UTC (rev 170261)
+++ trunk/Source/WebKit2/ChangeLog	2014-06-22 16:34:15 UTC (rev 170262)
@@ -1,3 +1,16 @@
+2014-06-21  Anders Carlsson  <[email protected]>
+
+        Implement the rest of back forward tree decoding
+        https://bugs.webkit.org/show_bug.cgi?id=134166
+
+        Reviewed by Sam Weinig.
+
+        * UIProcess/mac/LegacySessionStateCoding.cpp:
+        (WebKit::HistoryEntryDataDecoder::operator>>):
+        (WebKit::decodeFormDataElement):
+        (WebKit::decodeFormData):
+        (WebKit::decodeBackForwardTreeNode):
+
 2014-06-22  Dan Bernstein  <[email protected]>
 
         [iOS] WKWebViewConfiguration.allowsInlineMediaPlayback has no effect

Modified: trunk/Source/WebKit2/UIProcess/mac/LegacySessionStateCoding.cpp (170261 => 170262)


--- trunk/Source/WebKit2/UIProcess/mac/LegacySessionStateCoding.cpp	2014-06-22 16:33:40 UTC (rev 170261)
+++ trunk/Source/WebKit2/UIProcess/mac/LegacySessionStateCoding.cpp	2014-06-22 16:34:15 UTC (rev 170262)
@@ -241,6 +241,11 @@
         return decodeArithmeticType(value);
     }
 
+    HistoryEntryDataDecoder& operator>>(double& value)
+    {
+        return decodeArithmeticType(value);
+    }
+
     HistoryEntryDataDecoder& operator>>(String& value)
     {
         value = String();
@@ -426,10 +431,40 @@
         decoder >> formDataElement.data;
         break;
 
-    case FormDataElementType::EncodedFile:
+    case FormDataElementType::EncodedFile: {
+        decoder >> formDataElement.filePath;
+
+        String generatedFilename;
+        decoder >> generatedFilename;
+
+        bool shouldGenerateFile;
+        decoder >> shouldGenerateFile;
+
+        decoder >> formDataElement.fileStart;
+        if (formDataElement.fileStart < 0)
+            return;
+
+        int64_t fileLength;
+        decoder >> fileLength;
+        if (fileLength != -1) {
+            if (fileLength < formDataElement.fileStart)
+                return;
+
+            formDataElement.fileLength = fileLength;
+        }
+
+
+        double expectedFileModificationTime;
+        decoder >> expectedFileModificationTime;
+        if (expectedFileModificationTime != std::numeric_limits<double>::quiet_NaN())
+            formDataElement.expectedFileModificationTime = expectedFileModificationTime;
+
+        break;
+    }
+
     case FormDataElementType::EncodedBlob:
-        // FIXME: Implement.
-        ASSERT_NOT_REACHED();
+        decoder >> formDataElement.blobURLString;
+        break;
     }
 }
 
@@ -450,6 +485,12 @@
 
         formData.elements.append(std::move(formDataElement));
     }
+
+    bool hasGeneratedFiles;
+    decoder >> hasGeneratedFiles;
+
+    int64_t identifier;
+    decoder >> identifier;
 }
 
 static void decodeBackForwardTreeNode(HistoryEntryDataDecoder& decoder, FrameState& frameState)
@@ -472,8 +513,10 @@
     decoder >> documentStateVectorSize;
 
     for (uint64_t i = 0; i < documentStateVectorSize; ++i) {
-        // FIXME: Implement.
-        ASSERT_NOT_REACHED();
+        String state;
+        decoder >> state;
+
+        frameState.documentState.append(std::move(state));
     }
 
     String formContentType;
@@ -508,10 +551,8 @@
     bool hasStateObject;
     decoder >> hasStateObject;
 
-    if (hasStateObject) {
-        // FIXME: Implement.
-        ASSERT_NOT_REACHED();
-    }
+    if (hasStateObject)
+        decoder >> frameState.stateObjectData;
 
     decoder >> frameState.target;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to