Changeset 243767 in webkit
- Timestamp:
- Apr 2, 2019, 4:11:43 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r243763 r243767 1 2019-04-02 Alex Christensen <achristensen@webkit.org> 2 3 Fix assertion in http/tests/adClickAttribution/store-ad-click-attribution.html 4 https://bugs.webkit.org/show_bug.cgi?id=196503 5 6 Reviewed by Chris Dumez. 7 8 * http/tests/adClickAttribution/store-ad-click-attribution-expected.txt: 9 * http/tests/adClickAttribution/store-ad-click-attribution.html: 10 * platform/wk2/TestExpectations: 11 1 12 2019-04-02 Devin Rousso <drousso@apple.com> 2 13 -
trunk/LayoutTests/http/tests/adClickAttribution/store-ad-click-attribution-expected.txt
r241451 r243767 2 2 3 3 4 WebCore::AdClickAttribution 1 5 Source: 127.0.0.1 6 Destination: localhost 7 Campaign ID: 3 8 No conversion data. 4 No stored Ad Click Attribution data. -
trunk/LayoutTests/http/tests/adClickAttribution/store-ad-click-attribution.html
r241451 r243767 1 <!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ,internal:AdClickAttributionEnabled=true ] -->1 <!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AdClickAttributionEnabled=true ] --> 2 2 <html lang="en"> 3 3 <head> -
trunk/LayoutTests/platform/wk2/TestExpectations
r243762 r243767 754 754 755 755 http/tests/adClickAttribution [ Pass ] 756 http/tests/adClickAttribution/store-ad-click-attribution.html [ Skip ]757 756 758 757 ### END OF (5) Progressions, expected successes that are expected failures in WebKit1. -
trunk/Source/WebKit/ChangeLog
r243764 r243767 1 2019-04-02 Alex Christensen <achristensen@webkit.org> 2 3 Fix assertion in http/tests/adClickAttribution/store-ad-click-attribution.html 4 https://bugs.webkit.org/show_bug.cgi?id=196503 5 6 Reviewed by Chris Dumez. 7 8 In WebPageProxy::didDestroyNavigation we try to ignore a request to destroy a navigation from a page being navigated from 9 during a cross-site navigation, but if the old web process sends the message after WebPageProxy::commitProvisionalPage 10 has been called, we can still destroy a navigation when we are continuing a navigation in another process. To prevent this, 11 have the process not send the message when it knows the navigation is continuing in another process. 12 Also make the use of unchecked navigation pointers more robust by checking it for nullity. 13 14 * UIProcess/WebPageProxy.cpp: 15 (WebKit::WebPageProxy::didCommitLoadForFrame): 16 * WebProcess/WebPage/WebFrame.cpp: 17 (WebKit::WebFrame::didReceivePolicyDecision): 18 (WebKit::WebFrame::documentLoaderDetached): 19 * WebProcess/WebPage/WebFrame.h: 20 1 21 2019-04-02 Per Arne Vollan <pvollan@apple.com> 2 22 -
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
r243733 r243767 3874 3874 PageClientProtector protector(pageClient()); 3875 3875 3876 // On process-swap, the previous process tries to destroy the navigation but the provisional process is actually taking over the navigation.3877 if (m_provisionalPage && m_provisionalPage->navigationID() == navigationID)3878 return;3879 3880 3876 // FIXME: Message check the navigationID. 3881 3877 m_navigationState->didDestroyNavigation(navigationID); … … 4107 4103 // FIXME: We should message check that navigationID is not zero here, but it's currently zero for some navigations through the page cache. 4108 4104 RefPtr<API::Navigation> navigation; 4109 if (frame->isMainFrame() && navigationID) { 4110 navigation = navigationState().navigation(navigationID); 4105 if (frame->isMainFrame() && navigationID && (navigation = navigationState().navigation(navigationID))) { 4111 4106 #if ENABLE(RESOURCE_LOAD_STATISTICS) 4112 4107 auto requesterOrigin = navigation->lastNavigationAction().requesterOrigin; -
trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp
r241500 r243767 279 279 } 280 280 281 if (action == PolicyAction::StopAllLoads) 282 m_navigationIsContinuingInAnotherProcess = true; 283 281 284 function(action, identifier); 282 285 } … … 813 816 void WebFrame::documentLoaderDetached(uint64_t navigationID) 814 817 { 815 if (auto * page = this->page()) 818 if (m_navigationIsContinuingInAnotherProcess) 819 return; 820 if (auto* page = this->page()) 816 821 page->send(Messages::WebPageProxy::DidDestroyNavigation(navigationID)); 817 822 } -
trunk/Source/WebKit/WebProcess/WebPage/WebFrame.h
r240909 r243767 189 189 190 190 uint64_t m_frameID { 0 }; 191 bool m_navigationIsContinuingInAnotherProcess { false }; 191 192 192 193 #if PLATFORM(IOS_FAMILY)
Note:
See TracChangeset
for help on using the changeset viewer.