|
88 | 88 | FORM_CONTROLS_ASSOCIATED_FOR_FRAME, |
89 | 89 | WILL_SUBMIT_FORM, |
90 | 90 | USER_MESSAGE_RECEIVED, |
| 91 | + DID_START_PROVISIONAL_LOAD_FOR_FRAME, |
91 | 92 |
|
92 | 93 | LAST_SIGNAL |
93 | 94 | }; |
@@ -198,17 +199,16 @@ class PageLoaderClient final : public API::InjectedBundle::PageLoaderClient { |
198 | 199 |
|
199 | 200 | void didStartProvisionalLoadForFrame(WebPage&, WebFrame& frame, RefPtr<API::Object>&) override |
200 | 201 | { |
201 | | - auto* webKitFrame = webkitFrameGet(&frame); |
202 | | - if (!webKitFrame && !frame.isMainFrame()) |
203 | | - return; |
204 | | - |
| 202 | + auto* webKitFrame = webkitFrameGetOrCreate(&frame); |
205 | 203 | const auto uri = getDocumentLoaderURL(frame.coreLocalFrame()->loader().provisionalDocumentLoader()); |
206 | 204 |
|
207 | 205 | if (webKitFrame) |
208 | 206 | webkitFrameSetURI(webKitFrame, uri); |
209 | 207 |
|
210 | 208 | if (frame.isMainFrame()) |
211 | 209 | webkitWebPageSetURI(m_webPage, uri); |
| 210 | + |
| 211 | + g_signal_emit(m_webPage, signals[DID_START_PROVISIONAL_LOAD_FOR_FRAME], 0, webKitFrame); |
212 | 212 | } |
213 | 213 |
|
214 | 214 | void didReceiveServerRedirectForProvisionalLoadForFrame(WebPage&, WebFrame& frame, RefPtr<API::Object>&) override |
@@ -779,6 +779,21 @@ ALLOW_DEPRECATED_DECLARATIONS_END |
779 | 779 | g_cclosure_marshal_generic, |
780 | 780 | G_TYPE_BOOLEAN, 1, |
781 | 781 | 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); |
782 | 797 | } |
783 | 798 |
|
784 | 799 | WebPage* webkitWebPageGetPage(WebKitWebPage *webPage) |
|
0 commit comments