Well I thought I'd answer my own question here for posterity. I did
a lot of digging around with breakpoints in the Webkit source and
found out what's going on.
Basically, I needed to implement the UI delegate method
webView:createWebViewWithRequest: since what was happening is that
the Flash content was asking for a URL to be loaded at the "_blank"
frame.
Since my goal was to pass the URL to NSWorkspace, I still had a bit
of trickery. The above method actually passes in a nil for the
NSURLRequest parameter, so I couldn't just grab the URL right there.
So what I wound up doing was returning a new "proxy" WebView and
WebFrame that responded to just the bare minumum methods needed:
mainFrame, _setTopLevelFrameName:, _UIDelegateForwarder, and
loadRequest: ... the latter is where I then actually passed off the
URL to be opened by NSWorkspace.
Kind of a hack, but it worked. No wonder nobody had an easy answer
for me!
On Oct 15, 2005, at 9:41 PM, Dan Wood wrote:
I have a webkit application playing embedded Flash content which,
under Safari, open external URLs (sometimes in a separate window,
if that matters.)
I want to intercept those calls -- I was trying
webView:decidePolicyForNavigationAction:request:frame:decisionListener
: and
webView:decidePolicyForNewWindowAction:request:newFrameName:decisionLi
stener:
-- but these aren't invoked.
Any idea how to catch and process the clicks? (My goal is to send
them to open with NSWorkspace methods...)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webkitsdk-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webkitsdk-dev/email@hidden