]> git.saurik.com Git - wxWidgets.git/commitdiff
Add support for EVT_WEB_VIEW_NEWWINDOW to the OSX WebKit backend.
authorSteve Lamerton <steve.lamerton@gmail.com>
Mon, 25 Jul 2011 13:55:54 +0000 (13:55 +0000)
committerSteve Lamerton <steve.lamerton@gmail.com>
Mon, 25 Jul 2011 13:55:54 +0000 (13:55 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/osx/webview_webkit.mm

index 59ede2dbb475641535be98c5b0afb4115b0eb210..ec4960255295c591a2dbe88d1d71d4974b915001 100644 (file)
@@ -1170,7 +1170,6 @@ wxString nsErrorToWxHtmlError(NSError* error, wxWebNavigationError* out)
                                   frame:(WebFrame *)frame
                        decisionListener:(id<WebPolicyDecisionListener>)listener
 {
-    //wxUnusedVar(sender);
     wxUnusedVar(frame);
 
     wxASSERT(wx_webviewctrls.find(sender) != wx_webviewctrls.end());
@@ -1201,8 +1200,17 @@ wxString nsErrorToWxHtmlError(NSError* error, wxWebNavigationError* out)
                         newFrameName:(NSString *)frameName
                     decisionListener:(id < WebPolicyDecisionListener >)listener
 {
-    wxUnusedVar(sender);
     wxUnusedVar(actionInformation);
+    
+    wxASSERT(wx_webviewctrls.find(sender) != wx_webviewctrls.end());
+    NSString *url = [[request URL] absoluteString];
+    wxString target = wxStringWithNSString([frame name]);
+    wxWebNavigationEvent thisEvent(wxEVT_COMMAND_WEB_VIEW_NEWWINDOW,
+                                   wx_webviewctrls[sender]->GetId(),
+                                   wxStringWithNSString( url ), target, true);
+
+    if (webKitWindow && webKitWindow->GetEventHandler())
+        webKitWindow->GetEventHandler()->ProcessEvent(thisEvent);
 
     [listener ignore];
 }