DescriptionRe-implement PageState serialization without a Blink API dependency.
WebHistoryItem serialization is now split into two parts. PageState (i.e., encoded string)to ExplodedPageState, and ExplodedPageState to WebHistoryItem. This way we can generate ExplodedPageState in the browser process without a dependency on Blink API.
This CL drops support for version 1-10 of the format. I confirmed with laforge@ that the usage of such old versions of Chrome is minimal enough.
I've included code to extract file paths from the "document state" vector of strings. This code just has to be consistent with the way document state was generated in versions 11 through 13 of the format. Version 14 has the file path vector included directly in the serialized data.
Gone is the serializers ability to write out different versions of the format. That code existed to support testing as we would write out old versions and test our ability to read them. Instead, I've captured some serialized snapshots at different versions, and I just test that we can read them. I've included code for generating a snapshot as a test case that by default returns early. (This way the code doesn't bit-rot.)
R=jamesr@chromium.org,tsepez@chromium.org
BUG=237243
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=208367
Patch Set 1 #Patch Set 2 : Add specialized v11 referenced data for Android #Patch Set 3 : Rebase #Patch Set 4 : Fix serialized_v11_android.dat to assume a device scale factor of 2.0 #Patch Set 5 : Move FilePath conversion to page_state.cc #Patch Set 6 : Rebase #
Total comments: 31
Patch Set 7 : Improvements based on review feedback. #
Total comments: 15
Patch Set 8 : Rebase #Patch Set 9 : Improvements based on Tom's feedback. #Messages
Total messages: 13 (0 generated)
|