summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins/plugin_host.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/plugins/plugin_host.cc')
-rw-r--r--webkit/glue/plugins/plugin_host.cc9
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"