-
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