Summary: | Add code to encode/decode the back/forward tree | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Darin Adler <darin> | ||||||
Component: | Page Loading | Assignee: | Darin Adler <darin> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | abarth, beidson, buildbot, ddkilzer, dglazkov, eric, gyuyoung.kim, webkit.review.bot | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | All | ||||||||
OS: | All | ||||||||
Attachments: |
|
Description
Darin Adler
2011-01-03 16:25:41 PST
Created attachment 77851 [details]
Patch
Attachment 77851 [details] did not build on chromium: Build output: http://queues.webkit.org/results/7231354 Comment on attachment 77851 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=77851&action=review > WebCore/history/HistoryItem.cpp:642 > + encoder->encodeString(child.m_title); We probably don't need the titles for children. > WebCore/history/HistoryItem.cpp:644 > + encoder->encodeString(child.m_urlString); If we don't need this for children, it'd simplify the code a lot (or a bit (or not at all)) > WebCore/history/HistoryItem.cpp:710 > + return 0; As above, probably don't need this. > WebCore/history/HistoryItem.cpp:715 > + recursionStack.append(DecodeBackForwardTreeRecursionStackElement(node.release(), i)); Need to store size here, too. > WebCore/history/HistoryItem.cpp:778 > + recursionStack.removeLast(); Move this down till you're done using "element" > WebCore/platform/network/FormData.cpp:338 > + encoder->encodeBytes(reinterpret_cast<const uint8_t*>(element.m_data.data()), element.m_data.size()); This cast probably isn't needed anymore. > WebCore/platform/network/FormData.cpp:420 > +} The encoder doesn't encode everything the decoder decodes....!!!! Boo-urns Created attachment 77854 [details]
Patch
Committed r74951: <http://trac.webkit.org/changeset/74951> Attachment 77854 [details] did not build on chromium: Build output: http://queues.webkit.org/results/7343188 Attachment 77854 [details] did not build on win: Build output: http://queues.webkit.org/results/7282335 Attachment 77851 [details] did not build on chromium: Build output: http://queues.webkit.org/results/7220396 It seems to me that this patch makes a build break in WebKitEFL as below, [ 99%] Building C object WebCore/CMakeFiles/webcore_efl.dir/platform/network/soup/cache/soup-directory-input-stream.c.o /home/gyuyoung/webkit/working-source/WebKit-video/WebCore/platform/network/soup/ResourceHandleSoup.cpp: In function ‘bool WebCore::startHttp(WebCore::ResourceHandle*)’: /home/gyuyoung/webkit/working-source/WebKit-video/WebCore/platform/network/soup/ResourceHandleSoup.cpp:617: error: no matching function for call to ‘WebCore::FormData::flatten(WTF::Vector<char, 0u>&)’ /home/gyuyoung/webkit/working-source/WebKit-video/WebCore/platform/network/FormData.h:114: note: candidates are: void WebCore::FormData::flatten(WTF::Vector<unsigned char, 0u>&) const [ 99%] [ 99%] Building C object WebCore/CMakeFiles/webcore_efl.dir/platform/network/soup/cache/soup-http-input-stream.c.o Building C object WebCore/CMakeFiles/webcore_efl.dir/platform/network/soup/cache/soup-request-data.c.o make[2]: *** [WebCore/CMakeFiles/webcore_efl.dir/platform/network/soup/ResourceHandleSoup.cpp.o] Error 1 http://trac.webkit.org/changeset/74951 might have broken Leopard Intel Debug (Build) (In reply to comment #10) > http://trac.webkit.org/changeset/74951 might have broken Leopard Intel Debug (Build) /Volumes/Big/WebKit-BuildSlave/leopard-intel-release/build/WebCore/history/HistoryItem.cpp:727: warning: implicit conversion shortens 64-bit value into a 32-bit value A uint64_t variable is passed as a size_t parameter. (In reply to comment #10) > http://trac.webkit.org/changeset/74951 might have broken Leopard Intel Debug (Build) World build fix: r74952 <http://trac.webkit.org/changeset/74952> Leopard build fix: r74955 <http://trac.webkit.org/changeset/74955> Chromium build fix: r74956 <http://trac.webkit.org/changeset/74956> |