Skip to content

Commit 0bac8fe

Browse files
magomezspenap
authored andcommitted
Add did-start-provisional-load-for-frame signal
1 parent 9dca152 commit 0bac8fe

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
@@ -88,6 +88,7 @@ enum {
8888
FORM_CONTROLS_ASSOCIATED_FOR_FRAME,
8989
WILL_SUBMIT_FORM,
9090
USER_MESSAGE_RECEIVED,
91+
DID_START_PROVISIONAL_LOAD_FOR_FRAME,
9192

9293
LAST_SIGNAL
9394
};
@@ -198,17 +199,16 @@ class PageLoaderClient final : public API::InjectedBundle::PageLoaderClient {
198199

199200
void didStartProvisionalLoadForFrame(WebPage&, WebFrame& frame, RefPtr<API::Object>&) override
200201
{
201-
auto* webKitFrame = webkitFrameGet(&frame);
202-
if (!webKitFrame && !frame.isMainFrame())
203-
return;
204-
202+
auto* webKitFrame = webkitFrameGetOrCreate(&frame);
205203
const auto uri = getDocumentLoaderURL(frame.coreLocalFrame()->loader().provisionalDocumentLoader());
206204

207205
if (webKitFrame)
208206
webkitFrameSetURI(webKitFrame, uri);
209207

210208
if (frame.isMainFrame())
211209
webkitWebPageSetURI(m_webPage, uri);
210+
211+
g_signal_emit(m_webPage, signals[DID_START_PROVISIONAL_LOAD_FOR_FRAME], 0, webKitFrame);
212212
}
213213

214214
void didReceiveServerRedirectForProvisionalLoadForFrame(WebPage&, WebFrame& frame, RefPtr<API::Object>&) override
@@ -779,6 +779,21 @@ ALLOW_DEPRECATED_DECLARATIONS_END
779779
g_cclosure_marshal_generic,
780780
G_TYPE_BOOLEAN, 1,
781781
WEBKIT_TYPE_USER_MESSAGE);
782+
783+
/**
784+
* WebKitWebPage::did-start-provisional-load-for-frame:
785+
* @web_page: the #WebKitWebPage on which the signal is emitted
786+
* @frame: the #WebKitFrame
787+
*
788+
*/
789+
signals[DID_START_PROVISIONAL_LOAD_FOR_FRAME] = g_signal_new(
790+
"did-start-provisional-load-for-frame",
791+
G_TYPE_FROM_CLASS(klass),
792+
G_SIGNAL_RUN_LAST,
793+
0, 0, nullptr,
794+
g_cclosure_marshal_generic,
795+
G_TYPE_NONE, 1,
796+
WEBKIT_TYPE_FRAME);
782797
}
783798

784799
WebPage* webkitWebPageGetPage(WebKitWebPage *webPage)

0 commit comments

Comments
 (0)