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 a9d5bb97b8666511ec7e5ba0ce2ff92c6d0f9437..68a206e1b68c33e9dd9ea897d1ca33599a2c0177 100644 |
--- a/content/renderer/browser_plugin/browser_plugin_bindings.cc |
+++ b/content/renderer/browser_plugin/browser_plugin_bindings.cc |
@@ -47,20 +47,13 @@ const char kReloadMethod[] = "reload"; |
const char kRemoveEventListener[] = "removeEventListener"; |
const char kSrcAttribute[] = "src"; |
const char kStopMethod[] = "stop"; |
+const char kTerminateMethod[] = "terminate"; |
BrowserPluginBindings* GetBindings(NPObject* object) { |
return static_cast<BrowserPluginBindings::BrowserPluginNPObject*>(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; |
} |
@@ -73,24 +66,36 @@ bool IdentifierIsForwardMethod(NPIdentifier identifier) { |
return WebBindings::getStringIdentifier(kForwardMethod) == identifier; |
} |
+bool IdentifierIsGetProcessID(NPIdentifier identifier) { |
+ return WebBindings::getStringIdentifier(kGetProcessId) == identifier; |
+} |
+ |
bool IdentifierIsGoMethod(NPIdentifier identifier) { |
return WebBindings::getStringIdentifier(kGoMethod) == identifier; |
} |
-bool IdentifierIsRemoveEventListener(NPIdentifier identifier) { |
- return WebBindings::getStringIdentifier(kRemoveEventListener) == identifier; |
+bool IdentifierIsPartitionAttribute(NPIdentifier identifier) { |
+ return WebBindings::getStringIdentifier(kPartitionAttribute) == identifier; |
} |
-bool IdentifierIsGetProcessID(NPIdentifier identifier) { |
- return WebBindings::getStringIdentifier(kGetProcessId) == identifier; |
+bool IdentifierIsReload(NPIdentifier identifier) { |
+ return WebBindings::getStringIdentifier(kReloadMethod) == identifier; |
+} |
+ |
+bool IdentifierIsRemoveEventListener(NPIdentifier identifier) { |
+ return WebBindings::getStringIdentifier(kRemoveEventListener) == identifier; |
} |
bool IdentifierIsSrcAttribute(NPIdentifier identifier) { |
return WebBindings::getStringIdentifier(kSrcAttribute) == identifier; |
} |
-bool IdentifierIsPartitionAttribute(NPIdentifier identifier) { |
- return WebBindings::getStringIdentifier(kPartitionAttribute) == identifier; |
+bool IdentifierIsStop(NPIdentifier identifier) { |
+ return WebBindings::getStringIdentifier(kStopMethod) == identifier; |
+} |
+ |
+bool IdentifierIsTerminate(NPIdentifier identifier) { |
+ return WebBindings::getStringIdentifier(kTerminateMethod) == identifier; |
} |
int Int32FromNPVariant(const NPVariant& variant) { |
@@ -164,6 +169,9 @@ bool BrowserPluginBindingsHasMethod(NPObject* np_obj, NPIdentifier name) { |
if (IdentifierIsStop(name)) |
return true; |
+ if (IdentifierIsTerminate(name)) |
+ return true; |
+ |
return false; |
} |
@@ -238,6 +246,10 @@ bool BrowserPluginBindingsInvoke(NPObject* np_obj, NPIdentifier name, |
return true; |
} |
+ if (IdentifierIsTerminate(name)) { |
+ bindings->instance()->TerminateGuest(); |
+ } |
+ |
return false; |
} |