Changeset 74139 in webkit
- Timestamp:
- Dec 15, 2010 1:52:51 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 10 added
- 27 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r74137 r74139 1 2010-12-15 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Anders Carlsson. 4 5 WebKit2: Can't add files to an <input type=file> 6 https://bugs.webkit.org/show_bug.cgi?id=51087 7 8 Add exported function. 9 10 * WebCore.exp.in: 11 1 12 2010-12-15 Andreas Kling <andreas.kling@nokia.com> 2 13 -
trunk/WebCore/WebCore.exp.in
r73941 r74139 224 224 __ZN7WebCore12EventHandler16handleWheelEventERNS_18PlatformWheelEventE 225 225 __ZN7WebCore12EventHandler17scrollRecursivelyENS_15ScrollDirectionENS_17ScrollGranularityEPNS_4NodeE 226 __ZN7WebCore12EventHandler24logicalScrollRecursivelyENS_22ScrollLogicalDirectionENS_17ScrollGranularityEPNS_4NodeE227 226 __ZN7WebCore12EventHandler20hitTestResultAtPointERKNS_8IntPointEbbNS_17HitTestScrollbarsEjRKNS_7IntSizeE 228 227 __ZN7WebCore12EventHandler21handleMousePressEventERKNS_18PlatformMouseEventE 229 228 __ZN7WebCore12EventHandler23handleMouseReleaseEventERKNS_18PlatformMouseEventE 229 __ZN7WebCore12EventHandler24logicalScrollRecursivelyENS_22ScrollLogicalDirectionENS_17ScrollGranularityEPNS_4NodeE 230 230 __ZN7WebCore12EventHandler27capsLockStateMayHaveChangedEv 231 231 __ZN7WebCore12EventHandler7mouseUpEP7NSEvent … … 274 274 __ZN7WebCore12SharedBufferC1EPKci 275 275 __ZN7WebCore12SharedBufferD1Ev 276 __ZN7WebCore12SpellChecker8didCheckEiRKN3WTF6VectorINS_19SpellCheckingResultELm0EEE 276 277 __ZN7WebCore12TextEncodingC1ERKN3WTF6StringE 277 278 __ZN7WebCore12TextIterator11rangeLengthEPKNS_5RangeEb … … 520 521 __ZN7WebCore23overrideDefaultLanguageERKN3WTF6StringE 521 522 __ZN7WebCore24BinaryPropertyListWriter17writePropertyListEv 523 __ZN7WebCore24DocumentMarkerController13removeMarkersENS_14DocumentMarker10MarkerTypeE 522 524 __ZN7WebCore24DocumentMarkerController14markersForNodeEPNS_4NodeE 523 __ZN7WebCore24DocumentMarkerController13removeMarkersENS_14DocumentMarker10MarkerTypeE524 525 __ZN7WebCore24DocumentMarkerController14markersForNodeEPNS_4NodeE 525 526 __ZN7WebCore24DocumentMarkerController23renderedRectsForMarkersENS_14DocumentMarker10MarkerTypeE … … 925 926 __ZN7WebCore9plainTextEPKNS_5RangeENS_20TextIteratorBehaviorE 926 927 __ZN7WebCore9toElementEN3JSC7JSValueE 927 __ZN7WebCore12SpellChecker8didCheckEiRKN3WTF6VectorINS_19SpellCheckingResultELm0EEE928 928 __ZNK3JSC8Bindings10RootObject12globalObjectEv 929 929 __ZNK3WTF6String14createCFStringEv … … 1091 1091 __ZNK7WebCore4KURL11createCFURLEv 1092 1092 __ZNK7WebCore4KURL11isLocalFileEv 1093 __ZNK7WebCore4KURL14fileSystemPathEv 1093 1094 __ZNK7WebCore4KURL17lastPathComponentEv 1094 1095 __ZNK7WebCore4KURL4hostEv -
trunk/WebKit2/ChangeLog
r74134 r74139 1 2010-12-15 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Anders Carlsson. 4 5 WebKit2: Can't add files to an <input type=file> 6 https://bugs.webkit.org/show_bug.cgi?id=51087 7 8 * Scripts/webkit2/messages.py: 9 Adds new types. 10 11 * Shared/API/c/WKBase.h: 12 Adds WKOpenPanelParametersRef and WKOpenPanelResultListenerRef. 13 14 * Shared/APIObject.h: 15 Adds TypeOpenPanelParameters and TypeOpenPanelResultListener. 16 17 * Shared/WebOpenPanelParameters.cpp: Added. 18 (WebKit::WebOpenPanelParameters::create): 19 (WebKit::WebOpenPanelParameters::WebOpenPanelParameters): 20 (WebKit::WebOpenPanelParameters::~WebOpenPanelParameters): 21 (WebKit::WebOpenPanelParameters::Data::encode): 22 (WebKit::WebOpenPanelParameters::Data::decode): 23 * Shared/WebOpenPanelParameters.h: Added. 24 (WebKit::WebOpenPanelParameters::allowMultipleFiles): 25 (WebKit::WebOpenPanelParameters::type): 26 Class representing options one can pass to open panel. 27 28 * UIProcess/API/C/WKAPICast.h: 29 Add casts for WebOpenPanelParameters and WebOpenPanelResultListenerProxy. 30 31 * UIProcess/API/C/WKOpenPanelParameters.cpp: Added. 32 (WKOpenPanelParametersGetTypeID): 33 (WKOpenPanelParametersGetAllowsMultipleFiles): 34 * UIProcess/API/C/WKOpenPanelParameters.h: Added. 35 * UIProcess/API/C/WKOpenPanelResultListener.cpp: Added. 36 (WKOpenPanelResultListenerGetTypeID): 37 (WKOpenPanelResultListenerChooseFiles): 38 (WKOpenPanelResultListenerCancel): 39 * UIProcess/API/C/WKOpenPanelResultListener.h: Added. 40 Add API wrappers. 41 42 * UIProcess/API/C/WKPage.h: 43 Add new UI callback, WKPageRunOpenPanelCallback. 44 45 * UIProcess/API/C/WebKit2.h: 46 Add includes for new API headers. 47 48 * UIProcess/API/qt/qwkpage.cpp: 49 (QWKPage::QWKPage): 50 Stub out the runOpenPanel callback. 51 52 * UIProcess/WebOpenPanelResultListenerProxy.cpp: Added. 53 (WebKit::WebOpenPanelResultListenerProxy::WebOpenPanelResultListenerProxy): 54 (WebKit::WebOpenPanelResultListenerProxy::~WebOpenPanelResultListenerProxy): 55 (WebKit::WebOpenPanelResultListenerProxy::chooseFiles): 56 (WebKit::WebOpenPanelResultListenerProxy::cancel): 57 (WebKit::WebOpenPanelResultListenerProxy::invalidate): 58 * UIProcess/WebOpenPanelResultListenerProxy.h: Added. 59 (WebKit::WebOpenPanelResultListenerProxy::create): 60 (WebKit::WebOpenPanelResultListenerProxy::type): 61 Adds the listener used to choose files for <input type=file> 62 63 * UIProcess/WebPageProxy.cpp: 64 (WebKit::WebPageProxy::runOpenPanel): 65 (WebKit::WebPageProxy::didChooseFilesForOpenPanel): 66 (WebKit::WebPageProxy::didCancelForOpenPanel): 67 * UIProcess/WebPageProxy.h: 68 * UIProcess/WebPageProxy.messages.in: 69 * UIProcess/WebUIClient.cpp: 70 (WebKit::WebUIClient::runOpenPanel): 71 * UIProcess/WebUIClient.h: 72 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 73 (WebKit::WebChromeClient::runOpenPanel): 74 * WebProcess/WebPage/WebOpenPanelResultListener.cpp: Added. 75 (WebKit::WebOpenPanelResultListener::create): 76 (WebKit::WebOpenPanelResultListener::WebOpenPanelResultListener): 77 (WebKit::WebOpenPanelResultListener::~WebOpenPanelResultListener): 78 (WebKit::WebOpenPanelResultListener::didChooseFiles): 79 * WebProcess/WebPage/WebOpenPanelResultListener.h: Added. 80 (WebKit::WebOpenPanelResultListener::disconnectFromPage): 81 * WebProcess/WebPage/WebPage.cpp: 82 (WebKit::WebPage::close): 83 (WebKit::WebPage::setActiveOpenPanelResultListener): 84 (WebKit::WebPage::didChooseFilesForOpenPanel): 85 (WebKit::WebPage::didCancelForOpenPanel): 86 * WebProcess/WebPage/WebPage.h: 87 (WebKit::WebPage::activeOpenPanelResultListener): 88 * WebProcess/WebPage/WebPage.messages.in: 89 Pipe through file choosing. 90 91 * WebKit2.pro: 92 * WebKit2.xcodeproj/project.pbxproj: 93 * win/WebKit2.vcproj: 94 * win/WebKit2Generated.make: 95 Add new files. 96 1 97 2010-12-15 Anders Carlsson <andersca@apple.com> 2 98 -
trunk/WebKit2/Scripts/webkit2/messages.py
r73796 r74139 250 250 def struct_or_class(namespace, type): 251 251 structs = frozenset([ 252 'WebCore::CompositionUnderline', 252 253 'WebCore::KeypressCommand', 253 'WebCore::CompositionUnderline',254 254 'WebCore::PluginInfo', 255 255 'WebCore::ViewportArguments', … … 259 259 'WebKit::PluginProcessCreationParameters', 260 260 'WebKit::WebNavigationDataStore', 261 'WebKit::WebOpenPanelParameters::Data', 261 262 'WebKit::WebPageCreationParameters', 262 263 'WebKit::WebPreferencesStore', … … 412 413 special_cases = { 413 414 'WTF::String': '<wtf/text/WTFString.h>', 415 'WebCore::CompositionUnderline': '<WebCore/Editor.h>', 414 416 'WebCore::KeypressCommand': '<WebCore/KeyboardEvent.h>', 415 417 'WebCore::PluginInfo': '<WebCore/PluginData.h>', 416 'WebCore::CompositionUnderline': '<WebCore/Editor.h>',417 418 'WebKit::WebKeyboardEvent': '"WebEvent.h"', 418 419 'WebKit::WebMouseEvent': '"WebEvent.h"', 420 'WebKit::WebTouchEvent': '"WebEvent.h"', 419 421 'WebKit::WebWheelEvent': '"WebEvent.h"', 420 'WebKit::WebTouchEvent': '"WebEvent.h"',421 422 } 422 423 if type in special_cases: -
trunk/WebKit2/Shared/API/c/WKBase.h
r73965 r74139 74 74 typedef const struct OpaqueWKInspector* WKInspectorRef; 75 75 typedef const struct OpaqueWKNavigationData* WKNavigationDataRef; 76 typedef const struct OpaqueWKOpenPanelParameters* WKOpenPanelParametersRef; 77 typedef const struct OpaqueWKOpenPanelResultListener* WKOpenPanelResultListenerRef; 76 78 typedef const struct OpaqueWKPage* WKPageRef; 77 79 typedef const struct OpaqueWKPageGroup* WKPageGroupRef; -
trunk/WebKit2/Shared/APIObject.h
r73986 r74139 70 70 TypeInspector, 71 71 TypeNavigationData, 72 TypeOpenPanelParameters, 73 TypeOpenPanelResultListener, 72 74 TypePage, 73 75 TypePageGroup, -
trunk/WebKit2/UIProcess/API/C/WKAPICast.h
r73965 r74139 54 54 class WebInspectorProxy; 55 55 class WebNavigationData; 56 class WebOpenPanelParameters; 57 class WebOpenPanelResultListenerProxy; 56 58 class WebPageGroup; 57 59 class WebPageProxy; … … 71 73 WK_ADD_API_MAPPING(WKFrameRef, WebFrameProxy) 72 74 WK_ADD_API_MAPPING(WKNavigationDataRef, WebNavigationData) 75 WK_ADD_API_MAPPING(WKOpenPanelParametersRef, WebOpenPanelParameters) 76 WK_ADD_API_MAPPING(WKOpenPanelResultListenerRef, WebOpenPanelResultListenerProxy) 73 77 WK_ADD_API_MAPPING(WKPageGroupRef, WebPageGroup) 74 78 WK_ADD_API_MAPPING(WKPageRef, WebPageProxy) -
trunk/WebKit2/UIProcess/API/C/WKPage.h
r74000 r74139 155 155 typedef void (*WKPageDidScrollCallback)(WKPageRef page, const void *clientInfo); 156 156 typedef unsigned long long (*WKPageExceededDatabaseQuotaCallback)(WKPageRef page, WKFrameRef frame, WKSecurityOriginRef origin, WKStringRef databaseName, WKStringRef displayName, unsigned long long currentQuota, unsigned long long currentUsage, unsigned long long expectedUsage, const void *clientInfo); 157 157 typedef void (*WKPageRunOpenPanelCallback)(WKPageRef page, WKFrameRef frame, WKOpenPanelParametersRef parameters, WKOpenPanelResultListenerRef listener, const void *clientInfo); 158 158 159 159 struct WKPageUIClient { … … 183 183 WKPageDidScrollCallback pageDidScroll; 184 184 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota; 185 WKPageRunOpenPanelCallback runOpenPanel; 185 186 }; 186 187 typedef struct WKPageUIClient WKPageUIClient; -
trunk/WebKit2/UIProcess/API/C/WebKit2.h
r73965 r74139 44 44 #include <WebKit2/WKNavigationData.h> 45 45 #include <WebKit2/WKNumber.h> 46 #include <WebKit2/WKOpenPanelParameters.h> 47 #include <WebKit2/WKOpenPanelResultListener.h> 46 48 #include <WebKit2/WKPage.h> 47 49 #include <WebKit2/WKPageGroup.h> -
trunk/WebKit2/UIProcess/API/qt/qwkpage.cpp
r73986 r74139 361 361 0, /* didDraw */ 362 362 0, /* pageDidScroll */ 363 0 /* exceededDatabaseQuota */ 363 0, /* exceededDatabaseQuota */ 364 0 /* runOpenPanel */ 364 365 }; 365 366 WKPageSetPageUIClient(pageRef(), &uiClient); -
trunk/WebKit2/UIProcess/WebPageProxy.cpp
r74046 r74139 48 48 #include "WebFormSubmissionListenerProxy.h" 49 49 #include "WebFramePolicyListenerProxy.h" 50 #include "WebOpenPanelResultListenerProxy.h" 50 51 #include "WebPageCreationParameters.h" 51 52 #include "WebPageGroup.h" … … 232 233 #endif 233 234 235 if (m_openPanelResultListener) { 236 m_openPanelResultListener->invalidate(); 237 m_openPanelResultListener = 0; 238 } 239 234 240 m_pageTitle = String(); 235 241 m_toolTip = String(); … … 1252 1258 } 1253 1259 1260 void WebPageProxy::runOpenPanel(uint64_t frameID, const WebOpenPanelParameters::Data& data) 1261 { 1262 if (m_openPanelResultListener) { 1263 m_openPanelResultListener->invalidate(); 1264 m_openPanelResultListener = 0; 1265 } 1266 1267 m_openPanelResultListener = WebOpenPanelResultListenerProxy::create(this); 1268 1269 if (!m_uiClient.runOpenPanel(this, process()->webFrame(frameID), data, m_openPanelResultListener.get())) 1270 didCancelForOpenPanel(); 1271 } 1272 1254 1273 #if PLATFORM(QT) 1255 1274 void WebPageProxy::didChangeContentsSize(const WebCore::IntSize& size) … … 1432 1451 1433 1452 process()->send(Messages::WebPage::DidSelectItemFromActiveContextMenu(item), m_pageID); 1453 } 1454 1455 void WebPageProxy::didChooseFilesForOpenPanel(const Vector<String>& fileURLs) 1456 { 1457 if (!isValid()) 1458 return; 1459 1460 // FIXME: This also needs to send a sandbox extension for these paths. 1461 process()->send(Messages::WebPage::DidChooseFilesForOpenPanel(fileURLs), m_pageID); 1462 1463 m_openPanelResultListener->invalidate(); 1464 m_openPanelResultListener = 0; 1465 } 1466 1467 void WebPageProxy::didCancelForOpenPanel() 1468 { 1469 if (!isValid()) 1470 return; 1471 1472 process()->send(Messages::WebPage::DidCancelForOpenPanel(), m_pageID); 1473 1474 m_openPanelResultListener->invalidate(); 1475 m_openPanelResultListener = 0; 1434 1476 } 1435 1477 … … 1618 1660 #endif 1619 1661 1662 if (m_openPanelResultListener) { 1663 m_openPanelResultListener->invalidate(); 1664 m_openPanelResultListener = 0; 1665 } 1666 1620 1667 m_pageTitle = String(); 1621 1668 m_toolTip = String(); -
trunk/WebKit2/UIProcess/WebPageProxy.h
r74046 r74139 79 79 class PlatformCertificateInfo; 80 80 class StringPairVector; 81 class WebOpenPanelResultListenerProxy; 81 82 class WebBackForwardList; 82 83 class WebBackForwardListItem; … … 271 272 #endif 272 273 274 // Called by the WebContextMenuProxy. 273 275 void contextMenuItemSelected(const WebContextMenuItemData&); 276 277 // Called by the WebOpenPanelResultListenerProxy. 278 void didChooseFilesForOpenPanel(const Vector<String>&); 279 void didCancelForOpenPanel(); 274 280 275 281 WebPageCreationParameters creationParameters(const WebCore::IntSize&) const; … … 339 345 void didChangeViewportData(const WebCore::ViewportArguments&); 340 346 void pageDidScroll(); 347 void runOpenPanel(uint64_t frameID, const WebOpenPanelParameters::Data&); 348 341 349 #if ENABLE(TILED_BACKING_STORE) 342 350 void pageDidRequestScroll(const WebCore::IntSize&); … … 439 447 RefPtr<WebPopupMenuProxy> m_activePopupMenu; 440 448 RefPtr<WebContextMenuProxy> m_activeContextMenu; 449 RefPtr<WebOpenPanelResultListenerProxy> m_openPanelResultListener; 441 450 442 451 double m_estimatedProgress; -
trunk/WebKit2/UIProcess/WebPageProxy.messages.in
r73968 r74139 51 51 RunBeforeUnloadConfirmPanel(WTF::String message, uint64_t frameID) -> (bool shouldClose) 52 52 PageDidScroll() 53 RunOpenPanel(uint64_t frameID, WebKit::WebOpenPanelParameters::Data parameters) 54 53 55 #if ENABLE(TILED_BACKING_STORE) 54 56 PageDidRequestScroll(WebCore::IntSize delta) -
trunk/WebKit2/UIProcess/WebUIClient.cpp
r73533 r74139 30 30 #include "WKAPICast.h" 31 31 #include "WebNumber.h" 32 #include "WebOpenPanelResultListenerProxy.h" 32 33 #include "WebPageProxy.h" 33 34 #include <WebCore/FloatRect.h> … … 246 247 } 247 248 249 bool WebUIClient::runOpenPanel(WebPageProxy* page, WebFrameProxy* frame, const WebOpenPanelParameters::Data& parameterData, WebOpenPanelResultListenerProxy* listener) 250 { 251 if (!m_client.runOpenPanel) 252 return false; 253 254 RefPtr<WebOpenPanelParameters> parameters = WebOpenPanelParameters::create(parameterData); 255 m_client.runOpenPanel(toAPI(page), toAPI(frame), toAPI(parameters.get()), toAPI(listener), m_client.clientInfo); 256 return true; 257 } 258 248 259 } // namespace WebKit -
trunk/WebKit2/UIProcess/WebUIClient.h
r73533 r74139 30 30 #include "WKPage.h" 31 31 #include "WebEvent.h" 32 #include "WebOpenPanelParameters.h" 32 33 #include <wtf/Forward.h> 33 34 #include <wtf/PassRefPtr.h> … … 46 47 class WebPageProxy; 47 48 class WebSecurityOrigin; 49 class WebOpenPanelResultListenerProxy; 48 50 49 51 class WebUIClient : public APIClient<WKPageUIClient> { … … 81 83 82 84 unsigned long long exceededDatabaseQuota(WebPageProxy*, WebFrameProxy*, WebSecurityOrigin*, const String& databaseName, const String& databaseDisplayName, unsigned long long currentQuota, unsigned long long currentUsage, unsigned long long expectedUsage); 85 86 bool runOpenPanel(WebPageProxy*, WebFrameProxy*, const WebOpenPanelParameters::Data&, WebOpenPanelResultListenerProxy*); 83 87 }; 84 88 -
trunk/WebKit2/WebKit2.pro
r74079 r74139 262 262 Shared/WebNavigationDataStore.h \ 263 263 Shared/WebNumber.h \ 264 Shared/WebOpenPanelParameters.h \ 264 265 Shared/WebPageCreationParameters.h \ 265 266 Shared/WebPageGroupData.h \ … … 289 290 UIProcess/API/C/WKFramePolicyListener.h \ 290 291 UIProcess/API/C/WKInspector.h \ 292 UIProcess/API/C/WKOpenPanelParameters.h \ 293 UIProcess/API/C/WKOpenPanelResultListener.h \ 291 294 UIProcess/API/C/WKNavigationData.h \ 292 295 UIProcess/API/C/WKPage.h \ … … 346 349 UIProcess/WebNavigationData.h \ 347 350 UIProcess/WebPageContextMenuClient.h \ 351 UIProcess/WebOpenPanelResultListenerProxy.h \ 348 352 UIProcess/WebPageGroup.h \ 349 353 UIProcess/WebPageProxy.h \ … … 408 412 WebProcess/WebPage/WebFrame.h \ 409 413 WebProcess/WebPage/WebInspector.h \ 414 WebProcess/WebPage/WebOpenPanelResultListener.h \ 410 415 WebProcess/WebPage/WebPage.h \ 411 416 WebProcess/WebPage/WebPageGroupProxy.h \ … … 459 464 Shared/WebKeyboardEvent.cpp \ 460 465 Shared/WebMouseEvent.cpp \ 466 Shared/WebOpenPanelParameters.cpp \ 461 467 Shared/WebPageCreationParameters.cpp \ 462 468 Shared/WebPageGroupData.cpp \ … … 488 494 UIProcess/API/C/WKFramePolicyListener.cpp \ 489 495 UIProcess/API/C/WKInspector.cpp \ 496 UIProcess/API/C/WKOpenPanelParameters.cpp \ 497 UIProcess/API/C/WKOpenPanelResultListener.cpp \ 490 498 UIProcess/API/C/WKNavigationData.cpp \ 491 499 UIProcess/API/C/WKPage.cpp \ … … 537 545 UIProcess/WebNavigationData.cpp \ 538 546 UIProcess/WebPageContextMenuClient.cpp \ 547 UIProcess/WebOpenPanelResultListenerProxy.cpp \ 539 548 UIProcess/WebPageGroup.cpp \ 540 549 UIProcess/WebPageProxy.cpp \ … … 618 627 WebProcess/WebPage/WebFrame.cpp \ 619 628 WebProcess/WebPage/WebInspector.cpp \ 620 WebProcess/WebPage/ qt/WebInspectorQt.cpp \629 WebProcess/WebPage/WebOpenPanelResultListener.cpp \ 621 630 WebProcess/WebPage/WebPage.cpp \ 622 631 WebProcess/WebPage/WebPageGroupProxy.cpp \ 632 WebProcess/WebPage/qt/WebInspectorQt.cpp \ 623 633 WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp \ 624 634 WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp \ -
trunk/WebKit2/WebKit2.xcodeproj/project.pbxproj
r74077 r74139 325 325 BC1B419811D41D570011E8DD /* WKBundlePagePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = BC1B419711D41D570011E8DD /* WKBundlePagePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; 326 326 BC1DD7B2114DC396005ADAF3 /* WebCoreArgumentCoders.h in Headers */ = {isa = PBXBuildFile; fileRef = BC1DD7B1114DC396005ADAF3 /* WebCoreArgumentCoders.h */; }; 327 BC1DFE8F12B31CA8005DF730 /* WKOpenPanelResultListener.h in Headers */ = {isa = PBXBuildFile; fileRef = BC1DFE8D12B31CA8005DF730 /* WKOpenPanelResultListener.h */; settings = {ATTRIBUTES = (Public, ); }; }; 328 BC1DFEA412B31F87005DF730 /* WebOpenPanelResultListenerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = BC1DFEA212B31F87005DF730 /* WebOpenPanelResultListenerProxy.h */; }; 327 329 BC204EE211C83E98008F3375 /* InjectedBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC204EE011C83E98008F3375 /* InjectedBundle.cpp */; }; 328 330 BC204EE311C83E98008F3375 /* InjectedBundle.h in Headers */ = {isa = PBXBuildFile; fileRef = BC204EE111C83E98008F3375 /* InjectedBundle.h */; }; … … 445 447 BC84EB1812A7100C0083F2DA /* WebPreferencesMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC84EB1712A7100C0083F2DA /* WebPreferencesMac.mm */; }; 446 448 BC857E8712B71EBB00EDEB2E /* WebPageProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC857E8512B71EBB00EDEB2E /* WebPageProxyMac.mm */; }; 449 BC857F7E12B82CEE00EDEB2E /* WebOpenPanelResultListenerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC1DFEA312B31F87005DF730 /* WebOpenPanelResultListenerProxy.cpp */; }; 450 BC857F8512B82D0B00EDEB2E /* WebOpenPanelResultListener.h in Headers */ = {isa = PBXBuildFile; fileRef = BC857F8312B82D0B00EDEB2E /* WebOpenPanelResultListener.h */; }; 451 BC857F8612B82D0B00EDEB2E /* WebOpenPanelResultListener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC857F8412B82D0B00EDEB2E /* WebOpenPanelResultListener.cpp */; }; 452 BC857FB512B830E600EDEB2E /* WebOpenPanelParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = BC857FB312B830E600EDEB2E /* WebOpenPanelParameters.h */; }; 453 BC857FB612B830E600EDEB2E /* WebOpenPanelParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC857FB412B830E600EDEB2E /* WebOpenPanelParameters.cpp */; }; 454 BC857FE612B843D800EDEB2E /* WKOpenPanelParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = BC857FE412B843D800EDEB2E /* WKOpenPanelParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; 455 BC85806212B8505700EDEB2E /* WKOpenPanelResultListener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC1DFE8E12B31CA8005DF730 /* WKOpenPanelResultListener.cpp */; }; 456 BC85806312B8505700EDEB2E /* WKOpenPanelParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC857FE512B843D800EDEB2E /* WKOpenPanelParameters.cpp */; }; 447 457 BC8699B5116AADAA002A925B /* WKView.h in Headers */ = {isa = PBXBuildFile; fileRef = BC8699B2116AADAA002A925B /* WKView.h */; settings = {ATTRIBUTES = (Public, ); }; }; 448 458 BC8699B6116AADAA002A925B /* WKView.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8699B3116AADAA002A925B /* WKView.mm */; }; … … 976 986 BC1B419711D41D570011E8DD /* WKBundlePagePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBundlePagePrivate.h; sourceTree = "<group>"; }; 977 987 BC1DD7B1114DC396005ADAF3 /* WebCoreArgumentCoders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreArgumentCoders.h; sourceTree = "<group>"; }; 988 BC1DFE8D12B31CA8005DF730 /* WKOpenPanelResultListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKOpenPanelResultListener.h; sourceTree = "<group>"; }; 989 BC1DFE8E12B31CA8005DF730 /* WKOpenPanelResultListener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKOpenPanelResultListener.cpp; sourceTree = "<group>"; }; 990 BC1DFEA212B31F87005DF730 /* WebOpenPanelResultListenerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebOpenPanelResultListenerProxy.h; sourceTree = "<group>"; }; 991 BC1DFEA312B31F87005DF730 /* WebOpenPanelResultListenerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebOpenPanelResultListenerProxy.cpp; sourceTree = "<group>"; }; 978 992 BC204EE011C83E98008F3375 /* InjectedBundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundle.cpp; sourceTree = "<group>"; }; 979 993 BC204EE111C83E98008F3375 /* InjectedBundle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundle.h; sourceTree = "<group>"; }; … … 1096 1110 BC84EB1712A7100C0083F2DA /* WebPreferencesMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPreferencesMac.mm; sourceTree = "<group>"; }; 1097 1111 BC857E8512B71EBB00EDEB2E /* WebPageProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPageProxyMac.mm; sourceTree = "<group>"; }; 1112 BC857F8312B82D0B00EDEB2E /* WebOpenPanelResultListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebOpenPanelResultListener.h; sourceTree = "<group>"; }; 1113 BC857F8412B82D0B00EDEB2E /* WebOpenPanelResultListener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebOpenPanelResultListener.cpp; sourceTree = "<group>"; }; 1114 BC857FB312B830E600EDEB2E /* WebOpenPanelParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebOpenPanelParameters.h; sourceTree = "<group>"; }; 1115 BC857FB412B830E600EDEB2E /* WebOpenPanelParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebOpenPanelParameters.cpp; sourceTree = "<group>"; }; 1116 BC857FE412B843D800EDEB2E /* WKOpenPanelParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKOpenPanelParameters.h; sourceTree = "<group>"; }; 1117 BC857FE512B843D800EDEB2E /* WKOpenPanelParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKOpenPanelParameters.cpp; sourceTree = "<group>"; }; 1098 1118 BC8699B2116AADAA002A925B /* WKView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKView.h; sourceTree = "<group>"; }; 1099 1119 BC8699B3116AADAA002A925B /* WKView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKView.mm; sourceTree = "<group>"; }; … … 1600 1620 BC5744ED12638FB3006F0F12 /* WebPopupItem.cpp */, 1601 1621 BC5744EE12638FB3006F0F12 /* WebPopupItem.h */, 1622 BC857FB412B830E600EDEB2E /* WebOpenPanelParameters.cpp */, 1623 BC857FB312B830E600EDEB2E /* WebOpenPanelParameters.h */, 1602 1624 C06C6093124C14430001682F /* WebPageCreationParameters.cpp */, 1603 1625 C06C6094124C14430001682F /* WebPageCreationParameters.h */, … … 1842 1864 1C8E281E1275D15400BC7BD0 /* WebInspector.h */, 1843 1865 1C8E2A1C1277833F00BC7BD0 /* WebInspector.messages.in */, 1866 BC857F8412B82D0B00EDEB2E /* WebOpenPanelResultListener.cpp */, 1867 BC857F8312B82D0B00EDEB2E /* WebOpenPanelResultListener.h */, 1844 1868 BC963D6A113DD19200574BE2 /* WebPage.cpp */, 1845 1869 BC032D8B10F437A00058C15A /* WebPage.h */, … … 1916 1940 BCF69FA11176D01400471A52 /* WebNavigationData.cpp */, 1917 1941 BCF69FA01176D01400471A52 /* WebNavigationData.h */, 1942 BC1DFEA312B31F87005DF730 /* WebOpenPanelResultListenerProxy.cpp */, 1943 BC1DFEA212B31F87005DF730 /* WebOpenPanelResultListenerProxy.h */, 1918 1944 5153569A1291B1D2000749DC /* WebPageContextMenuClient.cpp */, 1919 1945 5153569B1291B1D2000749DC /* WebPageContextMenuClient.h */, … … 1976 2002 BCE469571214EDF4000B98EB /* WKFormSubmissionListener.cpp */, 1977 2003 BCE469581214EDF4000B98EB /* WKFormSubmissionListener.h */, 2004 BC1DFE8E12B31CA8005DF730 /* WKOpenPanelResultListener.cpp */, 2005 BC1DFE8D12B31CA8005DF730 /* WKOpenPanelResultListener.h */, 2006 BC857FE512B843D800EDEB2E /* WKOpenPanelParameters.cpp */, 2007 BC857FE412B843D800EDEB2E /* WKOpenPanelParameters.h */, 1978 2008 BCD01398110FA420003B8A67 /* WKFrame.cpp */, 1979 2009 BCD01397110FA420003B8A67 /* WKFrame.h */, … … 2719 2749 F62A76B712B1B25F0005F1B6 /* WebDatabaseManagerMessages.h in Headers */, 2720 2750 F62A76B912B1B25F0005F1B6 /* WebDatabaseManagerProxyMessages.h in Headers */, 2751 BC1DFE8F12B31CA8005DF730 /* WKOpenPanelResultListener.h in Headers */, 2752 BC1DFEA412B31F87005DF730 /* WebOpenPanelResultListenerProxy.h in Headers */, 2753 BC857F8512B82D0B00EDEB2E /* WebOpenPanelResultListener.h in Headers */, 2754 BC857FB512B830E600EDEB2E /* WebOpenPanelParameters.h in Headers */, 2755 BC857FE612B843D800EDEB2E /* WKOpenPanelParameters.h in Headers */, 2721 2756 1A4A9AA812B7E796008FE984 /* WKTextInputWindowController.h in Headers */, 2722 2757 1A4A9C5612B816CF008FE984 /* NetscapePluginModule.h in Headers */, … … 3136 3171 F62A76B812B1B25F0005F1B6 /* WebDatabaseManagerProxyMessageReceiver.cpp in Sources */, 3137 3172 BC857E8712B71EBB00EDEB2E /* WebPageProxyMac.mm in Sources */, 3173 BC857F7E12B82CEE00EDEB2E /* WebOpenPanelResultListenerProxy.cpp in Sources */, 3174 BC857F8612B82D0B00EDEB2E /* WebOpenPanelResultListener.cpp in Sources */, 3175 BC857FB612B830E600EDEB2E /* WebOpenPanelParameters.cpp in Sources */, 3176 BC85806212B8505700EDEB2E /* WKOpenPanelResultListener.cpp in Sources */, 3177 BC85806312B8505700EDEB2E /* WKOpenPanelParameters.cpp in Sources */, 3138 3178 1A4A9AA912B7E796008FE984 /* WKTextInputWindowController.mm in Sources */, 3139 3179 1A4A9C5512B816CF008FE984 /* NetscapePluginModule.cpp in Sources */, -
trunk/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
r73930 r74139 36 36 #include "WebFrame.h" 37 37 #include "WebFrameLoaderClient.h" 38 #include "WebOpenPanelParameters.h" 39 #include "WebOpenPanelResultListener.h" 38 40 #include "WebPage.h" 39 41 #include "WebPageCreationParameters.h" … … 509 511 } 510 512 511 void WebChromeClient::runOpenPanel(Frame*, PassRefPtr<FileChooser>) 512 { 513 notImplemented(); 513 void WebChromeClient::runOpenPanel(Frame* frame, PassRefPtr<FileChooser> prpFileChooser) 514 { 515 if (m_page->activeOpenPanelResultListener()) 516 return; 517 518 RefPtr<FileChooser> fileChooser = prpFileChooser; 519 520 m_page->setActiveOpenPanelResultListener(WebOpenPanelResultListener::create(m_page, fileChooser.get())); 521 522 WebOpenPanelParameters::Data parameters; 523 parameters.allowMultipleFiles = fileChooser->allowsMultipleFiles(); 524 #if ENABLE(DIRECTORY_UPLOAD) 525 parameters.allowsDirectoryUpload = fileChooser->allowsDirectoryUpload(); 526 #else 527 parameters.allowsDirectoryUpload = false; 528 #endif 529 parameters.acceptTypes = fileChooser->acceptTypes(); 530 parameters.filenames = fileChooser->filenames(); 531 532 m_page->send(Messages::WebPageProxy::RunOpenPanel(static_cast<WebFrameLoaderClient*>(frame->loader()->client())->webFrame()->frameID(), parameters)); 514 533 } 515 534 -
trunk/WebKit2/WebProcess/WebPage/WebPage.cpp
r74131 r74139 43 43 #include "WebContextMessages.h" 44 44 #include "WebCoreArgumentCoders.h" 45 #include "WebOpenPanelResultListener.h" 45 46 #include "WebDragClient.h" 46 47 #include "WebEditorClient.h" … … 329 330 } 330 331 332 if (m_activeOpenPanelResultListener) { 333 m_activeOpenPanelResultListener->disconnectFromPage(); 334 m_activeOpenPanelResultListener = 0; 335 } 336 331 337 m_sandboxExtensionTracker.invalidate(); 332 338 … … 1066 1072 } 1067 1073 1074 void WebPage::setActiveOpenPanelResultListener(PassRefPtr<WebOpenPanelResultListener> openPanelResultListener) 1075 { 1076 m_activeOpenPanelResultListener = openPanelResultListener; 1077 } 1078 1068 1079 bool WebPage::findStringFromInjectedBundle(const String& target, FindOptions options) 1069 1080 { … … 1093 1104 m_activePopupMenu->didChangeSelectedIndex(newIndex); 1094 1105 m_activePopupMenu = 0; 1106 } 1107 1108 void WebPage::didChooseFilesForOpenPanel(const Vector<String>& files) 1109 { 1110 if (!m_activeOpenPanelResultListener) 1111 return; 1112 1113 m_activeOpenPanelResultListener->didChooseFiles(files); 1114 m_activeOpenPanelResultListener = 0; 1115 } 1116 1117 void WebPage::didCancelForOpenPanel() 1118 { 1119 m_activeOpenPanelResultListener = 0; 1095 1120 } 1096 1121 -
trunk/WebKit2/WebProcess/WebPage/WebPage.h
r74131 r74139 78 78 class WebKeyboardEvent; 79 79 class WebMouseEvent; 80 class WebOpenPanelResultListener; 80 81 class WebPageGroupProxy; 81 82 class WebPopupMenu; … … 137 138 138 139 void setActivePopupMenu(WebPopupMenu*); 140 141 WebOpenPanelResultListener* activeOpenPanelResultListener() const { return m_activeOpenPanelResultListener.get(); } 142 void setActiveOpenPanelResultListener(PassRefPtr<WebOpenPanelResultListener>); 139 143 140 144 // -- Called from WebProcess. … … 328 332 void didChangeSelectedIndexForActivePopupMenu(int32_t newIndex); 329 333 334 void didChooseFilesForOpenPanel(const Vector<String>&); 335 void didCancelForOpenPanel(); 336 330 337 #if ENABLE(CONTEXT_MENUS) 331 338 void didSelectItemFromActiveContextMenu(const WebContextMenuItemData&); … … 390 397 RefPtr<WebPopupMenu> m_activePopupMenu; 391 398 RefPtr<WebContextMenu> m_contextMenu; 399 RefPtr<WebOpenPanelResultListener> m_activeOpenPanelResultListener; 392 400 393 401 SandboxExtensionTracker m_sandboxExtensionTracker; -
trunk/WebKit2/WebProcess/WebPage/WebPage.messages.in
r74046 r74139 55 55 RunJavaScriptInMainFrame(WTF::String script, uint64_t callbackID) 56 56 57 58 57 PreferencesDidChange(WebKit::WebPreferencesStore store) 59 58 … … 92 91 DidSelectItemFromActiveContextMenu(WebKit::WebContextMenuItemData menuItem); 93 92 93 # Open panel. 94 DidChooseFilesForOpenPanel(Vector<WTF::String> fileURLs) 95 DidCancelForOpenPanel() 96 94 97 SetWindowResizerSize(WebCore::IntSize intersectsView) 95 98 … … 104 107 FirstRectForCharacterRange(uint64_t location, uint64_t length) -> (WebCore::IntRect resultRect) 105 108 #endif 106 // This is a dummy message to avoid breaking the build for platforms that don't require 107 // synchronous messages. 108 Dummy() -> (bool dummyReturn) 109 109 110 #if PLATFORM(QT) 110 111 FindZoomableAreaForPoint(WebCore::IntPoint point) 111 112 #endif 113 114 // This is a dummy message to avoid breaking the build for platforms that don't require 115 // synchronous messages. 116 Dummy() -> (bool dummyReturn) 112 117 } -
trunk/WebKit2/win/WebKit2.vcproj
r74073 r74139 572 572 </File> 573 573 <File 574 RelativePath="..\Shared\WebOpenPanelParameters.h" 575 > 576 </File> 577 <File 578 RelativePath="..\Shared\WebOpenPanelParameters.h" 579 > 580 </File> 581 <File 574 582 RelativePath="..\Shared\WebPageCreationParameters.cpp" 575 583 > … … 1363 1371 </File> 1364 1372 <File 1373 RelativePath="..\WebProcess\WebPage\WebOpenPanelResultListener.cpp" 1374 > 1375 </File> 1376 <File 1377 RelativePath="..\WebProcess\WebPage\WebOpenPanelResultListener.h" 1378 > 1379 </File> 1380 <File 1365 1381 RelativePath="..\WebProcess\WebPage\WebPage.cpp" 1366 1382 > … … 2064 2080 </File> 2065 2081 <File 2082 RelativePath="..\UIProcess\WebOpenPanelResultListenerProxy.cpp" 2083 > 2084 </File> 2085 <File 2086 RelativePath="..\UIProcess\WebOpenPanelResultListenerProxy.h" 2087 > 2088 </File> 2089 <File 2066 2090 RelativePath="..\UIProcess\WebPageContextMenuClient.cpp" 2067 2091 > … … 2271 2295 <File 2272 2296 RelativePath="..\UIProcess\API\C\WKNavigationData.h" 2297 > 2298 </File> 2299 <File 2300 RelativePath="..\UIProcess\API\C\WKOpenPanelParameters.cpp" 2301 > 2302 </File> 2303 <File 2304 RelativePath="..\UIProcess\API\C\WKOpenPanelParameters.h" 2305 > 2306 </File> 2307 <File 2308 RelativePath="..\UIProcess\API\C\WKOpenPanelResultListener.cpp" 2309 > 2310 </File> 2311 <File 2312 RelativePath="..\UIProcess\API\C\WKOpenPanelResultListener.h" 2273 2313 > 2274 2314 </File> -
trunk/WebKit2/win/WebKit2Generated.make
r73965 r74139 50 50 xcopy /y /d "..\UIProcess\API\C\WKNativeEvent.h" "$(WEBKITOUTPUTDIR)\include\WebKit2" 51 51 xcopy /y /d "..\UIProcess\API\C\WKNavigationData.h" "$(WEBKITOUTPUTDIR)\include\WebKit2" 52 xcopy /y /d "..\UIProcess\API\C\WKOpenPanelParameters.h" "$(WEBKITOUTPUTDIR)\include\WebKit2" 53 xcopy /y /d "..\UIProcess\API\C\WKOpenPanelResultListener.h" "$(WEBKITOUTPUTDIR)\include\WebKit2" 52 54 xcopy /y /d "..\UIProcess\API\C\WKPage.h" "$(WEBKITOUTPUTDIR)\include\WebKit2" 53 55 xcopy /y /d "..\UIProcess\API\C\WKPageGroup.h" "$(WEBKITOUTPUTDIR)\include\WebKit2" -
trunk/WebKitTools/ChangeLog
r74138 r74139 1 2010-12-15 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Anders Carlsson. 4 5 WebKit2: Can't add files to an <input type=file> 6 https://bugs.webkit.org/show_bug.cgi?id=51087 7 8 * MiniBrowser/mac/BrowserWindowController.m: 9 (runOpenPanel): 10 (-[BrowserWindowController awakeFromNib]): 11 Add simple implementation of runOpenPanel callback. 12 13 * MiniBrowser/win/BrowserView.cpp: 14 (BrowserView::create): 15 * WebKitTestRunner/TestController.cpp: 16 (WTR::createOtherPage): 17 (WTR::TestController::initialize): 18 Stub out runOpenPanel callback. 19 1 20 2010-12-14 Eric Seidel <eric@webkit.org> 2 21 -
trunk/WebKitTools/MiniBrowser/mac/BrowserWindowController.m
r73965 r74139 534 534 535 535 return button == NSAlertFirstButtonReturn; 536 } 537 538 static void runOpenPanel(WKPageRef page, WKFrameRef frame, WKOpenPanelParametersRef parameters, WKOpenPanelResultListenerRef listener, const void* clientInfo) 539 { 540 NSOpenPanel *openPanel = [NSOpenPanel openPanel]; 541 [openPanel setAllowsMultipleSelection:WKOpenPanelParametersGetAllowsMultipleFiles(parameters)]; 542 543 WKRetain(listener); 544 545 [openPanel beginSheetModalForWindow:[(BrowserWindowController *)clientInfo window] completionHandler:^(NSInteger result) { 546 if (result == NSFileHandlingPanelOKButton) { 547 WKMutableArrayRef fileURLs = WKMutableArrayCreate(); 548 549 NSURL *nsURL; 550 for (nsURL in [openPanel URLs]) { 551 WKURLRef wkURL = WKURLCreateWithCFURL((CFURLRef)nsURL); 552 WKArrayAppendItem(fileURLs, wkURL); 553 WKRelease(wkURL); 554 } 555 556 WKOpenPanelResultListenerChooseFiles(listener, fileURLs); 557 558 WKRelease(fileURLs); 559 } else 560 WKOpenPanelResultListenerCancel(listener); 561 562 WKRelease(listener); 563 }]; 536 564 } 537 565 … … 608 636 0, /* didDraw */ 609 637 0, /* pageDidScroll */ 610 0 /* exceededDatabaseQuota */ 638 0, /* exceededDatabaseQuota */ 639 runOpenPanel 611 640 }; 612 641 WKPageSetPageUIClient(_webView.pageRef, &uiClient); -
trunk/WebKitTools/MiniBrowser/win/BrowserView.cpp
r73965 r74139 118 118 0, /* didDraw */ 119 119 0, /* pageDidScroll */ 120 0 /* exceededDatabaseQuota */ 120 0, /* exceededDatabaseQuota */ 121 0 /* runOpenPanel */ 121 122 }; 122 123 -
trunk/WebKitTools/WebKitTestRunner/TestController.cpp
r73976 r74139 137 137 0, // didDraw 138 138 0, // pageDidScroll 139 0 // exceededDatabaseQuota 139 0, // exceededDatabaseQuota 140 0 // runOpenPanel 140 141 }; 141 142 WKPageSetPageUIClient(newPage, &otherPageUIClient); … … 239 240 0, // didDraw 240 241 0, // pageDidScroll 241 0 // exceededDatabaseQuota 242 0, // exceededDatabaseQuota 243 0 // runOpenPanel 242 244 }; 243 245 WKPageSetPageUIClient(m_mainWebView->page(), &pageUIClient);
Note: See TracChangeset
for help on using the changeset viewer.