Bug 117348 - [Qt][WK2] Implement session restore/save in WebKit2
Summary: [Qt][WK2] Implement session restore/save in WebKit2
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P3 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-07 07:28 PDT by Hyungchan Kim
Modified: 2014-02-03 03:26 PST (History)
11 users (show)

See Also:


Attachments
Patch (21.87 KB, patch)
2013-06-07 07:43 PDT, Hyungchan Kim
no flags Details | Formatted Diff | Diff
Patch (21.91 KB, patch)
2013-06-07 08:39 PDT, Hyungchan Kim
no flags Details | Formatted Diff | Diff
Patch (45.87 KB, patch)
2013-06-11 18:55 PDT, Hyungchan Kim
no flags Details | Formatted Diff | Diff
Patch (45.89 KB, patch)
2013-06-11 19:46 PDT, Hyungchan Kim
no flags Details | Formatted Diff | Diff
Patch (46.28 KB, patch)
2013-06-12 00:50 PDT, Hyungchan Kim
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Hyungchan Kim 2013-06-07 07:28:18 PDT
I filled the empty bodies of 2 functions in WebPageProxy.cpp to enable session restore/save in WebKit2 Qt.

WKPage.h
WK_EXPORT WKDataRef WKPageCopySessionState(WKPageRef page, void* context, WKPageSessionStateFilterCallback urlAllowedCallback);
WK_EXPORT void WKPageRestoreFromSessionState(WKPageRef page, WKDataRef sessionStateData);

WebPageProxy.h
void WebPageProxy::restoreFromSessionStateData(WebData*)
PassRefPtr<WebData> WebPageProxy::sessionStateData(WebPageProxySessionStateFilterCallback, void*) const

Most of the source were come from WebPageProxyCF.cpp, WebBackForwardListCF.cpp.
Comment 1 Hyungchan Kim 2013-06-07 07:43:23 PDT
Created attachment 204044 [details]
Patch
Comment 2 WebKit Commit Bot 2013-06-07 07:46:07 PDT
Attachment 204044 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp', u'Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h', u'Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h', u'Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_sessionSaveRestore.qml', u'Source/WebKit2/UIProcess/WebBackForwardList.cpp', u'Source/WebKit2/UIProcess/WebBackForwardList.h', u'Source/WebKit2/UIProcess/WebPageProxy.cpp']" exit_code: 1
Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1603:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Build Bot 2013-06-07 07:47:02 PDT
Comment on attachment 204044 [details]
Patch

Attachment 204044 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/792213
Comment 4 EFL EWS Bot 2013-06-07 07:51:54 PDT
Comment on attachment 204044 [details]
Patch

Attachment 204044 [details] did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/792215
Comment 5 Hyungchan Kim 2013-06-07 08:39:09 PDT
Created attachment 204046 [details]
Patch
Comment 6 Anders Carlsson 2013-06-07 08:45:51 PDT
Comment on attachment 204046 [details]
Patch

Using the IPC encoding mechanism for encoding back/forward lists was a great mistake and I'd hate for other ports to repeat it.
Comment 7 Hyungchan Kim 2013-06-09 19:27:32 PDT
(In reply to comment #6)
> (From update of attachment 204046 [details])
> Using the IPC encoding mechanism for encoding back/forward lists was a great mistake and I'd hate for other ports to repeat it.

Do you hate using IPC encoding mechanism in here because is ArgumentEncoder/Decoder only for IPC?
If so, how about implementing derived class from Encoder.h? But, it's body will almost be the same with impl of ArgumentDecoder/Encoder.

Or, I can give up general IPC and then implement Qt specific code like HistoryItemQt.cpp
Comment 8 Hyungchan Kim 2013-06-11 18:55:56 PDT
Created attachment 204379 [details]
Patch
Comment 9 EFL EWS Bot 2013-06-11 19:06:22 PDT
Comment on attachment 204379 [details]
Patch

Attachment 204379 [details] did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/780354
Comment 10 Build Bot 2013-06-11 19:31:52 PDT
Comment on attachment 204379 [details]
Patch

Attachment 204379 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/791425
Comment 11 Hyungchan Kim 2013-06-11 19:46:45 PDT
Created attachment 204384 [details]
Patch
Comment 12 EFL EWS Bot 2013-06-11 19:51:26 PDT
Comment on attachment 204384 [details]
Patch

Attachment 204384 [details] did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/822157
Comment 13 Hyungchan Kim 2013-06-12 00:50:29 PDT
Created attachment 204418 [details]
Patch
Comment 14 Anders Carlsson 2013-10-02 21:34:26 PDT
Comment on attachment 204418 [details]
Patch

Qt has been removed, clearing review flags.
Comment 15 Jocelyn Turcotte 2014-02-03 03:26:05 PST
=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.