|
86 | 86 | FORM_CONTROLS_ASSOCIATED_FOR_FRAME, |
87 | 87 | WILL_SUBMIT_FORM, |
88 | 88 | USER_MESSAGE_RECEIVED, |
| 89 | + DID_START_PROVISIONAL_LOAD_FOR_FRAME, |
89 | 90 |
|
90 | 91 | LAST_SIGNAL |
91 | 92 | }; |
@@ -196,17 +197,16 @@ class PageLoaderClient final : public API::InjectedBundle::PageLoaderClient { |
196 | 197 |
|
197 | 198 | void didStartProvisionalLoadForFrame(WebPage&, WebFrame& frame, RefPtr<API::Object>&) override |
198 | 199 | { |
199 | | - auto* webKitFrame = webkitFrameGet(&frame); |
200 | | - if (!webKitFrame && !frame.isMainFrame()) |
201 | | - return; |
202 | | - |
| 200 | + auto* webKitFrame = webkitFrameGetOrCreate(&frame); |
203 | 201 | const auto uri = getDocumentLoaderURL(frame.coreLocalFrame()->loader().provisionalDocumentLoader()); |
204 | 202 |
|
205 | 203 | if (webKitFrame) |
206 | 204 | webkitFrameSetURI(webKitFrame, uri); |
207 | 205 |
|
208 | 206 | if (frame.isMainFrame()) |
209 | 207 | webkitWebPageSetURI(m_webPage, uri); |
| 208 | + |
| 209 | + g_signal_emit(m_webPage, signals[DID_START_PROVISIONAL_LOAD_FOR_FRAME], 0, webKitFrame); |
210 | 210 | } |
211 | 211 |
|
212 | 212 | void didReceiveServerRedirectForProvisionalLoadForFrame(WebPage&, WebFrame& frame, RefPtr<API::Object>&) override |
@@ -789,6 +789,21 @@ ALLOW_DEPRECATED_DECLARATIONS_END |
789 | 789 | g_cclosure_marshal_generic, |
790 | 790 | G_TYPE_BOOLEAN, 1, |
791 | 791 | 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); |
792 | 807 | } |
793 | 808 |
|
794 | 809 | WebPage* webkitWebPageGetPage(WebKitWebPage *webPage) |
|
0 commit comments