Bug 32886
Summary: | figure out which behavior is right for plugins/get-url-with-blank-target.html | ||
---|---|---|---|
Product: | WebKit | Reporter: | Dirk Pranke <dpranke> |
Component: | WebKit Misc. | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | eric, fishd, jam, robert |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | OS X 10.5 |
Dirk Pranke
Supposedly plugins/get-url-with-blank-target produces one behavior on Safari/Mac , and platform/chromium/plugins/get-url-with-blank-target produces another on Safari/Win, Chromium, and FF. We should figure out which is "right" and converge.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Robert Hogan
(In reply to comment #0)
> Supposedly plugins/get-url-with-blank-target produces one behavior on
> Safari/Mac , and platform/chromium/plugins/get-url-with-blank-target produces
> another on Safari/Win, Chromium, and FF. We should figure out which is "right"
> and converge.
This test is very Mac-specific.
It's testing the following code in WebKit/mac/Plugins/WebNetscapePluginView.mm:
http://trac.webkit.org/browser/trunk/WebKit/mac/Plugins/WebNetscapePluginView.mm#L1625
This mac-specific behaviour is related to the fact they create a new webview for requests with a "_blank" target, and is the subject of a fixme in that code.
Other ports follow the vanilla code chain, which is as follows:
NPError PluginView::getURLNotify(const char* url, const char* target, void* notifyData)
{
<..>
return load(frameLoadRequest, true, notifyData);
}
void PluginView::performRequest(PluginRequest* request)
{
<..>
m_parentFrame->loader()->load(request->frameLoadRequest().resourceRequest(), targetFrameName, false);
if (request->sendNotification()) {
PluginView::setCurrentPluginView(this);
JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
setCallingPlugin(true);
m_plugin->pluginFuncs()->urlnotify(m_instance, requestURL.string().utf8().data(), NPRES_DONE, request->notifyData());
<..>
}
So this test should probably just be move to LayoutTests/mac/plugins, as it's not relevant to other platforms..
Dirk Pranke
I am not currently working on this, nor do I expect to be in the near future, so I am disclaiming ownership in case someone else wants to take a look.