Skip to content

Commit 3050220

Browse files
magomezpgorszkowski-igalia
authored andcommitted
Add did-start-provisional-load-for-frame signal
1 parent 1dd3034 commit 3050220

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ enum {
8686
FORM_CONTROLS_ASSOCIATED_FOR_FRAME,
8787
WILL_SUBMIT_FORM,
8888
USER_MESSAGE_RECEIVED,
89+
DID_START_PROVISIONAL_LOAD_FOR_FRAME,
8990

9091
LAST_SIGNAL
9192
};
@@ -196,17 +197,16 @@ class PageLoaderClient final : public API::InjectedBundle::PageLoaderClient {
196197

197198
void didStartProvisionalLoadForFrame(WebPage&, WebFrame& frame, RefPtr<API::Object>&) override
198199
{
199-
auto* webKitFrame = webkitFrameGet(&frame);
200-
if (!webKitFrame && !frame.isMainFrame())
201-
return;
202-
200+
auto* webKitFrame = webkitFrameGetOrCreate(&frame);
203201
const auto uri = getDocumentLoaderURL(frame.coreLocalFrame()->loader().provisionalDocumentLoader());
204202

205203
if (webKitFrame)
206204
webkitFrameSetURI(webKitFrame, uri);
207205

208206
if (frame.isMainFrame())
209207
webkitWebPageSetURI(m_webPage, uri);
208+
209+
g_signal_emit(m_webPage, signals[DID_START_PROVISIONAL_LOAD_FOR_FRAME], 0, webKitFrame);
210210
}
211211

212212
void didReceiveServerRedirectForProvisionalLoadForFrame(WebPage&, WebFrame& frame, RefPtr<API::Object>&) override
@@ -789,6 +789,21 @@ ALLOW_DEPRECATED_DECLARATIONS_END
789789
g_cclosure_marshal_generic,
790790
G_TYPE_BOOLEAN, 1,
791791
WEBKIT_TYPE_USER_MESSAGE);
792+
793+
/**
794+
* WebKitWebPage::did-start-provisional-load-for-frame:
795+
* @web_page: the #WebKitWebPage on which the signal is emitted
796+
* @frame: the #WebKitFrame
797+
*
798+
*/
799+
signals[DID_START_PROVISIONAL_LOAD_FOR_FRAME] = g_signal_new(
800+
"did-start-provisional-load-for-frame",
801+
G_TYPE_FROM_CLASS(klass),
802+
G_SIGNAL_RUN_LAST,
803+
0, 0, nullptr,
804+
g_cclosure_marshal_generic,
805+
G_TYPE_NONE, 1,
806+
WEBKIT_TYPE_FRAME);
792807
}
793808

794809
WebPage* webkitWebPageGetPage(WebKitWebPage *webPage)

0 commit comments

Comments
 (0)