Chromium Code Reviews| Index: content/renderer/browser_plugin/browser_plugin_bindings.cc |
| diff --git a/content/renderer/browser_plugin/browser_plugin_bindings.cc b/content/renderer/browser_plugin/browser_plugin_bindings.cc |
| index d8c75ad5bece01eaafc258f690db6a230278023b..20ece6bb205b8f91c32ff1eccaacb00a209ba405 100644 |
| --- a/content/renderer/browser_plugin/browser_plugin_bindings.cc |
| +++ b/content/renderer/browser_plugin/browser_plugin_bindings.cc |
| @@ -40,6 +40,8 @@ namespace { |
| const char kAddEventListener[] = "addEventListener"; |
| const char kRemoveEventListener[] = "removeEventListener"; |
| +const char kReloadMethod[] = "reload"; |
|
Charlie Reis
2012/09/20 00:07:19
nit: Reload before Remove. :)
|
| +const char kStopMethod[] = "stop"; |
| const char kSrcAttribute[] = "src"; |
| BrowserPluginBindings* GetBindings(NPObject* object) { |
| @@ -47,6 +49,14 @@ BrowserPluginBindings* GetBindings(NPObject* object) { |
| message_channel; |
| } |
| +bool IdentifierIsReload(NPIdentifier identifier) { |
| + return WebBindings::getStringIdentifier(kReloadMethod) == identifier; |
| +} |
| + |
| +bool IdentifierIsStop(NPIdentifier identifier) { |
| + return WebBindings::getStringIdentifier(kStopMethod) == identifier; |
| +} |
| + |
| bool IdentifierIsAddEventListener(NPIdentifier identifier) { |
| return WebBindings::getStringIdentifier(kAddEventListener) == identifier; |
| } |
| @@ -112,6 +122,12 @@ bool BrowserPluginBindingsHasMethod(NPObject* np_obj, NPIdentifier name) { |
| if (IdentifierIsRemoveEventListener(name)) |
| return true; |
| + if (IdentifierIsStop(name)) |
| + return true; |
| + |
| + if (IdentifierIsReload(name)) |
| + return true; |
| + |
| return false; |
| } |
| @@ -154,6 +170,16 @@ bool BrowserPluginBindingsInvoke(NPObject* np_obj, NPIdentifier name, |
| return bindings->instance()->RemoveEventListener(event_name, function); |
| } |
| + if (IdentifierIsStop(name) && !arg_count) { |
| + bindings->instance()->Stop(); |
| + return true; |
| + } |
| + |
| + if (IdentifierIsReload(name) && !arg_count) { |
| + bindings->instance()->Reload(); |
| + return true; |
| + } |
| + |
| return false; |
| } |