diff options
Diffstat (limited to 'webkit/glue/plugins/plugin_host.cc')
-rw-r--r-- | webkit/glue/plugins/plugin_host.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/webkit/glue/plugins/plugin_host.cc b/webkit/glue/plugins/plugin_host.cc index 4cee55d..28aba02 100644 --- a/webkit/glue/plugins/plugin_host.cc +++ b/webkit/glue/plugins/plugin_host.cc @@ -136,8 +136,7 @@ void PluginHost::InitializeHostFuncs() { host_funcs_.convertpoint = NPN_ConvertPoint; host_funcs_.handleevent = NPN_HandleEvent; host_funcs_.unfocusinstance = NPN_UnfocusInstance; - // TODO: Implement redirect handling: http://crbug.com/63030 - host_funcs_.urlredirectresponse = NULL; + host_funcs_.urlredirectresponse = NPN_URLRedirectResponse; } void PluginHost::PatchNPNetscapeFuncs(NPNetscapeFuncs* overrides) { @@ -1102,5 +1101,11 @@ NPBool NPN_UnfocusInstance(NPP id, NPFocusDirection direction) { return false; } +void NPN_URLRedirectResponse(NPP instance, void* notify_data, NPBool allow) { + scoped_refptr<NPAPI::PluginInstance> plugin(FindInstance(instance)); + if (plugin.get()) { + plugin->URLRedirectResponse(!!allow, notify_data); + } +} } // extern "C" |