Changeset 207389 in webkit
- Timestamp:
- Oct 16, 2016 2:11:18 AM (8 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r207379 r207389 1 2016-10-16 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] WebKitWebPage URI not updated after URI is modified by InjectedBundlePageResourceLoadClient::willSendRequestForFrame 4 https://bugs.webkit.org/show_bug.cgi?id=163389 5 6 Reviewed by Michael Catanzaro. 7 8 Update the page URI also when the load is committed. 9 10 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 11 (getDocumentLoaderURL): 12 (didStartProvisionalLoadForFrame): 13 (didReceiveServerRedirectForProvisionalLoadForFrame): 14 (didCommitLoadForFrame): 15 (webkitWebPageCreate): 16 (getProvisionalURLForFrame): Deleted. 17 1 18 2016-10-15 Simon Fraser <simon.fraser@apple.com> 2 19 -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp
r197563 r207389 130 130 } 131 131 132 static CString get ProvisionalURLForFrame(WebFrame* webFrame)133 { 134 DocumentLoader* documentLoader = webFrame->coreFrame()->loader().provisionalDocumentLoader();132 static CString getDocumentLoaderURL(DocumentLoader* documentLoader) 133 { 134 ASSERT(documentLoader); 135 135 if (!documentLoader->unreachableURL().isEmpty()) 136 136 return documentLoader->unreachableURL().string().utf8(); … … 159 159 return; 160 160 161 webkitWebPageSetURI(WEBKIT_WEB_PAGE(clientInfo), get ProvisionalURLForFrame(toImpl(frame)));161 webkitWebPageSetURI(WEBKIT_WEB_PAGE(clientInfo), getDocumentLoaderURL(toImpl(frame)->coreFrame()->loader().provisionalDocumentLoader())); 162 162 } 163 163 … … 167 167 return; 168 168 169 webkitWebPageSetURI(WEBKIT_WEB_PAGE(clientInfo), get ProvisionalURLForFrame(toImpl(frame)));169 webkitWebPageSetURI(WEBKIT_WEB_PAGE(clientInfo), getDocumentLoaderURL(toImpl(frame)->coreFrame()->loader().provisionalDocumentLoader())); 170 170 } 171 171 … … 176 176 177 177 webkitWebPageSetURI(WEBKIT_WEB_PAGE(clientInfo), toImpl(frame)->coreFrame()->document()->url().string().utf8()); 178 } 179 180 static void didCommitLoadForFrame(WKBundlePageRef, WKBundleFrameRef frame, WKTypeRef* /* userData */, const void* clientInfo) 181 { 182 if (!WKBundleFrameIsMainFrame(frame)) 183 return; 184 185 webkitWebPageSetURI(WEBKIT_WEB_PAGE(clientInfo), getDocumentLoaderURL(toImpl(frame)->coreFrame()->loader().documentLoader())); 178 186 } 179 187 … … 486 494 didReceiveServerRedirectForProvisionalLoadForFrame, 487 495 0, // didFailProvisionalLoadWithErrorForFrame 488 0, // didCommitLoadForFrame496 didCommitLoadForFrame, 489 497 didFinishDocumentLoadForFrame, 490 498 0, // didFinishLoadForFrame -
trunk/Tools/ChangeLog
r207388 r207389 1 2016-10-16 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] WebKitWebPage URI not updated after URI is modified by InjectedBundlePageResourceLoadClient::willSendRequestForFrame 4 https://bugs.webkit.org/show_bug.cgi?id=163389 5 6 Reviewed by Michael Catanzaro. 7 8 Update /webkit2/WebKitWebPage/get-uri test to check that web view and page uri always match even when request is 9 modified by WebKitWebPage::send-request signal. 10 11 * TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp: 12 (testWebPageURI): 13 1 14 2016-10-16 Carlos Garcia Campos <cgarcia@igalia.com> 2 15 -
trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp
r207388 r207389 406 406 } 407 407 408 void loadURI(const char* uri) 409 { 410 m_webPageURIs.clear(); 411 m_webViewURIs.clear(); 412 WebViewTest::loadURI(uri); 413 } 414 415 void checkViewAndPageURIsMatch() const 416 { 417 g_assert_cmpint(m_webPageURIs.size(), ==, m_webViewURIs.size()); 418 for (size_t i = 0; i < m_webPageURIs.size(); ++i) 419 ASSERT_CMP_CSTRING(m_webPageURIs[i], ==, m_webViewURIs[i]); 420 } 421 408 422 unsigned m_uriChangedSignalID; 409 423 Vector<CString> m_webPageURIs; … … 413 427 static void testWebPageURI(WebPageURITest* test, gconstpointer) 414 428 { 429 // Normal load. 430 test->loadURI(kServer->getURIForPath("/normal1").data()); 431 test->waitUntilLoadFinished(); 432 test->checkViewAndPageURIsMatch(); 433 g_assert_cmpint(test->m_webPageURIs.size(), ==, 1); 434 ASSERT_CMP_CSTRING(test->m_webPageURIs[0], ==, kServer->getURIForPath("/normal1")); 435 436 // Redirect 415 437 test->loadURI(kServer->getURIForPath("/redirect").data()); 416 438 test->waitUntilLoadFinished(); 417 418 g_assert_cmpint(test->m_webPageURIs.size(), ==, test->m_webViewURIs.size()); 419 for (size_t i = 0; i < test->m_webPageURIs.size(); ++i) 420 ASSERT_CMP_CSTRING(test->m_webPageURIs[i], ==, test->m_webViewURIs[i]); 421 439 test->checkViewAndPageURIsMatch(); 422 440 g_assert_cmpint(test->m_webPageURIs.size(), ==, 2); 423 441 ASSERT_CMP_CSTRING(test->m_webPageURIs[0], ==, kServer->getURIForPath("/redirect")); 424 442 ASSERT_CMP_CSTRING(test->m_webPageURIs[1], ==, kServer->getURIForPath("/normal")); 425 443 444 // Normal load, URL changed by WebKitPage::send-request. 445 test->loadURI(kServer->getURIForPath("/normal-change-request").data()); 446 test->waitUntilLoadFinished(); 447 test->checkViewAndPageURIsMatch(); 448 g_assert_cmpint(test->m_webPageURIs.size(), ==, 2); 449 ASSERT_CMP_CSTRING(test->m_webPageURIs[0], ==, kServer->getURIForPath("/normal-change-request")); 450 ASSERT_CMP_CSTRING(test->m_webPageURIs[1], ==, kServer->getURIForPath("/request-changed")); 451 452 // Redirect, URL changed by WebKitPage::send-request. 453 test->loadURI(kServer->getURIForPath("/redirect-to-change-request").data()); 454 test->waitUntilLoadFinished(); 455 test->checkViewAndPageURIsMatch(); 456 g_assert_cmpint(test->m_webPageURIs.size(), ==, 3); 457 ASSERT_CMP_CSTRING(test->m_webPageURIs[0], ==, kServer->getURIForPath("/redirect-to-change-request")); 458 ASSERT_CMP_CSTRING(test->m_webPageURIs[1], ==, kServer->getURIForPath("/normal-change-request")); 459 ASSERT_CMP_CSTRING(test->m_webPageURIs[2], ==, kServer->getURIForPath("/request-changed-on-redirect")); 426 460 } 427 461
Note: See TracChangeset
for help on using the changeset viewer.