-
weinig@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=51087 Reviewed by Anders Carlsson. WebCore: Add exported function. * WebCore.exp.in: WebKit2: * Scripts/webkit2/messages.py: Adds new types. * Shared/API/c/WKBase.h: Adds WKOpenPanelParametersRef and WKOpenPanelResultListenerRef. * Shared/APIObject.h: Adds TypeOpenPanelParameters and TypeOpenPanelResultListener. * Shared/WebOpenPanelParameters.cpp: Added. (WebKit::WebOpenPanelParameters::create): (WebKit::WebOpenPanelParameters::WebOpenPanelParameters): (WebKit::WebOpenPanelParameters::~WebOpenPanelParameters): (WebKit::WebOpenPanelParameters::Data::encode): (WebKit::WebOpenPanelParameters::Data::decode): * Shared/WebOpenPanelParameters.h: Added. (WebKit::WebOpenPanelParameters::allowMultipleFiles): (WebKit::WebOpenPanelParameters::type): Class representing options one can pass to open panel. * UIProcess/API/C/WKAPICast.h: Add casts for WebOpenPanelParameters and WebOpenPanelResultListenerProxy. * UIProcess/API/C/WKOpenPanelParameters.cpp: Added. (WKOpenPanelParametersGetTypeID): (WKOpenPanelParametersGetAllowsMultipleFiles): * UIProcess/API/C/WKOpenPanelParameters.h: Added. * UIProcess/API/C/WKOpenPanelResultListener.cpp: Added. (WKOpenPanelResultListenerGetTypeID): (WKOpenPanelResultListenerChooseFiles): (WKOpenPanelResultListenerCancel): * UIProcess/API/C/WKOpenPanelResultListener.h: Added. Add API wrappers. * UIProcess/API/C/WKPage.h: Add new UI callback, WKPageRunOpenPanelCallback. * UIProcess/API/C/WebKit2.h: Add includes for new API headers. * UIProcess/API/qt/qwkpage.cpp: (QWKPage::QWKPage): Stub out the runOpenPanel callback. * UIProcess/WebOpenPanelResultListenerProxy.cpp: Added. (WebKit::WebOpenPanelResultListenerProxy::WebOpenPanelResultListenerProxy): (WebKit::WebOpenPanelResultListenerProxy::~WebOpenPanelResultListenerProxy): (WebKit::WebOpenPanelResultListenerProxy::chooseFiles): (WebKit::WebOpenPanelResultListenerProxy::cancel): (WebKit::WebOpenPanelResultListenerProxy::invalidate): * UIProcess/WebOpenPanelResultListenerProxy.h: Added. (WebKit::WebOpenPanelResultListenerProxy::create): (WebKit::WebOpenPanelResultListenerProxy::type): Adds the listener used to choose files for <input type=file> * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::runOpenPanel): (WebKit::WebPageProxy::didChooseFilesForOpenPanel): (WebKit::WebPageProxy::didCancelForOpenPanel): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::runOpenPanel): * UIProcess/WebUIClient.h: * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::runOpenPanel): * WebProcess/WebPage/WebOpenPanelResultListener.cpp: Added. (WebKit::WebOpenPanelResultListener::create): (WebKit::WebOpenPanelResultListener::WebOpenPanelResultListener): (WebKit::WebOpenPanelResultListener::~WebOpenPanelResultListener): (WebKit::WebOpenPanelResultListener::didChooseFiles): * WebProcess/WebPage/WebOpenPanelResultListener.h: Added. (WebKit::WebOpenPanelResultListener::disconnectFromPage): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::close): (WebKit::WebPage::setActiveOpenPanelResultListener): (WebKit::WebPage::didChooseFilesForOpenPanel): (WebKit::WebPage::didCancelForOpenPanel): * WebProcess/WebPage/WebPage.h: (WebKit::WebPage::activeOpenPanelResultListener): * WebProcess/WebPage/WebPage.messages.in: Pipe through file choosing. * WebKit2.pro: * WebKit2.xcodeproj/project.pbxproj: * win/WebKit2.vcproj: * win/WebKit2Generated.make: Add new files. WebKitTools: * MiniBrowser/mac/BrowserWindowController.m: (runOpenPanel): (-[BrowserWindowController awakeFromNib]): Add simple implementation of runOpenPanel callback. * MiniBrowser/win/BrowserView.cpp: (BrowserView::create): * WebKitTestRunner/TestController.cpp: (WTR::createOtherPage): (WTR::TestController::initialize): Stub out runOpenPanel callback. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74139 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2e7a7cda