Skip to content
  • weinig@apple.com's avatar
    Add ChromeClient function to paint custom overhang areas. · 1172e012
    weinig@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=53639
    
    Reviewed by Beth Dakin.
    
    Source/WebCore: 
    
    * page/Chrome.cpp:
    (WebCore::ChromeClient::paintCustomOverhangArea):
    * page/ChromeClient.h:
    Add ChromeClient function.
    
    * page/FrameView.cpp:
    (WebCore::FrameView::paintOverhangAreas):
    * page/FrameView.h:
    Call out the the ChromeClient, call ScrollView base implementation
    if the ChromeClient returns false.
    
    * platform/ScrollView.cpp:
    (WebCore::ScrollView::paintOverhangAreas):
    * platform/ScrollView.h:
    Add dirty rect for use when painting overhang areas.
    
    Source/WebKit2: 
    
    * Shared/API/c/WKBase.h:
    * Shared/API/c/WKGraphicsContext.cpp: Added.
    (WKGraphicsContextGetTypeID):
    * Shared/API/c/WKGraphicsContext.h: Added.
    * Shared/API/c/WKSharedAPICast.h:
    * Shared/API/c/cg/WKGraphicsContextCG.cpp: Added.
    (WKGraphicsContextGetCGContext):
    * Shared/API/c/cg/WKGraphicsContextCG.h: Added.
    * Shared/APIObject.h:
    * Shared/WebGraphicsContext.cpp: Added.
    (WebKit::WebGraphicsContext::WebGraphicsContext):
    * Shared/WebGraphicsContext.h: Added.
    (WebKit::WebGraphicsContext::create):
    (WebKit::WebGraphicsContext::platformContext):
    (WebKit::WebGraphicsContext::type):
    Add WebGraphicsContext API type.
    
    * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
    * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
    (WebKit::InjectedBundlePageUIClient::pageDidScroll):
    (WebKit::InjectedBundlePageUIClient::shouldPaintCustomOverhangArea):
    (WebKit::InjectedBundlePageUIClient::paintCustomOverhangArea):
    * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
    * WebProcess/WebCoreSupport/WebChromeClient.cpp:
    (WebKit::WebChromeClient::paintCustomOverhangArea):
    * WebProcess/WebCoreSupport/WebChromeClient.h:
    Pipe paintCustomOverhangArea to the InjectedBundlePageUIClient.
    
    * UIProcess/API/C/WebKit2.h:
    * WebKit2.pro:
    * WebKit2.xcodeproj/project.pbxproj:
    * win/WebKit2.vcproj:
    * win/WebKit2Generated.make:
    Add new files.
    
    Tools: 
    
    * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
    (WTR::InjectedBundlePage::InjectedBundlePage):
    Stub out new callback.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    1172e012