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 0479550c5779355c2fabfea2a3b42bcb8fb9cc2c..aaa7ba97310e32e78c369a0defb5d8e7196cb84a 100644 |
--- a/content/renderer/browser_plugin/browser_plugin_bindings.cc |
+++ b/content/renderer/browser_plugin/browser_plugin_bindings.cc |
@@ -39,6 +39,7 @@ namespace content { |
namespace { |
const char kAddEventListener[] = "addEventListener"; |
+const char kGetProcessId[] = "getProcessId"; |
const char kReloadMethod[] = "reload"; |
const char kRemoveEventListener[] = "removeEventListener"; |
const char kSrcAttribute[] = "src"; |
@@ -65,6 +66,10 @@ bool IdentifierIsRemoveEventListener(NPIdentifier identifier) { |
return WebBindings::getStringIdentifier(kRemoveEventListener) == identifier; |
} |
+bool IdentifierIsGetProcessID(NPIdentifier identifier) { |
+ return WebBindings::getStringIdentifier(kGetProcessId) == identifier; |
+} |
+ |
bool IdentifierIsSrcAttribute(NPIdentifier identifier) { |
return WebBindings::getStringIdentifier(kSrcAttribute) == identifier; |
} |
@@ -119,13 +124,16 @@ bool BrowserPluginBindingsHasMethod(NPObject* np_obj, NPIdentifier name) { |
if (IdentifierIsAddEventListener(name)) |
return true; |
- if (IdentifierIsRemoveEventListener(name)) |
+ if (IdentifierIsGetProcessID(name)) |
return true; |
- if (IdentifierIsStop(name)) |
+ if (IdentifierIsReload(name)) |
return true; |
- if (IdentifierIsReload(name)) |
+ if (IdentifierIsRemoveEventListener(name)) |
+ return true; |
+ |
+ if (IdentifierIsStop(name)) |
return true; |
return false; |
@@ -155,6 +163,18 @@ bool BrowserPluginBindingsInvoke(NPObject* np_obj, NPIdentifier name, |
return bindings->instance()->AddEventListener(event_name, function); |
} |
+ if (IdentifierIsGetProcessID(name) && !arg_count) { |
+ int process_id = bindings->instance()->process_id(); |
+ result->type = NPVariantType_Int32; |
+ result->value.intValue = process_id; |
+ return true; |
+ } |
+ |
+ if (IdentifierIsReload(name) && !arg_count) { |
+ bindings->instance()->Reload(); |
+ return true; |
+ } |
+ |
if (IdentifierIsRemoveEventListener(name) && arg_count == 2) { |
std::string event_name = StringFromNPVariant(args[0]); |
if (event_name.empty()) |
@@ -175,11 +195,6 @@ bool BrowserPluginBindingsInvoke(NPObject* np_obj, NPIdentifier name, |
return true; |
} |
- if (IdentifierIsReload(name) && !arg_count) { |
- bindings->instance()->Reload(); |
- return true; |
- } |
- |
return false; |
} |