Changeset 253634 in webkit
- Timestamp:
- Dec 17, 2019 11:25:54 AM (4 years ago)
- Location:
- trunk/Source
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r253633 r253634 220 220 * platform/graphics/Image.h: 221 221 (WebCore::Image::orientation const): 222 223 2019-12-16 Simon Fraser <simon.fraser@apple.com> 224 225 Change 'delegatesPageScaling' from a Setting to a flag on ScrollView 226 https://bugs.webkit.org/show_bug.cgi?id=205319 227 228 Reviewed by Tim Horton. 229 230 delegatesPageScaling() is never toggled at runtime (even by tests), and it should 231 be a flag on FrameView just like delegatesScrolling (maybe in future the flags can merge). 232 233 So remove the Setting, and have DrawingArea control whether page scaling is delegated. 234 235 In WebKit1, WebFrameLoaderClient::transitionToCommittedForNewPage() turns on delegated 236 page scaling for iOS. 237 238 * page/Frame.cpp: 239 (WebCore::Frame::frameScaleFactor const): 240 * page/FrameSnapshotting.cpp: 241 (WebCore::snapshotFrameRectWithClip): 242 * page/FrameView.cpp: 243 (WebCore::FrameView::visibleContentScaleFactor const): 244 * page/Page.cpp: 245 (WebCore::Page::setPageScaleFactor): 246 * page/Settings.yaml: 247 * platform/ScrollView.cpp: 248 (WebCore::ScrollView::setDelegatesPageScaling): 249 * platform/ScrollView.h: 250 (WebCore::ScrollView::delegatesPageScaling const): 251 * rendering/RenderLayerCompositor.cpp: 252 (WebCore::RenderLayerCompositor::addToOverlapMap const): 222 253 223 254 2019-12-16 Ryosuke Niwa <rniwa@webkit.org> -
trunk/Source/WebCore/page/Frame.cpp
r253519 r253634 920 920 921 921 // Main frame is scaled with respect to he container but inner frames are not scaled with respect to the main frame. 922 if (!page || &page->mainFrame() != this || settings().delegatesPageScaling())922 if (!page || !isMainFrame()) 923 923 return 1; 924 925 if (FrameView* view = this->view()) { 926 if (view->delegatesPageScaling()) 927 return 1; 928 } 924 929 925 930 return page->pageScaleFactor(); -
trunk/Source/WebCore/page/FrameSnapshotting.cpp
r247846 r253634 106 106 float scaleFactor = frame.page()->deviceScaleFactor(); 107 107 108 if (frame. settings().delegatesPageScaling())108 if (frame.view()->delegatesPageScaling()) 109 109 scaleFactor *= frame.page()->pageScaleFactor(); 110 110 -
trunk/Source/WebCore/page/FrameView.cpp
r253308 r253634 3710 3710 float FrameView::visibleContentScaleFactor() const 3711 3711 { 3712 if (!frame().isMainFrame() || !frame().settings().delegatesPageScaling()) 3712 // FIXME: This !delegatesPageScaling() is confusing. This function should probably be renamed to delegatedPageScaleFactor(). 3713 if (!frame().isMainFrame() || !delegatesPageScaling()) 3713 3714 return 1; 3714 3715 -
trunk/Source/WebCore/page/Page.cpp
r253308 r253634 1032 1032 1033 1033 Document* document = mainFrame().document(); 1034 FrameView*view = document->view();1034 RefPtr<FrameView> view = document->view(); 1035 1035 1036 1036 if (scale == m_pageScaleFactor) { 1037 1037 if (view && view->scrollPosition() != origin) { 1038 if (! m_settings->delegatesPageScaling())1038 if (!view->delegatesPageScaling()) 1039 1039 document->updateLayoutIgnorePendingStylesheets(); 1040 1040 … … 1060 1060 m_pageScaleFactor = scale; 1061 1061 1062 if (! m_settings->delegatesPageScaling()) {1062 if (!view->delegatesPageScaling()) { 1063 1063 view->setNeedsLayoutAfterViewConfigurationChange(); 1064 1064 view->setNeedsCompositingGeometryUpdate(); … … 1076 1076 1077 1077 if (view && view->scrollPosition() != origin) { 1078 if (! m_settings->delegatesPageScaling() && document->renderView() && document->renderView()->needsLayout() && view->didFirstLayout())1078 if (!view->delegatesPageScaling() && document->renderView() && document->renderView()->needsLayout() && view->didFirstLayout()) 1079 1079 view->layoutContext().layout(); 1080 1080 -
trunk/Source/WebCore/page/Settings.yaml
r253316 r253634 380 380 initial: false 381 381 382 delegatesPageScaling:383 initial: false384 385 382 plugInSnapshottingEnabled: 386 383 initial: false -
trunk/Source/WebCore/platform/ScrollView.cpp
r246488 r253634 198 198 } 199 199 200 void ScrollView::setDelegatesPageScaling(bool delegatesPageScaling) 201 { 202 m_delegatesPageScaling = delegatesPageScaling; 203 } 204 200 205 IntPoint ScrollView::contentsScrollPosition() const 201 206 { -
trunk/Source/WebCore/platform/ScrollView.h
r252935 r253634 138 138 WEBCORE_EXPORT void setDelegatesScrolling(bool); 139 139 140 bool delegatesPageScaling() const { return m_delegatesPageScaling; } 141 WEBCORE_EXPORT void setDelegatesPageScaling(bool); 142 140 143 // Overridden by FrameView to create custom CSS scrollbars if applicable. 141 144 virtual Ref<Scrollbar> createScrollbar(ScrollbarOrientation); … … 530 533 bool m_paintsEntireContents { false }; 531 534 bool m_delegatesScrolling { false }; 535 bool m_delegatesPageScaling { false }; 536 532 537 }; // class ScrollView 533 538 -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r252724 r253634 1908 1908 auto clippedBounds = extent.bounds; 1909 1909 if (!clipRect.isInfinite()) { 1910 // On iOS, pageScaleFactor() is not applied by RenderView, so we should not scale here. 1911 if (!m_renderView.settings().delegatesPageScaling()) 1910 // With delegated page scaling, pageScaleFactor() is not applied by RenderView, so we should not scale here. 1911 auto& frameView = m_renderView.frameView(); 1912 if (!frameView.delegatesPageScaling()) 1912 1913 clipRect.scale(pageScaleFactor()); 1913 1914 -
trunk/Source/WebKit/ChangeLog
r253626 r253634 101 101 (WebKit::NetworkResourceLoader::startWithServiceWorker): 102 102 (WebKit::NetworkResourceLoader::serviceWorkerDidNotHandle): 103 104 2019-12-16 Simon Fraser <simon.fraser@apple.com> 105 106 Change 'delegatesPageScaling' from a Setting to a flag on ScrollView 107 https://bugs.webkit.org/show_bug.cgi?id=205319 108 109 Reviewed by Tim Horton. 110 111 delegatesPageScaling() is never toggled at runtime (even by tests), and it should 112 be a flag on FrameView just like delegatesScrolling (maybe in future the flags can merge). 113 114 So remove the Setting, and have DrawingArea control whether page scaling is delegated. 115 116 In WebKit1, WebFrameLoaderClient::transitionToCommittedForNewPage() turns on delegated 117 page scaling for iOS. 118 119 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 120 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 121 * WebProcess/WebPage/DrawingArea.h: 122 (WebKit::DrawingArea::usesDelegatedPageScaling const): 123 * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h: 124 * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: 125 (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): 126 * WebProcess/WebPage/ios/FindControllerIOS.mm: 127 (WebKit::FindIndicatorOverlayClientIOS::drawRect): 103 128 104 129 2019-12-16 Wenson Hsieh <wenson_hsieh@apple.com> -
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
r253559 r253634 1518 1518 auto* drawingArea = webPage->drawingArea(); 1519 1519 view->setViewExposedRect(drawingArea->viewExposedRect()); 1520 if (isMainFrame) 1520 if (isMainFrame) { 1521 1521 view->setDelegatesScrolling(drawingArea->usesDelegatedScrolling()); 1522 view->setDelegatesPageScaling(drawingArea->usesDelegatedPageScaling()); 1523 } 1522 1524 #endif 1523 1525 -
trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.h
r253559 r253634 108 108 virtual bool supportsAsyncScrolling() const { return false; } 109 109 virtual bool usesDelegatedScrolling() const { return false; } 110 virtual bool usesDelegatedPageScaling() const { return false; } 110 111 111 112 virtual bool shouldUseTiledBackingForFrameView(const WebCore::FrameView&) const { return false; } -
trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h
r253559 r253634 81 81 bool supportsAsyncScrolling() const override { return true; } 82 82 bool usesDelegatedScrolling() const override { return true; } 83 bool usesDelegatedPageScaling() const override { return true; } 83 84 84 85 void setLayerTreeStateIsFrozen(bool) override; -
trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm
r253559 r253634 64 64 { 65 65 webPage.corePage()->settings().setForceCompositingMode(true); 66 #if PLATFORM(IOS_FAMILY)67 webPage.corePage()->settings().setDelegatesPageScaling(true);68 #endif69 66 m_rootLayer->setName("drawing area root"); 70 67 -
trunk/Source/WebKit/WebProcess/WebPage/ios/FindControllerIOS.mm
r250779 r253634 63 63 float scaleFactor = m_frame.page()->deviceScaleFactor(); 64 64 65 if (m_frame. settings().delegatesPageScaling())65 if (m_frame.view() && m_frame.view()->delegatesPageScaling()) 66 66 scaleFactor *= m_frame.page()->pageScaleFactor(); 67 67 -
trunk/Source/WebKitLegacy/mac/ChangeLog
r253571 r253634 1 2019-12-16 Simon Fraser <simon.fraser@apple.com> 2 3 Change 'delegatesPageScaling' from a Setting to a flag on ScrollView 4 https://bugs.webkit.org/show_bug.cgi?id=205319 5 6 Reviewed by Tim Horton. 7 8 delegatesPageScaling() is never toggled at runtime (even by tests), and it should 9 be a flag on FrameView just like delegatesScrolling (maybe in future the flags can merge). 10 11 So remove the Setting, and have DrawingArea control whether page scaling is delegated. 12 13 In WebKit1, WebFrameLoaderClient::transitionToCommittedForNewPage() turns on delegated 14 page scaling for iOS. 15 16 * WebCoreSupport/WebFrameLoaderClient.mm: 17 (WebFrameLoaderClient::transitionToCommittedForNewPage): 18 * WebView/WebView.mm: 19 (-[WebView _preferencesChanged:]): 20 1 21 2019-12-16 Antti Koivisto <antti@apple.com> 2 22 -
trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm
r252435 r253634 1474 1474 #if PLATFORM(IOS_FAMILY) 1475 1475 coreView->setDelegatesScrolling(true); 1476 coreView->setDelegatesPageScaling(true); 1476 1477 #endif 1477 1478 coreView->setParentVisible(true); -
trunk/Source/WebKitLegacy/mac/WebView/WebView.mm
r253571 r253634 3045 3045 3046 3046 ASSERT_WITH_MESSAGE(settings.backForwardCacheSupportsPlugins(), "BackForwardCacheSupportsPlugins should be enabled on iOS."); 3047 settings.setDelegatesPageScaling(true);3048 3047 3049 3048 #if ENABLE(TEXT_AUTOSIZING)
Note: See TracChangeset
for help on using the changeset viewer.