Changeset 246413 in webkit
- Timestamp:
- Jun 13, 2019 2:20:26 PM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r246404 r246413 1 2019-06-13 Tim Horton <timothy_horton@apple.com> 2 3 No content shows up for WKWebView while locked even with _canShowWhileLocked is YES 4 https://bugs.webkit.org/show_bug.cgi?id=198819 5 <rdar://problem/51636240> 6 7 Reviewed by Simon Fraser. 8 9 * UIProcess/Cocoa/WebPageProxyCocoa.mm: 10 (WebKit::WebPageProxy::didCreateContextForVisibilityPropagation): 11 * UIProcess/WebPageProxy.h: 12 (WebKit::WebPageProxy::contextIDForVisibilityPropagation const): 13 * UIProcess/WebPageProxy.messages.in: 14 * UIProcess/WebProcessProxy.h: 15 (WebKit::WebProcessProxy::contextIDForVisibilityPropagation): Deleted. 16 * UIProcess/WebProcessProxy.messages.in: 17 * UIProcess/ios/WKContentView.mm: 18 (-[WKContentView _setupVisibilityPropagationView]): 19 * UIProcess/ios/WebPageProxyIOS.mm: 20 (WebKit::WebPageProxy::didCreateContextForVisibilityPropagation): Deleted. 21 * UIProcess/ios/WebProcessProxyIOS.mm: 22 (WebKit::WebProcessProxy::didCreateContextForVisibilityPropagation): Deleted. 23 * WebProcess/WebPage/WebPage.cpp: 24 (WebKit::m_shrinkToFitContentTimer): 25 * WebProcess/WebPage/WebPage.h: 26 * WebProcess/WebProcess.h: 27 * WebProcess/cocoa/WebProcessCocoa.mm: 28 (WebKit::WebProcess::platformInitializeWebProcess): 29 Move the creation of the visibility propagation context to WebPage instead of WebProcess, 30 because canShowWhileLocked is per-page, not per-process. 31 32 Also, pass canShowWhileLocked into the context creation function for the visibility 33 propagation context, not just RemoteLayerTree contexts. 34 1 35 2019-06-13 Antoine Quint <graouts@apple.com> 2 36 -
trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
r246235 r246413 292 292 #endif // ENABLE(SPEECH_SYNTHESIS) 293 293 294 #if HAVE(VISIBILITY_PROPAGATION_VIEW) 295 void WebPageProxy::didCreateContextForVisibilityPropagation(LayerHostingContextID contextID) 296 { 297 m_contextIDForVisibilityPropagation = contextID; 298 pageClient().didCreateContextForVisibilityPropagation(contextID); 299 } 300 #endif 301 294 302 } // namespace WebKit -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r246347 r246413 1079 1079 #if HAVE(VISIBILITY_PROPAGATION_VIEW) 1080 1080 void didCreateContextForVisibilityPropagation(LayerHostingContextID); 1081 LayerHostingContextID contextIDForVisibilityPropagation() const { return m_contextIDForVisibilityPropagation; } 1081 1082 #endif 1082 1083 … … 2519 2520 #endif 2520 2521 2522 #if HAVE(VISIBILITY_PROPAGATION_VIEW) 2523 LayerHostingContextID m_contextIDForVisibilityPropagation { 0 }; 2524 #endif 2525 2521 2526 HashMap<WebViewDidMoveToWindowObserver*, WeakPtr<WebViewDidMoveToWindowObserver>> m_webViewDidMoveToWindowObservers; 2522 2527 -
trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in
r245998 r246413 569 569 ShowEmojiPicker(WebCore::IntRect caretRect) -> (String result) Async 570 570 #endif 571 572 #if HAVE(VISIBILITY_PROPAGATION_VIEW) 573 DidCreateContextForVisibilityPropagation(WebKit::LayerHostingContextID contextID); 574 #endif 571 575 } -
trunk/Source/WebKit/UIProcess/WebProcessProxy.h
r245868 r246413 302 302 #endif 303 303 304 #if HAVE(VISIBILITY_PROPAGATION_VIEW)305 LayerHostingContextID contextIDForVisibilityPropagation() { return m_contextIDForVisibilityPropagation; }306 #endif307 308 304 #if PLATFORM(IOS_FAMILY) 309 305 void processWasUnexpectedlyUnsuspended(CompletionHandler<void()>&&); … … 352 348 void didCheckProcessLocalPortForActivity(uint64_t callbackIdentifier, bool isLocallyReachable); 353 349 354 #if HAVE(VISIBILITY_PROPAGATION_VIEW)355 void didCreateContextForVisibilityPropagation(LayerHostingContextID);356 #endif357 358 350 bool hasProvisionalPageWithID(WebCore::PageIdentifier) const; 359 351 bool isAllowedToUpdateBackForwardItem(WebBackForwardListItem&) const; … … 462 454 #endif 463 455 464 #if HAVE(VISIBILITY_PROPAGATION_VIEW)465 LayerHostingContextID m_contextIDForVisibilityPropagation { 0 };466 #endif467 468 456 HashMap<String, uint64_t> m_pageURLRetainCountMap; 469 457 -
trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in
r244091 r246413 81 81 #endif 82 82 83 #if HAVE(VISIBILITY_PROPAGATION_VIEW)84 DidCreateContextForVisibilityPropagation(WebKit::LayerHostingContextID contextID);85 #endif86 87 83 #if PLATFORM(IOS_FAMILY) 88 84 ProcessWasUnexpectedlyUnsuspended() -> () Async -
trunk/Source/WebKit/UIProcess/ios/WKContentView.mm
r246228 r246413 195 195 { 196 196 auto processIdentifier = _page->process().processIdentifier(); 197 auto contextID = _page-> process().contextIDForVisibilityPropagation();197 auto contextID = _page->contextIDForVisibilityPropagation(); 198 198 if (!processIdentifier || !contextID) 199 199 return; -
trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
r246347 r246413 85 85 } 86 86 87 #if HAVE(VISIBILITY_PROPAGATION_VIEW)88 void WebPageProxy::didCreateContextForVisibilityPropagation(LayerHostingContextID contextID)89 {90 pageClient().didCreateContextForVisibilityPropagation(contextID);91 }92 #endif93 94 87 void WebPageProxy::getIsSpeaking(CompletionHandler<void(bool)>&& completionHandler) 95 88 { -
trunk/Source/WebKit/UIProcess/ios/WebProcessProxyIOS.mm
r244085 r246413 63 63 } 64 64 65 #if HAVE(VISIBILITY_PROPAGATION_VIEW)66 void WebProcessProxy::didCreateContextForVisibilityPropagation(LayerHostingContextID contextID)67 {68 m_contextIDForVisibilityPropagation = contextID;69 for (auto& page : copyToVectorOf<RefPtr<WebPageProxy>>(m_pageMap.values()))70 page->didCreateContextForVisibilityPropagation(contextID);71 }72 #endif73 74 65 } // namespace WebKit 75 66 -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
r246347 r246413 684 684 #endif 685 685 686 #if HAVE(VISIBILITY_PROPAGATION_VIEW) 687 m_contextForVisibilityPropagation = LayerHostingContext::createForExternalHostingProcess({ 688 m_canShowWhileLocked 689 }); 690 RELEASE_LOG(Process, "Created context with ID %d for visibility propagation from UIProcess", m_contextForVisibilityPropagation->contextID()); 691 send(Messages::WebPageProxy::DidCreateContextForVisibilityPropagation(m_contextForVisibilityPropagation->contextID())); 692 #endif 693 686 694 updateThrottleState(); 687 695 } -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
r246348 r246413 1941 1941 WebCore::DeferrableOneShotTimer m_shrinkToFitContentTimer; 1942 1942 #endif 1943 #if HAVE(VISIBILITY_PROPAGATION_VIEW) 1944 std::unique_ptr<LayerHostingContext> m_contextForVisibilityPropagation; 1945 #endif 1943 1946 }; 1944 1947 -
trunk/Source/WebKit/WebProcess/WebProcess.h
r246388 r246413 532 532 ProcessTaskStateObserver m_taskStateObserver { *this }; 533 533 #endif 534 #if HAVE(VISIBILITY_PROPAGATION_VIEW)535 std::unique_ptr<LayerHostingContext> m_contextForVisibilityPropagation;536 #endif537 534 538 535 enum PageMarkingLayersAsVolatileCounterType { }; -
trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
r245796 r246413 175 175 m_compositingRenderServerPort = WTFMove(parameters.acceleratedCompositingPort); 176 176 177 #if HAVE(VISIBILITY_PROPAGATION_VIEW)178 m_contextForVisibilityPropagation = LayerHostingContext::createForExternalHostingProcess();179 RELEASE_LOG(Process, "Created context with ID %d for visibility propagation from UIProcess", m_contextForVisibilityPropagation->contextID());180 parentProcessConnection()->send(Messages::WebProcessProxy::DidCreateContextForVisibilityPropagation(m_contextForVisibilityPropagation->contextID()), 0);181 #endif182 183 177 WebCore::registerMemoryReleaseNotifyCallbacks(); 184 178 MemoryPressureHandler::ReliefLogger::setLoggingEnabled(parameters.shouldEnableMemoryPressureReliefLogging);
Note: See TracChangeset
for help on using the changeset viewer.