Skip to content
  • aroben@apple.com's avatar
    Make WebCore keep track of the current device scale factor · bfeb8134
    aroben@apple.com authored
    Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
    device scale factor
    
    Reviewed by Darin Adler.
    
    Source/WebCore:
    
    * WebCore.exp.in: Removed Frame::deviceScaleFactorChanged, added Page::setDeviceScaleFactor.
    
    * css/MediaQueryEvaluator.cpp:
    (WebCore::device_pixel_ratioMediaFeatureEval):
    * html/HTMLCanvasElement.cpp:
    (WebCore::HTMLCanvasElement::HTMLCanvasElement):
    * page/DOMWindow.cpp:
    (WebCore::DOMWindow::devicePixelRatio):
    * rendering/RenderInline.cpp:
    (WebCore::RenderInline::addDashboardRegions):
    * rendering/RenderLayerCompositor.cpp:
    (WebCore::RenderLayerCompositor::deviceScaleFactor):
    * rendering/RenderObject.cpp:
    (WebCore::RenderObject::addDashboardRegions):
    Changed to get the device scale factor from Page.
    
    * loader/EmptyClients.h:
    * page/Chrome.cpp:
    * page/Chrome.h:
    * page/ChromeClient.h:
    Removed Chrome[Client]::deviceScaleFactor.
    
    * page/Frame.cpp:
    * page/Frame.h:
    Removed deviceScaleFactorChanged. Made deviceOrPageScaleFactorChanged public.
    
    * page/Page.cpp:
    (WebCore::Page::Page): Initialize m_deviceScaleFactor.
    (WebCore::Page::setDeviceScaleFactor): Added. Code came from
    Frame::deviceScaleFactorChanged.
    
    * page/Page.h: Added m_deviceScaleFactor.
    (WebCore::Page::deviceScaleFactor): Added simple getter.
    
    Source/WebKit/chromium:
    
    * src/ChromeClientImpl.cpp:
    * src/ChromeClientImpl.h:
    Removed deviceScaleFactor.
    
    Source/WebKit/efl:
    
    * WebCoreSupport/ChromeClientEfl.cpp:
    * WebCoreSupport/ChromeClientEfl.h:
    Removed deviceScaleFactor.
    
    Source/WebKit/gtk:
    
    * WebCoreSupport/ChromeClientGtk.cpp:
    * WebCoreSupport/ChromeClientGtk.h:
    Removed deviceScaleFactor.
    
    Source/WebKit/haiku:
    
    * WebCoreSupport/ChromeClientHaiku.cpp:
    * WebCoreSupport/ChromeClientHaiku.h:
    Removed deviceScaleFactor.
    
    Source/WebKit/mac:
    
    * WebCoreSupport/WebChromeClient.h:
    * WebCoreSupport/WebChromeClient.mm:
    Moved code to calculate the device scale factor from here...
    
    * WebView/WebView.mm:
    (-[WebView _deviceScaleFactor]):
    ...to here.
    
    (-[WebView _windowDidChangeResolution:]): Now calls Page::setDeviceScaleFactor.
    
    Source/WebKit/qt:
    
    * Api/qwebpage.cpp:
    (QWebPagePrivate::QWebPagePrivate): Removed pixelRatio.
    (QWebPage::viewportAttributesForSize): Now calls Page::setDeviceScaleFactor.
    
    * Api/qwebpage_p.h: Removed pixelRatio.
    
    * WebCoreSupport/ChromeClientQt.cpp:
    * WebCoreSupport/ChromeClientQt.h:
    Removed deviceScaleFactor.
    
    Source/WebKit/win:
    
    * WebCoreSupport/WebChromeClient.cpp:
    * WebCoreSupport/WebChromeClient.h:
    Removed deviceScaleFactor.
    
    Source/WebKit/wince:
    
    * WebCoreSupport/ChromeClientWinCE.cpp:
    * WebCoreSupport/ChromeClientWinCE.h:
    Removed deviceScaleFactor.
    
    Source/WebKit/wx:
    
    * WebKitSupport/ChromeClientWx.cpp:
    * WebKitSupport/ChromeClientWx.h:
    Removed deviceScaleFactor.
    
    Source/WebKit2:
    
    * WebProcess/WebCoreSupport/WebChromeClient.cpp:
    * WebProcess/WebCoreSupport/WebChromeClient.h:
    Removed deviceScaleFactor.
    
    * WebProcess/WebPage/DrawingAreaImpl.cpp:
    (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
    (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
    (WebKit::DrawingAreaImpl::display):
    * WebProcess/WebPage/FindController.cpp:
    (WebKit::FindController::updateFindIndicator):
    (WebKit::FindController::hideFindIndicator):
    * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
    (WebKit::LayerTreeHostCA::deviceScaleFactor):
    Changed to get the device scale factor from WebCore.
    
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::WebPage):
    (WebKit::WebPage::setDeviceScaleFactor):
    * WebProcess/WebPage/WebPage.h:
    Removed m_deviceScaleFactor. We always get the scale factor from WebCore now.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@93303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    bfeb8134