| 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 56230a5f84c9e7f7ef3bf6cb3b953080c147fae1..afb0556a27f35540af3215421dd71dc304f61857 100644
|
| --- a/content/renderer/browser_plugin/browser_plugin_bindings.cc
|
| +++ b/content/renderer/browser_plugin/browser_plugin_bindings.cc
|
| @@ -39,6 +39,8 @@ namespace {
|
|
|
| const char kAddEventListener[] = "addEventListener";
|
| const char kBackMethod[] = "back";
|
| +const char kCanGoBack[] = "canGoBack";
|
| +const char kCanGoForward[] = "canGoForward";
|
| const char kForwardMethod[] = "forward";
|
| const char kGetProcessId[] = "getProcessId";
|
| const char kGoMethod[] = "go";
|
| @@ -62,6 +64,14 @@ bool IdentifierIsBackMethod(NPIdentifier identifier) {
|
| return WebBindings::getStringIdentifier(kBackMethod) == identifier;
|
| }
|
|
|
| +bool IdentifierIsCanGoBack(NPIdentifier identifier) {
|
| + return WebBindings::getStringIdentifier(kCanGoBack) == identifier;
|
| +}
|
| +
|
| +bool IdentifierIsCanGoForward(NPIdentifier identifier) {
|
| + return WebBindings::getStringIdentifier(kCanGoForward) == identifier;
|
| +}
|
| +
|
| bool IdentifierIsForwardMethod(NPIdentifier identifier) {
|
| return WebBindings::getStringIdentifier(kForwardMethod) == identifier;
|
| }
|
| @@ -151,6 +161,12 @@ bool BrowserPluginBindingsHasMethod(NPObject* np_obj, NPIdentifier name) {
|
| if (IdentifierIsBackMethod(name))
|
| return true;
|
|
|
| + if (IdentifierIsCanGoBack(name))
|
| + return true;
|
| +
|
| + if (IdentifierIsCanGoForward(name))
|
| + return true;
|
| +
|
| if (IdentifierIsForwardMethod(name))
|
| return true;
|
|
|
| @@ -207,6 +223,18 @@ bool BrowserPluginBindingsInvoke(NPObject* np_obj, NPIdentifier name,
|
| return true;
|
| }
|
|
|
| + if (IdentifierIsCanGoBack(name) && !arg_count) {
|
| + result->type = NPVariantType_Bool;
|
| + result->value.boolValue = bindings->instance()->CanGoBack();
|
| + return true;
|
| + }
|
| +
|
| + if (IdentifierIsCanGoForward(name) && !arg_count) {
|
| + result->type = NPVariantType_Bool;
|
| + result->value.boolValue = bindings->instance()->CanGoForward();
|
| + return true;
|
| + }
|
| +
|
| if (IdentifierIsForwardMethod(name) && !arg_count) {
|
| bindings->instance()->Forward();
|
| return true;
|
|
|