Skip to content
  • pierre.rossi@gmail.com's avatar
    [WK2] expose element rect for color input type · e2489219
    pierre.rossi@gmail.com authored
    https://bugs.webkit.org/show_bug.cgi?id=91664
    
    Reviewed by Simon Hausmann.
    
    Source/WebKit2:
    
    In the same way we do for select elements already. This allows placing the picker
    in a sensible location.
    
    * UIProcess/API/efl/PageClientImpl.cpp: Update the function's signature.
    (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
    * UIProcess/API/efl/PageClientImpl.h: Ditto.
    (PageClientImpl):
    * UIProcess/API/gtk/PageClientImpl.cpp:
    (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
    * UIProcess/API/gtk/PageClientImpl.h: Ditto.
    (PageClientImpl):
    * UIProcess/API/mac/PageClientImpl.h: Ditto.
    (PageClientImpl):
    * UIProcess/API/mac/PageClientImpl.mm:
    (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
    * UIProcess/API/qt/raw/qrawwebview.cpp:
    (QRawWebViewPrivate::createColorChooserProxy): Ditto.
    * UIProcess/API/qt/raw/qrawwebview_p_p.h: Ditto.
    (QRawWebViewPrivate):
    * UIProcess/PageClient.h: Ditto.
    (PageClient):
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::showColorChooser): Compute the rect mapped to the current view's transform.
    * UIProcess/WebPageProxy.h:
    (WebPageProxy):
    * UIProcess/WebPageProxy.messages.in:
    * UIProcess/qt/QtPageClient.cpp:
    (WebKit::QtPageClient::createColorChooserProxy):
    * UIProcess/qt/QtPageClient.h:
    (QtPageClient):
    * UIProcess/qt/WebColorChooserProxyQt.cpp:
    (ColorChooserContextObject):
    (WebKit::ColorChooserContextObject::ColorChooserContextObject):
    (WebKit::ColorChooserContextObject::elementRect):
    (WebKit::ColorChooserContextObject::accept):
    (WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):
    * UIProcess/qt/WebColorChooserProxyQt.h:
    (WebKit::WebColorChooserProxyQt::create):
    (WebColorChooserProxyQt):
    * UIProcess/win/WebView.cpp:
    (WebKit::WebView::createColorChooserProxy): Update the function's signature.
    * UIProcess/win/WebView.h:
    (WebView): Ditto.
    * WebProcess/WebCoreSupport/WebColorChooser.cpp:
    (WebKit::WebColorChooser::WebColorChooser):
    
    Tools:
    
    Update the QML logic in MiniBrowser to take advantage of this.
    The picker size is now hardcoded and we try to place it below the
    input element if possible.
    
    * MiniBrowser/qt/qml/ColorChooser.qml:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127988 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    e2489219