Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(410)

Unified Diff: content/renderer/browser_plugin/browser_plugin_bindings.cc

Issue 11092023: Browser Plugin: Implement CanGoBack/CanGoForward (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed creis@'s comments Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
« no previous file with comments | « content/renderer/browser_plugin/browser_plugin.cc ('k') | content/renderer/browser_plugin/browser_plugin_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698