Skip to content
  • dglazkov@chromium.org's avatar
    2011-06-22 Dimitri Glazkov <dglazkov@chromium.org> · c9c5964a
    dglazkov@chromium.org authored
            Reviewed by Kent Tamura.
    
            Move file-choosing and icon-loading management to FileInputType
            https://bugs.webkit.org/show_bug.cgi?id=62069
    
            1) Moved the duties of FileChooserClient and FileIconLoaderClient from
            RenderFileUploadControl to FileInputType, along with all of the
            supporting functions.
    
            2) Moved Icon ownership to FileInputType and exposed accessor on
            HTMInputElement to allow RenderFileUploadControl to query current icon.
    
            As a result, RenderFileUploadControl is now completely stateless, which is
            neat and clean.
    
            Refactoring, covered by existing tests.
    
            * html/FileInputType.cpp:
            (WebCore::FileInputType::handleDOMActivateEvent): Moved logic here from RenderFileUploadControl.
            (WebCore::FileInputType::requestIcon): Ditto.
            (WebCore::FileInputType::filesChosen): Ditto.
            (WebCore::FileInputType::receiveDropForDirectoryUpload): Ditto.
            (WebCore::FileInputType::updateRendering): Ditto.
            (WebCore::FileInputType::chrome): Ditto.
            (WebCore::FileInputType::receiveDroppedFiles): Ditto.
            (WebCore::FileInputType::icon): Added.
            * html/FileInputType.h:
            * html/HTMLInputElement.cpp:
            (WebCore::HTMLInputElement::setValueFromRenderer): Updated comment.
            (WebCore::HTMLInputElement::receiveDroppedFiles): Added to replace setFileListFromRenderer.
            (WebCore::HTMLInputElement::icon): Added.
            * html/HTMLInputElement.h:
            * html/InputType.cpp:
            (WebCore::InputType::receiveDroppedFiles): Added.
            (WebCore::InputType::icon): Added.
            * html/InputType.h:
            * page/DragController.cpp:
            (WebCore::DragController::concludeEditDrag): Changed to use HTMLInputElement. Ahh, nice and clean!
            * rendering/RenderFileUploadControl.cpp:
            (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed code that is no longer necessary.
            (WebCore::RenderFileUploadControl::updateFromElement): Ditto.
            (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use HTMLInputElement icon accessor.
            (WebCore::RenderFileUploadControl::paintObject): Ditto.
            * rendering/RenderFileUploadControl.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@89535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    c9c5964a