Title: [96279] trunk/Source/WebKit/mac
Revision
96279
Author
[email protected]
Date
2011-09-28 17:45:26 -0700 (Wed, 28 Sep 2011)

Log Message

ASSERT if WebView's UIDelegate does not implement webView:runOpenPanel
https://bugs.webkit.org/show_bug.cgi?id=69037

Reviewed by Alexey Proskuryakov.

* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::runOpenPanel):
If no delegate is implemented, dismiss the listener
with a cancel. It expects some action.

Modified Paths

Diff

Modified: trunk/Source/WebKit/mac/ChangeLog (96278 => 96279)


--- trunk/Source/WebKit/mac/ChangeLog	2011-09-29 00:45:20 UTC (rev 96278)
+++ trunk/Source/WebKit/mac/ChangeLog	2011-09-29 00:45:26 UTC (rev 96279)
@@ -1,3 +1,15 @@
+2011-09-28  Joseph Pecoraro  <[email protected]>
+
+        ASSERT if WebView's UIDelegate does not implement webView:runOpenPanel
+        https://bugs.webkit.org/show_bug.cgi?id=69037
+
+        Reviewed by Alexey Proskuryakov.
+
+        * WebCoreSupport/WebChromeClient.mm:
+        (WebChromeClient::runOpenPanel):
+        If no delegate is implemented, dismiss the listener
+        with a cancel. It expects some action.
+
 2011-09-28  Anton D'Auria  <[email protected]>
 
         Expose +[WebStorageManager _storageDirectoryPath] as SPI

Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm (96278 => 96279)


--- trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm	2011-09-29 00:45:20 UTC (rev 96278)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm	2011-09-29 00:45:26 UTC (rev 96279)
@@ -740,8 +740,10 @@
     id delegate = [m_webView UIDelegate];
     if ([delegate respondsToSelector:@selector(webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:)])
         CallUIDelegate(m_webView, @selector(webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:), listener, allowMultipleFiles);
+    else if ([delegate respondsToSelector:@selector(webView:runOpenPanelForFileButtonWithResultListener:)])
+        CallUIDelegate(m_webView, @selector(webView:runOpenPanelForFileButtonWithResultListener:), listener);
     else
-        CallUIDelegate(m_webView, @selector(webView:runOpenPanelForFileButtonWithResultListener:), listener);
+        [listener cancel];
     [listener release];
     END_BLOCK_OBJC_EXCEPTIONS;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to