WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
59017
[GTK] Implement History API FrameLoaderClient methods
https://bugs.webkit.org/show_bug.cgi?id=59017
Summary
[GTK] Implement History API FrameLoaderClient methods
Xan Lopez
Reported
2011-04-20 12:37:02 PDT
We need to fake a load when they are used for our UA to have a chance of updating its state in the UI. This makes pages like
http://diveintohtml5.org/examples/history/casey.html
work in Epiphany.
Attachments
history.diff
(4.71 KB, patch)
2011-04-20 12:38 PDT
,
Xan Lopez
no flags
Details
Formatted Diff
Diff
history.diff
(4.71 KB, patch)
2011-04-20 13:05 PDT
,
Xan Lopez
no flags
Details
Formatted Diff
Diff
Patch
(4.00 KB, patch)
2011-12-03 06:31 PST
,
Xan Lopez
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Xan Lopez
Comment 1
2011-04-20 12:38:25 PDT
Created
attachment 90386
[details]
history.diff
WebKit Review Bot
Comment 2
2011-04-20 12:47:10 PDT
Attachment 90386
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebKit/gtk/ChangeLog', u'Source/Web..." exit_code: 1 Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:908: Declaration has space between type name and * in WebKitWebFrame *mainFrame [whitespace/declaration] [3] Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:909: Declaration has space between type name and * in WebKitWebDataSource *dataSource [whitespace/declaration] [3] Total errors found: 2 in 3 files If any of these errors are false positives, please file a bug against check-webkit-style.
Xan Lopez
Comment 3
2011-04-20 13:05:38 PDT
Created
attachment 90392
[details]
history.diff Nothing to see here, move along.
Martin Robinson
Comment 4
2011-04-20 13:09:29 PDT
View in context:
https://bugs.webkit.org/attachment.cgi?id=90386&action=review
Seems okay, but please consider my comments below when landing.
> Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:913 > + WebKitWebView* webView = getViewFromFrame(m_frame); > + WebKitWebFrame *mainFrame = webView->priv->mainFrame; > + WebKitWebDataSource *dataSource = webkit_web_frame_get_data_source(mainFrame); > + bool loaderCompleted = !webkit_web_data_source_is_loading(dataSource); > + > + if (!loaderCompleted) > + return;
This can all be reduced to two lines with something like: if (core(getViewFromFrame(m_frame))->mainFrame()->loader()->activeDocumentLoader()->isLoadingInAPISense()) return; I would also leave a comment explaining why you don't want to send these signals during loading.
Martin Robinson
Comment 5
2011-04-20 13:09:49 PDT
Comment on
attachment 90392
[details]
history.diff r+ with changes above.
Xan Lopez
Comment 6
2011-04-20 21:07:09 PDT
Dumping here some comments Martin and I had about this on jabber: - If we commit the patch as-is we break at least one invariant our code had before: we'll emit a provisional load signal without having a provisional data source/request. In theory this cannot happen. - If we skip the provisional stage this to avoid the former, we break another invariant: we go through committed and finished before having started at provisional. I believe this, also, cannot happen in theory. So I'm having second thoughts about this. If I had to choose I'd probably decide to go for option a). CCing Gustavo in case he wants to comment.
Gustavo Noronha (kov)
Comment 7
2011-05-09 18:28:39 PDT
(In reply to
comment #6
)
> Dumping here some comments Martin and I had about this on jabber: > > - If we commit the patch as-is we break at least one invariant our code had before: we'll emit a provisional load signal without having a provisional data source/request. In theory this cannot happen. > > - If we skip the provisional stage this to avoid the former, we break another invariant: we go through committed and finished before having started at provisional. I believe this, also, cannot happen in theory. > > So I'm having second thoughts about this. If I had to choose I'd probably decide to go for option a). CCing Gustavo in case he wants to comment.
We can create a fake provisional data source/request, perhaps? Even if we don't, I think the first option is the one with less chance of causing breakage, so I'd go with it.
Eric Seidel (no email)
Comment 8
2011-06-18 13:43:14 PDT
Attachment 90392
[details]
was posted by a committer and has review+, assigning to Xan Lopez for commit.
Xan Lopez
Comment 9
2011-12-03 06:31:45 PST
Created
attachment 117756
[details]
Patch
WebKit Review Bot
Comment 10
2011-12-03 12:06:26 PST
Comment on
attachment 117756
[details]
Patch Clearing flags on attachment: 117756 Committed
r101933
: <
http://trac.webkit.org/changeset/101933
>
WebKit Review Bot
Comment 11
2011-12-03 12:06:31 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug